@pie-element/categorize 7.7.2-beta.1 → 7.7.2-beta.4

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 (60) hide show
  1. package/configure/lib/defaults.js +113 -0
  2. package/configure/lib/defaults.js.map +1 -0
  3. package/configure/lib/design/builder.js +62 -0
  4. package/configure/lib/design/builder.js.map +1 -0
  5. package/configure/lib/design/buttons.js +105 -0
  6. package/configure/lib/design/buttons.js.map +1 -0
  7. package/configure/lib/design/categories/RowLabel.js +61 -0
  8. package/configure/lib/design/categories/RowLabel.js.map +1 -0
  9. package/configure/lib/design/categories/alternateResponses.js +242 -0
  10. package/configure/lib/design/categories/alternateResponses.js.map +1 -0
  11. package/configure/lib/design/categories/category.js +175 -0
  12. package/configure/lib/design/categories/category.js.map +1 -0
  13. package/configure/lib/design/categories/choice-preview.js +98 -0
  14. package/configure/lib/design/categories/choice-preview.js.map +1 -0
  15. package/configure/lib/design/categories/droppable-placeholder.js +155 -0
  16. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -0
  17. package/configure/lib/design/categories/index.js +338 -0
  18. package/configure/lib/design/categories/index.js.map +1 -0
  19. package/configure/lib/design/choices/choice.js +243 -0
  20. package/configure/lib/design/choices/choice.js.map +1 -0
  21. package/configure/lib/design/choices/config.js +113 -0
  22. package/configure/lib/design/choices/config.js.map +1 -0
  23. package/configure/lib/design/choices/index.js +234 -0
  24. package/configure/lib/design/choices/index.js.map +1 -0
  25. package/configure/lib/design/header.js +83 -0
  26. package/configure/lib/design/header.js.map +1 -0
  27. package/configure/lib/design/index.js +430 -0
  28. package/configure/lib/design/index.js.map +1 -0
  29. package/configure/lib/design/input-header.js +138 -0
  30. package/configure/lib/design/input-header.js.map +1 -0
  31. package/configure/lib/index.js +115 -0
  32. package/configure/lib/index.js.map +1 -0
  33. package/configure/lib/main.js +72 -0
  34. package/configure/lib/main.js.map +1 -0
  35. package/configure/lib/utils.js +25 -0
  36. package/configure/lib/utils.js.map +1 -0
  37. package/configure/package.json +2 -2
  38. package/controller/lib/defaults.js +29 -0
  39. package/controller/lib/defaults.js.map +1 -0
  40. package/controller/lib/index.js +363 -0
  41. package/controller/lib/index.js.map +1 -0
  42. package/controller/lib/utils.js +49 -0
  43. package/controller/lib/utils.js.map +1 -0
  44. package/lib/categorize/categories.js +141 -0
  45. package/lib/categorize/categories.js.map +1 -0
  46. package/lib/categorize/category.js +106 -0
  47. package/lib/categorize/category.js.map +1 -0
  48. package/lib/categorize/choice.js +189 -0
  49. package/lib/categorize/choice.js.map +1 -0
  50. package/lib/categorize/choices.js +131 -0
  51. package/lib/categorize/choices.js.map +1 -0
  52. package/lib/categorize/droppable-placeholder.js +86 -0
  53. package/lib/categorize/droppable-placeholder.js.map +1 -0
  54. package/lib/categorize/grid-content.js +78 -0
  55. package/lib/categorize/grid-content.js.map +1 -0
  56. package/lib/categorize/index.js +275 -0
  57. package/lib/categorize/index.js.map +1 -0
  58. package/lib/index.js +87 -0
  59. package/lib/index.js.map +1 -0
  60. package/package.json +2 -2
@@ -0,0 +1,113 @@
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 = {
9
+ model: {
10
+ choices: [],
11
+ choicesPosition: 'below',
12
+ choicesLabel: '',
13
+ lockChoiceOrder: true,
14
+ allowMultiplePlacementsEnabled: _utils.multiplePlacements.enabled,
15
+ allowAlternateEnabled: false,
16
+ categoriesPerRow: 2,
17
+ categories: [],
18
+ alternates: [],
19
+ correctResponse: [],
20
+ rowLabels: [''],
21
+ partialScoring: true,
22
+ feedbackEnabled: true,
23
+ rationaleEnabled: true,
24
+ promptEnabled: true,
25
+ teacherInstructionsEnabled: true,
26
+ studentInstructionsEnabled: true,
27
+ toolbarEditorPosition: 'bottom'
28
+ },
29
+ configuration: {
30
+ spellCheck: {
31
+ label: 'Spellcheck',
32
+ settings: false,
33
+ enabled: true
34
+ },
35
+ feedback: {
36
+ settings: true,
37
+ label: 'Feedback',
38
+ enabled: true
39
+ },
40
+ lockChoiceOrder: {
41
+ settings: true,
42
+ label: 'Lock Choice Order'
43
+ },
44
+ choicesPosition: {
45
+ settings: true,
46
+ label: 'Choices Position'
47
+ },
48
+ allowMultiplePlacements: {
49
+ settings: true,
50
+ label: 'Allow Multiple Placements'
51
+ },
52
+ allowAlternate: {
53
+ settings: true,
54
+ label: 'Allow Alternate Correct Answers'
55
+ },
56
+ categoriesPerRow: {
57
+ settings: true,
58
+ label: 'Categories per row'
59
+ },
60
+ partialScoring: {
61
+ settings: false,
62
+ label: 'Allow Partial Scoring'
63
+ },
64
+ prompt: {
65
+ settings: true,
66
+ label: 'Prompt'
67
+ },
68
+ rationale: {
69
+ settings: true,
70
+ label: 'Rationale'
71
+ },
72
+ scoringType: {
73
+ settings: false,
74
+ label: 'Scoring Type'
75
+ },
76
+ settingsPanelDisabled: false,
77
+ studentInstructions: {
78
+ settings: false,
79
+ label: 'Student Instructions'
80
+ },
81
+ teacherInstructions: {
82
+ settings: true,
83
+ label: 'Teacher Instructions'
84
+ },
85
+ toolbarEditorPosition: {
86
+ settings: false,
87
+ label: 'Toolbar Editor Position'
88
+ },
89
+ maxImageWidth: {
90
+ teacherInstructions: 300,
91
+ prompt: 300,
92
+ rationale: 300,
93
+ rowLabel: 200,
94
+ categoryLabel: 260,
95
+ choices: 240
96
+ },
97
+ maxImageHeight: {
98
+ teacherInstructions: 300,
99
+ prompt: 300,
100
+ rationale: 300,
101
+ rowLabel: 100,
102
+ categoryLabel: 100,
103
+ choices: 150
104
+ },
105
+ withRubric: {
106
+ settings: false,
107
+ label: 'Add Rubric'
108
+ },
109
+ minCategoriesPerRow: 1
110
+ }
111
+ };
112
+ exports["default"] = _default;
113
+ //# sourceMappingURL=defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"defaults.js","names":["_utils","require","_default","model","choices","choicesPosition","choicesLabel","lockChoiceOrder","allowMultiplePlacementsEnabled","multiplePlacements","enabled","allowAlternateEnabled","categoriesPerRow","categories","alternates","correctResponse","rowLabels","partialScoring","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","configuration","spellCheck","label","settings","feedback","allowMultiplePlacements","allowAlternate","prompt","rationale","scoringType","settingsPanelDisabled","studentInstructions","teacherInstructions","maxImageWidth","rowLabel","categoryLabel","maxImageHeight","withRubric","minCategoriesPerRow","exports"],"sources":["../src/defaults.js"],"sourcesContent":["import { multiplePlacements } from './utils';\n\nexport default {\n model: {\n choices: [],\n choicesPosition: 'below',\n choicesLabel: '',\n lockChoiceOrder: true,\n allowMultiplePlacementsEnabled: multiplePlacements.enabled,\n allowAlternateEnabled: false,\n categoriesPerRow: 2,\n categories: [],\n alternates: [],\n correctResponse: [],\n rowLabels: [''],\n partialScoring: true,\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n },\n configuration: {\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 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 },\n rationale: {\n settings: true,\n label: 'Rationale',\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 },\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 },\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAA6C,IAAAC,QAAA,GAE9B;EACbC,KAAK,EAAE;IACLC,OAAO,EAAE,EAAE;IACXC,eAAe,EAAE,OAAO;IACxBC,YAAY,EAAE,EAAE;IAChBC,eAAe,EAAE,IAAI;IACrBC,8BAA8B,EAAEC,yBAAkB,CAACC,OAAO;IAC1DC,qBAAqB,EAAE,KAAK;IAC5BC,gBAAgB,EAAE,CAAC;IACnBC,UAAU,EAAE,EAAE;IACdC,UAAU,EAAE,EAAE;IACdC,eAAe,EAAE,EAAE;IACnBC,SAAS,EAAE,CAAC,EAAE,CAAC;IACfC,cAAc,EAAE,IAAI;IACpBC,eAAe,EAAE,IAAI;IACrBC,gBAAgB,EAAE,IAAI;IACtBC,aAAa,EAAE,IAAI;IACnBC,0BAA0B,EAAE,IAAI;IAChCC,0BAA0B,EAAE,IAAI;IAChCC,qBAAqB,EAAE;EACzB,CAAC;EACDC,aAAa,EAAE;IACbC,UAAU,EAAE;MACVC,KAAK,EAAE,YAAY;MACnBC,QAAQ,EAAE,KAAK;MACfjB,OAAO,EAAE;IACX,CAAC;IACDkB,QAAQ,EAAE;MACRD,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE,UAAU;MACjBhB,OAAO,EAAE;IACX,CAAC;IACDH,eAAe,EAAE;MACfoB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDrB,eAAe,EAAE;MACfsB,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDG,uBAAuB,EAAE;MACvBF,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDI,cAAc,EAAE;MACdH,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDd,gBAAgB,EAAE;MAChBe,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDT,cAAc,EAAE;MACdU,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDK,MAAM,EAAE;MACNJ,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDM,SAAS,EAAE;MACTL,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDO,WAAW,EAAE;MACXN,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDQ,qBAAqB,EAAE,KAAK;IAC5BC,mBAAmB,EAAE;MACnBR,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDU,mBAAmB,EAAE;MACnBT,QAAQ,EAAE,IAAI;MACdD,KAAK,EAAE;IACT,CAAC;IACDH,qBAAqB,EAAE;MACrBI,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDW,aAAa,EAAE;MACbD,mBAAmB,EAAE,GAAG;MACxBL,MAAM,EAAE,GAAG;MACXC,SAAS,EAAE,GAAG;MACdM,QAAQ,EAAE,GAAG;MACbC,aAAa,EAAE,GAAG;MAClBnC,OAAO,EAAE;IACX,CAAC;IACDoC,cAAc,EAAE;MACdJ,mBAAmB,EAAE,GAAG;MACxBL,MAAM,EAAE,GAAG;MACXC,SAAS,EAAE,GAAG;MACdM,QAAQ,EAAE,GAAG;MACbC,aAAa,EAAE,GAAG;MAClBnC,OAAO,EAAE;IACX,CAAC;IACDqC,UAAU,EAAE;MACVd,QAAQ,EAAE,KAAK;MACfD,KAAK,EAAE;IACT,CAAC;IACDgB,mBAAmB,EAAE;EACvB;AACF,CAAC;AAAAC,OAAA,cAAAzC,QAAA"}
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.buildCategories = exports.buildAlternateResponses = void 0;
8
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
9
+ var buildCategories = function buildCategories(categories, choices, correctResponse) {
10
+ var clonedCategories = (0, _cloneDeep["default"])(categories);
11
+ return clonedCategories.map(function (category) {
12
+ var cr = correctResponse.find(function (cr) {
13
+ return cr.category === category.id;
14
+ });
15
+ if (cr) {
16
+ category.choices = (cr.choices || []).map(function (choiceId) {
17
+ var choice = choices.find(function (h) {
18
+ return h.id === choiceId;
19
+ });
20
+ if (choice) {
21
+ return Object.assign({}, {
22
+ id: choice.id,
23
+ content: choice.content
24
+ });
25
+ }
26
+ });
27
+ }
28
+ return category;
29
+ });
30
+ };
31
+ exports.buildCategories = buildCategories;
32
+ var getChoices = function getChoices(cat, choices, index) {
33
+ if (!cat.alternateResponses || cat.alternateResponses.length === 0) {
34
+ return [];
35
+ }
36
+ return (cat.alternateResponses[index] || []).map(function (alt) {
37
+ return choices.find(function (ch) {
38
+ return ch.id === alt;
39
+ });
40
+ });
41
+ };
42
+ var buildAlternateResponses = function buildAlternateResponses(categories, choices, correctResponse) {
43
+ var mostAlternates = correctResponse.reduce(function (mostAlt, cat) {
44
+ if (cat.alternateResponses && cat.alternateResponses.length >= mostAlt) {
45
+ return cat.alternateResponses.length;
46
+ }
47
+ return mostAlt;
48
+ }, 0);
49
+ var alternatesArray = new Array(mostAlternates).fill(0);
50
+ return alternatesArray.map(function (val, index) {
51
+ return correctResponse.map(function (cat, catIndex) {
52
+ var currentCategory = categories[catIndex];
53
+ return {
54
+ id: currentCategory.id,
55
+ label: currentCategory.label,
56
+ choices: getChoices(cat, choices, index)
57
+ };
58
+ });
59
+ });
60
+ };
61
+ exports.buildAlternateResponses = buildAlternateResponses;
62
+ //# sourceMappingURL=builder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"builder.js","names":["_cloneDeep","_interopRequireDefault","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/cloneDeep';\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,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEO,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,UAAU,EAAEC,OAAO,EAAEC,eAAe,EAAK;EACvE,IAAMC,gBAAgB,GAAG,IAAAC,qBAAS,EAACJ,UAAU,CAAC;EAE9C,OAAOG,gBAAgB,CAACE,GAAG,CAAC,UAACC,QAAQ,EAAK;IACxC,IAAMC,EAAE,GAAGL,eAAe,CAACM,IAAI,CAAC,UAACD,EAAE;MAAA,OAAKA,EAAE,CAACD,QAAQ,KAAKA,QAAQ,CAACG,EAAE;IAAA,EAAC;IAEpE,IAAIF,EAAE,EAAE;MACND,QAAQ,CAACL,OAAO,GAAG,CAACM,EAAE,CAACN,OAAO,IAAI,EAAE,EAAEI,GAAG,CAAC,UAACK,QAAQ,EAAK;QACtD,IAAMC,MAAM,GAAGV,OAAO,CAACO,IAAI,CAAC,UAACI,CAAC;UAAA,OAAKA,CAAC,CAACH,EAAE,KAAKC,QAAQ;QAAA,EAAC;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,IAAMkB,UAAU,GAAG,SAAbA,UAAUA,CAAIC,GAAG,EAAEjB,OAAO,EAAEkB,KAAK,EAAK;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,CAAC,UAACiB,GAAG,EAAK;IACxD,OAAOrB,OAAO,CAACO,IAAI,CAAC,UAACe,EAAE;MAAA,OAAKA,EAAE,CAACd,EAAE,KAAKa,GAAG;IAAA,EAAC;EAC5C,CAAC,CAAC;AACJ,CAAC;AAEM,IAAME,uBAAuB,GAAG,SAA1BA,uBAAuBA,CAAIxB,UAAU,EAAEC,OAAO,EAAEC,eAAe,EAAK;EAC/E,IAAMuB,cAAc,GAAGvB,eAAe,CAACwB,MAAM,CAAC,UAACC,OAAO,EAAET,GAAG,EAAK;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,IAAMC,eAAe,GAAG,IAAIC,KAAK,CAACJ,cAAc,CAAC,CAACK,IAAI,CAAC,CAAC,CAAC;EAEzD,OAAOF,eAAe,CAACvB,GAAG,CAAC,UAAC0B,GAAG,EAAEZ,KAAK,EAAK;IACzC,OAAOjB,eAAe,CAACG,GAAG,CAAC,UAACa,GAAG,EAAEc,QAAQ,EAAK;MAC5C,IAAMC,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"}
@@ -0,0 +1,105 @@
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.Divider = exports.DeleteButton = exports.AddButton = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
11
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
12
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
13
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
14
+ var _react = _interopRequireDefault(require("react"));
15
+ var _propTypes = _interopRequireDefault(require("prop-types"));
16
+ var _styles = require("@material-ui/core/styles");
17
+ var _classnames = _interopRequireDefault(require("classnames"));
18
+ var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
19
+ var _Divider = _interopRequireDefault(require("@material-ui/core/Divider"));
20
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
21
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
22
+ var RawAddButton = /*#__PURE__*/function (_React$Component) {
23
+ (0, _inherits2["default"])(RawAddButton, _React$Component);
24
+ var _super = _createSuper(RawAddButton);
25
+ function RawAddButton() {
26
+ (0, _classCallCheck2["default"])(this, RawAddButton);
27
+ return _super.apply(this, arguments);
28
+ }
29
+ (0, _createClass2["default"])(RawAddButton, [{
30
+ key: "render",
31
+ value: function render() {
32
+ var _this$props = this.props,
33
+ classes = _this$props.classes,
34
+ className = _this$props.className,
35
+ label = _this$props.label,
36
+ onClick = _this$props.onClick,
37
+ disabled = _this$props.disabled;
38
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
39
+ onClick: onClick,
40
+ disabled: disabled,
41
+ className: (0, _classnames["default"])(classes.addButton, className),
42
+ size: "small",
43
+ variant: "contained",
44
+ color: "primary"
45
+ }, label);
46
+ }
47
+ }]);
48
+ return RawAddButton;
49
+ }(_react["default"].Component);
50
+ exports.RawAddButton = RawAddButton;
51
+ (0, _defineProperty2["default"])(RawAddButton, "propTypes", {
52
+ classes: _propTypes["default"].object.isRequired,
53
+ className: _propTypes["default"].string,
54
+ label: _propTypes["default"].string,
55
+ onClick: _propTypes["default"].func,
56
+ disabled: _propTypes["default"].bool
57
+ });
58
+ (0, _defineProperty2["default"])(RawAddButton, "defaultProps", {
59
+ label: 'Add'
60
+ });
61
+ var styles = function styles(theme) {
62
+ return {
63
+ addButton: {
64
+ height: theme.spacing.unit * 4
65
+ }
66
+ };
67
+ };
68
+ var AddButton = (0, _styles.withStyles)(styles)(RawAddButton);
69
+ exports.AddButton = AddButton;
70
+ var DeleteButton = (0, _styles.withStyles)(function () {
71
+ return {
72
+ deleteButton: {
73
+ margin: 0,
74
+ padding: 0
75
+ }
76
+ };
77
+ })(function (_ref) {
78
+ var classes = _ref.classes,
79
+ label = _ref.label,
80
+ onClick = _ref.onClick,
81
+ disabled = _ref.disabled;
82
+ return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
83
+ className: classes.deleteButton,
84
+ onClick: onClick,
85
+ size: "small",
86
+ color: "primary",
87
+ disabled: disabled
88
+ }, label);
89
+ });
90
+ exports.DeleteButton = DeleteButton;
91
+ var Divider = (0, _styles.withStyles)(function (theme) {
92
+ return {
93
+ divider: {
94
+ marginTop: 2 * theme.spacing.unit,
95
+ marginBottom: 2 * theme.spacing.unit
96
+ }
97
+ };
98
+ })(function (_ref2) {
99
+ var classes = _ref2.classes;
100
+ return /*#__PURE__*/_react["default"].createElement(_Divider["default"], {
101
+ className: classes.divider
102
+ });
103
+ });
104
+ exports.Divider = Divider;
105
+ //# sourceMappingURL=buttons.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buttons.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_classnames","_Button","_Divider","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","RawAddButton","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","render","_this$props","props","classes","className","label","onClick","disabled","createElement","classNames","addButton","size","variant","color","React","Component","exports","_defineProperty2","PropTypes","object","isRequired","string","func","bool","styles","theme","height","spacing","unit","AddButton","withStyles","DeleteButton","deleteButton","margin","padding","_ref","Divider","divider","marginTop","marginBottom","_ref2"],"sources":["../../src/design/buttons.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Button from '@material-ui/core/Button';\nimport MuiDivider from '@material-ui/core/Divider';\n\nexport class RawAddButton extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\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 { classes, className, label, onClick, disabled } = this.props;\n return (\n <Button\n onClick={onClick}\n disabled={disabled}\n className={classNames(classes.addButton, className)}\n size=\"small\"\n variant=\"contained\"\n color=\"primary\"\n >\n {label}\n </Button>\n );\n }\n}\nconst styles = (theme) => ({\n addButton: {\n height: theme.spacing.unit * 4,\n },\n});\n\nconst AddButton = withStyles(styles)(RawAddButton);\n\nconst DeleteButton = withStyles(() => ({\n deleteButton: {\n margin: 0,\n padding: 0,\n },\n}))(({ classes, label, onClick, disabled }) => (\n <Button className={classes.deleteButton} onClick={onClick} size=\"small\" color=\"primary\" disabled={disabled}>\n {label}\n </Button>\n));\n\nconst Divider = withStyles((theme) => ({\n divider: {\n marginTop: 2 * theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit,\n },\n}))(({ classes }) => <MuiDivider className={classes.divider} />);\n\nexport { AddButton, DeleteButton, Divider };\n"],"mappings":"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"}
@@ -0,0 +1,61 @@
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 _react = _interopRequireDefault(require("react"));
9
+ var _styles = require("@material-ui/core/styles");
10
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
11
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
12
+ var styles = function styles(theme) {
13
+ return {
14
+ rowLabel: {
15
+ gridColumn: '1/3'
16
+ },
17
+ rowLabelHolder: {
18
+ width: '100%'
19
+ }
20
+ };
21
+ };
22
+ var RowLabel = (0, _styles.withStyles)(styles)(function (_ref) {
23
+ var categoriesPerRow = _ref.categoriesPerRow,
24
+ classes = _ref.classes,
25
+ disabled = _ref.disabled,
26
+ markup = _ref.markup,
27
+ imageSupport = _ref.imageSupport,
28
+ onChange = _ref.onChange,
29
+ toolbarOpts = _ref.toolbarOpts,
30
+ spellCheck = _ref.spellCheck,
31
+ maxImageWidth = _ref.maxImageWidth,
32
+ maxImageHeight = _ref.maxImageHeight,
33
+ uploadSoundSupport = _ref.uploadSoundSupport;
34
+ return /*#__PURE__*/_react["default"].createElement("div", {
35
+ style: {
36
+ gridColumn: "1/".concat(categoriesPerRow + 1),
37
+ width: '100%'
38
+ }
39
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
40
+ className: classes.text
41
+ }, "Row Label"), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
42
+ className: classes.rowLabelHolder,
43
+ disabled: disabled,
44
+ markup: markup,
45
+ onChange: onChange,
46
+ imageSupport: imageSupport,
47
+ nonEmpty: false,
48
+ toolbarOpts: toolbarOpts,
49
+ spellCheck: spellCheck,
50
+ maxImageWidth: maxImageWidth,
51
+ maxImageHeight: maxImageHeight,
52
+ uploadSoundSupport: uploadSoundSupport,
53
+ languageCharactersProps: [{
54
+ language: 'spanish'
55
+ }, {
56
+ language: 'special'
57
+ }]
58
+ }));
59
+ });
60
+ exports.RowLabel = RowLabel;
61
+ //# sourceMappingURL=RowLabel.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RowLabel.js","names":["_react","_interopRequireDefault","require","_styles","_Typography","_editableHtml","styles","theme","rowLabel","gridColumn","rowLabelHolder","width","RowLabel","withStyles","_ref","categoriesPerRow","classes","disabled","markup","imageSupport","onChange","toolbarOpts","spellCheck","maxImageWidth","maxImageHeight","uploadSoundSupport","createElement","style","concat","className","text","nonEmpty","languageCharactersProps","language","exports"],"sources":["../../../src/design/categories/RowLabel.jsx"],"sourcesContent":["import React from 'react';\nimport {withStyles} from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport EditableHtml from '@pie-lib/editable-html';\n\nconst styles = (theme) => ({\n rowLabel: {\n gridColumn: '1/3',\n },\n rowLabelHolder: {\n width: '100%',\n },\n});\n\nexport const RowLabel = withStyles(styles)(\n ({\n categoriesPerRow,\n classes,\n disabled,\n markup,\n imageSupport,\n onChange,\n toolbarOpts,\n spellCheck,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n }) => {\n\n return (\n <div\n style={{\n gridColumn: `1/${categoriesPerRow + 1}`,\n width: '100%',\n }}\n >\n <Typography className={classes.text}>Row Label</Typography>\n <EditableHtml\n className={classes.rowLabelHolder}\n disabled={disabled}\n markup={markup}\n onChange={onChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n );\n },\n);\n"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,aAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAEA,IAAMI,MAAM,GAAG,SAATA,MAAMA,CAAIC,KAAK;EAAA,OAAM;IACvBC,QAAQ,EAAE;MACNC,UAAU,EAAE;IAChB,CAAC;IACDC,cAAc,EAAE;MACZC,KAAK,EAAE;IACX;EACJ,CAAC;AAAA,CAAC;AAEK,IAAMC,QAAQ,GAAG,IAAAC,kBAAU,EAACP,MAAM,CAAC,CACtC,UAAAQ,IAAA,EAYO;EAAA,IAXFC,gBAAgB,GAAAD,IAAA,CAAhBC,gBAAgB;IAChBC,OAAO,GAAAF,IAAA,CAAPE,OAAO;IACPC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACNC,YAAY,GAAAL,IAAA,CAAZK,YAAY;IACZC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IACRC,WAAW,GAAAP,IAAA,CAAXO,WAAW;IACXC,UAAU,GAAAR,IAAA,CAAVQ,UAAU;IACVC,aAAa,GAAAT,IAAA,CAAbS,aAAa;IACbC,cAAc,GAAAV,IAAA,CAAdU,cAAc;IACdC,kBAAkB,GAAAX,IAAA,CAAlBW,kBAAkB;EAGnB,oBACIzB,MAAA,YAAA0B,aAAA;IACIC,KAAK,EAAE;MACHlB,UAAU,OAAAmB,MAAA,CAAOb,gBAAgB,GAAG,CAAC,CAAE;MACvCJ,KAAK,EAAE;IACX;EAAE,gBAEFX,MAAA,YAAA0B,aAAA,CAACtB,WAAA,WAAU;IAACyB,SAAS,EAAEb,OAAO,CAACc;EAAK,GAAC,WAAqB,CAAC,eAC3D9B,MAAA,YAAA0B,aAAA,CAACrB,aAAA,WAAY;IACTwB,SAAS,EAAEb,OAAO,CAACN,cAAe;IAClCO,QAAQ,EAAEA,QAAS;IACnBC,MAAM,EAAEA,MAAO;IACfE,QAAQ,EAAEA,QAAS;IACnBD,YAAY,EAAEA,YAAa;IAC3BY,QAAQ,EAAE,KAAM;IAChBV,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBC,aAAa,EAAEA,aAAc;IAC7BC,cAAc,EAAEA,cAAe;IAC/BC,kBAAkB,EAAEA,kBAAmB;IACvCO,uBAAuB,EAAE,CAAC;MAAEC,QAAQ,EAAE;IAAU,CAAC,EAAE;MAAEA,QAAQ,EAAE;IAAU,CAAC;EAAE,CAC/E,CACA,CAAC;AAEd,CACJ,CAAC;AAACC,OAAA,CAAAtB,QAAA,GAAAA,QAAA"}
@@ -0,0 +1,242 @@
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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _react = _interopRequireDefault(require("react"));
16
+ var _propTypes = _interopRequireDefault(require("prop-types"));
17
+ var _styles = require("@material-ui/core/styles");
18
+ var _classnames = _interopRequireDefault(require("classnames"));
19
+ var _category = _interopRequireDefault(require("./category"));
20
+ var _categorize = require("@pie-lib/categorize");
21
+ var _RowLabel = require("./RowLabel");
22
+ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
23
+ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
24
+ var styles = function styles(theme) {
25
+ return {
26
+ categories: {
27
+ marginBottom: theme.spacing.unit
28
+ },
29
+ categoriesHolder: {
30
+ display: 'grid',
31
+ gridRowGap: "".concat(theme.spacing.unit, "px"),
32
+ gridColumnGap: "".concat(theme.spacing.unit, "px")
33
+ },
34
+ row: {
35
+ display: 'grid',
36
+ gridTemplateColumns: 'repeat(2, 1fr)',
37
+ gridColumnGap: "".concat(theme.spacing.unit, "px"),
38
+ alignItems: 'baseline',
39
+ width: '100%',
40
+ marginTop: theme.spacing.unit,
41
+ marginBottom: 2 * theme.spacing.unit
42
+ },
43
+ rowLabel: {
44
+ gridColumn: '1/3'
45
+ },
46
+ rowLabelHolder: {
47
+ width: '100%'
48
+ }
49
+ };
50
+ };
51
+ var AlternateResponses = /*#__PURE__*/function (_React$Component) {
52
+ (0, _inherits2["default"])(AlternateResponses, _React$Component);
53
+ var _super = _createSuper(AlternateResponses);
54
+ function AlternateResponses() {
55
+ var _this;
56
+ (0, _classCallCheck2["default"])(this, AlternateResponses);
57
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
58
+ args[_key] = arguments[_key];
59
+ }
60
+ _this = _super.call.apply(_super, [this].concat(args));
61
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "addChoiceToCategory", function (addedChoice, categoryId) {
62
+ var _this$props = _this.props,
63
+ altIndex = _this$props.altIndex,
64
+ _this$props$model = _this$props.model,
65
+ correctResponse = _this$props$model.correctResponse,
66
+ choices = _this$props$model.choices,
67
+ onModelChanged = _this$props.onModelChanged;
68
+ var choice = choices.find(function (c) {
69
+ return c.id === addedChoice.id;
70
+ });
71
+ correctResponse.forEach(function (a) {
72
+ if (a.category === categoryId) {
73
+ a.alternateResponses = a.alternateResponses || [];
74
+ if (!a.alternateResponses[altIndex]) {
75
+ a.alternateResponses[altIndex] = [];
76
+ }
77
+ a.alternateResponses[altIndex].push(addedChoice.id);
78
+ if (choice.categoryCount && choice.categoryCount !== 0) {
79
+ a.alternateResponses[altIndex] = a.alternateResponses[altIndex].reduce(function (acc, currentValue) {
80
+ if (currentValue === choice.id) {
81
+ var foundIndex = acc.findIndex(function (c) {
82
+ return c === choice.id;
83
+ });
84
+ if (foundIndex === -1) {
85
+ acc.push(currentValue);
86
+ }
87
+ } else {
88
+ acc.push(currentValue);
89
+ }
90
+ return acc;
91
+ }, []);
92
+ }
93
+ return a;
94
+ } else {
95
+ if (a.alternateResponses[altIndex] && choice.categoryCount !== 0) {
96
+ a.alternateResponses[altIndex] = a.alternateResponses[altIndex].filter(function (c) {
97
+ return c !== addedChoice.id;
98
+ });
99
+ return a;
100
+ }
101
+ }
102
+ return a;
103
+ });
104
+ onModelChanged({
105
+ correctResponse: correctResponse
106
+ });
107
+ });
108
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "moveChoice", function (choiceId, from, to, choiceIndex, alternateIndex) {
109
+ var _this$props2 = _this.props,
110
+ model = _this$props2.model,
111
+ onModelChanged = _this$props2.onModelChanged;
112
+ var _ref = model || {},
113
+ choices = _ref.choices,
114
+ _ref$correctResponse = _ref.correctResponse,
115
+ correctResponse = _ref$correctResponse === void 0 ? [] : _ref$correctResponse;
116
+ var choice = (choices || []).find(function (choice) {
117
+ return choice.id === choiceId;
118
+ });
119
+ correctResponse = (0, _categorize.moveChoiceToAlternate)(choiceId, from, to, choiceIndex, correctResponse, alternateIndex, choice === null || choice === void 0 ? void 0 : choice.categoryCount);
120
+ onModelChanged({
121
+ correctResponse: correctResponse
122
+ });
123
+ });
124
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteChoiceFromCategory", function (category, choice) {
125
+ var _this$props3 = _this.props,
126
+ altIndex = _this$props3.altIndex,
127
+ correctResponse = _this$props3.model.correctResponse,
128
+ onModelChanged = _this$props3.onModelChanged;
129
+ correctResponse.forEach(function (a) {
130
+ if (a.category === category.id) {
131
+ if (a.alternateResponses[altIndex]) {
132
+ a.alternateResponses[altIndex] = a.alternateResponses[altIndex].filter(function (altId) {
133
+ return altId !== choice.id;
134
+ });
135
+ }
136
+ }
137
+ return a;
138
+ });
139
+ onModelChanged({
140
+ correctResponse: correctResponse
141
+ });
142
+ });
143
+ return _this;
144
+ }
145
+ (0, _createClass2["default"])(AlternateResponses, [{
146
+ key: "render",
147
+ value: function render() {
148
+ var _this2 = this;
149
+ var _this$props4 = this.props,
150
+ altIndex = _this$props4.altIndex,
151
+ model = _this$props4.model,
152
+ configuration = _this$props4.configuration,
153
+ classes = _this$props4.classes,
154
+ className = _this$props4.className,
155
+ categories = _this$props4.categories,
156
+ imageSupport = _this$props4.imageSupport,
157
+ spellCheck = _this$props4.spellCheck,
158
+ uploadSoundSupport = _this$props4.uploadSoundSupport,
159
+ toolbarOpts = _this$props4.toolbarOpts,
160
+ defaultImageMaxHeight = _this$props4.defaultImageMaxHeight,
161
+ defaultImageMaxWidth = _this$props4.defaultImageMaxWidth;
162
+ var categoriesPerRow = model.categoriesPerRow,
163
+ errors = model.errors,
164
+ rowLabels = model.rowLabels;
165
+ var _ref2 = errors || {},
166
+ duplicateAlternate = _ref2.duplicateAlternate;
167
+ var _ref3 = configuration || {},
168
+ _ref3$maxImageWidth = _ref3.maxImageWidth,
169
+ maxImageWidth = _ref3$maxImageWidth === void 0 ? {} : _ref3$maxImageWidth,
170
+ _ref3$maxImageHeight = _ref3.maxImageHeight,
171
+ maxImageHeight = _ref3$maxImageHeight === void 0 ? {} : _ref3$maxImageHeight;
172
+ var holderStyle = {
173
+ gridTemplateColumns: "repeat(".concat(categoriesPerRow, ", 1fr)")
174
+ };
175
+ var isDuplicated = duplicateAlternate ? duplicateAlternate.index === altIndex : false;
176
+ return /*#__PURE__*/_react["default"].createElement("div", {
177
+ className: (0, _classnames["default"])(classes.categories, className)
178
+ }, /*#__PURE__*/_react["default"].createElement("div", {
179
+ className: classes.categoriesHolder,
180
+ style: holderStyle
181
+ }, categories.map(function (category, index) {
182
+ var hasRowLabel = index % categoriesPerRow === 0;
183
+ var rowIndex = index / categoriesPerRow;
184
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
185
+ key: index
186
+ }, hasRowLabel && /*#__PURE__*/_react["default"].createElement(_RowLabel.RowLabel, {
187
+ categoriesPerRow: categoriesPerRow,
188
+ disabled: true,
189
+ rowIndex: rowIndex,
190
+ markup: rowLabels[rowIndex] || '',
191
+ onChange: function onChange(val) {
192
+ return _this2.changeRowLabel(val, rowIndex);
193
+ },
194
+ imageSupport: imageSupport,
195
+ toolbarOpts: toolbarOpts,
196
+ spellCheck: spellCheck,
197
+ maxImageWidth: maxImageWidth && maxImageWidth.rowLabel || defaultImageMaxWidth,
198
+ maxImageHeight: maxImageHeight && maxImageHeight.rowLabel || defaultImageMaxHeight,
199
+ uploadSoundSupport: uploadSoundSupport
200
+ }), /*#__PURE__*/_react["default"].createElement(_category["default"], {
201
+ key: index,
202
+ alternateResponseIndex: altIndex,
203
+ imageSupport: imageSupport,
204
+ isDuplicated: isDuplicated && duplicateAlternate.category === category.id,
205
+ category: category,
206
+ spellCheck: spellCheck,
207
+ onAddChoice: _this2.addChoiceToCategory,
208
+ onDeleteChoice: function onDeleteChoice(choice, choiceIndex) {
209
+ return _this2.deleteChoiceFromCategory(category, choice, choiceIndex);
210
+ },
211
+ onMoveChoice: function onMoveChoice(choiceId, from, to, choiceIndex, alternateIndex) {
212
+ return _this2.moveChoice(choiceId, from, to, choiceIndex, alternateIndex);
213
+ },
214
+ uploadSoundSupport: uploadSoundSupport
215
+ }));
216
+ })));
217
+ }
218
+ }]);
219
+ return AlternateResponses;
220
+ }(_react["default"].Component);
221
+ exports.AlternateResponses = AlternateResponses;
222
+ (0, _defineProperty2["default"])(AlternateResponses, "propTypes", {
223
+ altIndex: _propTypes["default"].number.isRequired,
224
+ configuration: _propTypes["default"].object,
225
+ imageSupport: _propTypes["default"].shape({
226
+ add: _propTypes["default"].func.isRequired,
227
+ "delete": _propTypes["default"].func.isRequired
228
+ }),
229
+ classes: _propTypes["default"].object.isRequired,
230
+ className: _propTypes["default"].string,
231
+ categories: _propTypes["default"].array,
232
+ onModelChanged: _propTypes["default"].func,
233
+ model: _propTypes["default"].object.isRequired,
234
+ uploadSoundSupport: _propTypes["default"].shape({
235
+ add: _propTypes["default"].func.isRequired,
236
+ "delete": _propTypes["default"].func.isRequired
237
+ }),
238
+ toolbarOpts: _propTypes["default"].object
239
+ });
240
+ var _default = (0, _styles.withStyles)(styles)(AlternateResponses);
241
+ exports["default"] = _default;
242
+ //# sourceMappingURL=alternateResponses.js.map