@pie-element/categorize 11.3.4-next.3 → 12.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/__tests__/main.test.js +100 -0
  4. package/configure/lib/__tests__/utils.js +39 -0
  5. package/configure/lib/defaults.js +3 -6
  6. package/configure/lib/defaults.js.map +1 -1
  7. package/configure/lib/design/__tests__/builder.test.js +34 -0
  8. package/configure/lib/design/__tests__/buttons.test.js +36 -0
  9. package/configure/lib/design/__tests__/header.test.js +37 -0
  10. package/configure/lib/design/__tests__/index.test.js +125 -0
  11. package/configure/lib/design/__tests__/input-header.test.js +41 -0
  12. package/configure/lib/design/builder.js +16 -34
  13. package/configure/lib/design/builder.js.map +1 -1
  14. package/configure/lib/design/buttons.js +42 -96
  15. package/configure/lib/design/buttons.js.map +1 -1
  16. package/configure/lib/design/categories/RowLabel.js +34 -47
  17. package/configure/lib/design/categories/RowLabel.js.map +1 -1
  18. package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
  19. package/configure/lib/design/categories/__tests__/category.test.js +65 -0
  20. package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
  21. package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
  22. package/configure/lib/design/categories/__tests__/index.test.js +91 -0
  23. package/configure/lib/design/categories/alternateResponses.js +97 -252
  24. package/configure/lib/design/categories/alternateResponses.js.map +1 -1
  25. package/configure/lib/design/categories/category.js +136 -209
  26. package/configure/lib/design/categories/category.js.map +1 -1
  27. package/configure/lib/design/categories/choice-preview.js +62 -127
  28. package/configure/lib/design/categories/choice-preview.js.map +1 -1
  29. package/configure/lib/design/categories/droppable-placeholder.js +74 -166
  30. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -1
  31. package/configure/lib/design/categories/index.js +196 -385
  32. package/configure/lib/design/categories/index.js.map +1 -1
  33. package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
  34. package/configure/lib/design/choices/__tests__/config.test.js +66 -0
  35. package/configure/lib/design/choices/__tests__/index.test.js +70 -0
  36. package/configure/lib/design/choices/choice.js +156 -265
  37. package/configure/lib/design/choices/choice.js.map +1 -1
  38. package/configure/lib/design/choices/config.js +43 -99
  39. package/configure/lib/design/choices/config.js.map +1 -1
  40. package/configure/lib/design/choices/index.js +149 -237
  41. package/configure/lib/design/choices/index.js.map +1 -1
  42. package/configure/lib/design/header.js +58 -112
  43. package/configure/lib/design/header.js.map +1 -1
  44. package/configure/lib/design/index.js +633 -478
  45. package/configure/lib/design/index.js.map +1 -1
  46. package/configure/lib/design/input-header.js +95 -151
  47. package/configure/lib/design/input-header.js.map +1 -1
  48. package/configure/lib/design/utils.js +5 -16
  49. package/configure/lib/design/utils.js.map +1 -1
  50. package/configure/lib/index.js +121 -184
  51. package/configure/lib/index.js.map +1 -1
  52. package/configure/lib/main.js +31 -75
  53. package/configure/lib/main.js.map +1 -1
  54. package/configure/lib/utils.js +23 -33
  55. package/configure/lib/utils.js.map +1 -1
  56. package/configure/package.json +15 -15
  57. package/controller/CHANGELOG.md +0 -11
  58. package/controller/lib/__tests__/index.test.js +526 -0
  59. package/controller/lib/defaults.js +3 -6
  60. package/controller/lib/defaults.js.map +1 -1
  61. package/controller/lib/index.js +238 -319
  62. package/controller/lib/index.js.map +1 -1
  63. package/controller/lib/utils.js +29 -66
  64. package/controller/lib/utils.js.map +1 -1
  65. package/controller/package.json +5 -5
  66. package/docs/demo/.pie/.configure/package.json +10 -0
  67. package/docs/demo/.pie/.configure/yarn.lock +2181 -0
  68. package/docs/demo/.pie/.controllers/package.json +10 -0
  69. package/docs/demo/.pie/.controllers/yarn.lock +110 -0
  70. package/docs/demo/.pie/info.entry.js +89 -0
  71. package/docs/demo/.pie/info.webpack.config.js +119 -0
  72. package/docs/demo/.pie/package.json +10 -0
  73. package/docs/demo/.pie/yarn.lock +2190 -0
  74. package/docs/demo/pie.manifest.json +11 -0
  75. package/lib/__tests__/index.test.js +197 -0
  76. package/lib/categorize/__tests__/categories.test.js +138 -0
  77. package/lib/categorize/__tests__/category.test.js +137 -0
  78. package/lib/categorize/__tests__/choice.test.js +88 -0
  79. package/lib/categorize/__tests__/choices.test.js +118 -0
  80. package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
  81. package/lib/categorize/__tests__/grid-content.test.js +48 -0
  82. package/lib/categorize/__tests__/index.test.js +152 -0
  83. package/lib/categorize/categories.js +107 -165
  84. package/lib/categorize/categories.js.map +1 -1
  85. package/lib/categorize/category.js +74 -124
  86. package/lib/categorize/category.js.map +1 -1
  87. package/lib/categorize/choice.js +119 -246
  88. package/lib/categorize/choice.js.map +1 -1
  89. package/lib/categorize/choices.js +67 -132
  90. package/lib/categorize/choices.js.map +1 -1
  91. package/lib/categorize/droppable-placeholder.js +47 -104
  92. package/lib/categorize/droppable-placeholder.js.map +1 -1
  93. package/lib/categorize/grid-content.js +40 -88
  94. package/lib/categorize/grid-content.js.map +1 -1
  95. package/lib/categorize/index.js +342 -318
  96. package/lib/categorize/index.js.map +1 -1
  97. package/lib/index.js +286 -307
  98. package/lib/index.js.map +1 -1
  99. package/package.json +16 -14
  100. package/esm/configure.js +0 -34401
  101. package/esm/configure.js.map +0 -1
  102. package/esm/controller.js +0 -1468
  103. package/esm/controller.js.map +0 -1
  104. package/esm/element.js +0 -13134
  105. package/esm/element.js.map +0 -1
  106. package/esm/package.json +0 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/categories/alternateResponses.jsx"],"names":["styles","theme","categories","marginBottom","spacing","unit","categoriesHolder","display","gridRowGap","gridColumnGap","row","gridTemplateColumns","alignItems","width","marginTop","rowLabel","gridColumn","AlternateResponses","addedChoice","categoryId","props","altIndex","model","correctResponse","choices","maxChoicesPerCategory","onModelChanged","choice","find","c","id","forEach","a","category","alternateResponses","push","categoryCount","reduce","acc","currentValue","foundIndex","findIndex","filter","maxCategoryChoices","choiceId","from","to","choiceIndex","alternateIndex","configuration","classes","className","imageSupport","spellCheck","uploadSoundSupport","mathMlOptions","categoriesPerRow","errors","rowLabels","duplicateAlternate","holderStyle","isDuplicated","index","map","hasRowLabel","rowIndex","__html","addChoiceToCategory","deleteChoiceFromCategory","moveChoice","React","Component","PropTypes","number","isRequired","object","shape","add","func","string","array","bool"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { moveChoiceToAlternate, removeChoiceFromAlternate } from '@pie-lib/categorize';\n\nimport Category from './category';\nimport { getMaxCategoryChoices } from '../../utils';\n\nconst styles = (theme) => ({\n categories: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n categoriesHolder: {\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`,\n },\n row: {\n display: 'grid',\n gridTemplateColumns: 'repeat(2, 1fr)',\n gridColumnGap: `${theme.spacing.unit}px`,\n alignItems: 'baseline',\n width: '100%',\n marginTop: theme.spacing.unit,\n marginBottom: 2 * theme.spacing.unit,\n },\n rowLabel: {\n gridColumn: '1/3',\n },\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 classes: PropTypes.object.isRequired,\n className: PropTypes.string,\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 addChoiceToCategory = (addedChoice, categoryId) => {\n const {\n altIndex,\n model: { correctResponse, choices, maxChoicesPerCategory = 0 },\n onModelChanged,\n } = this.props;\n\n const choice = choices.find((c) => c.id === addedChoice.id);\n\n correctResponse.forEach((a) => {\n if (a.category === categoryId) {\n a.alternateResponses = a.alternateResponses || [];\n\n if (!a.alternateResponses[altIndex]) {\n a.alternateResponses[altIndex] = [];\n }\n\n a.alternateResponses[altIndex].push(addedChoice.id);\n if (choice.categoryCount && choice.categoryCount !== 0) {\n a.alternateResponses[altIndex] = a.alternateResponses[altIndex].reduce((acc, currentValue) => {\n if (currentValue === choice.id) {\n const foundIndex = acc.findIndex((c) => c === choice.id);\n if (foundIndex === -1) {\n acc.push(currentValue);\n }\n } else {\n acc.push(currentValue);\n }\n\n return acc;\n }, []);\n }\n\n return a;\n } else {\n if (a.alternateResponses[altIndex] && choice.categoryCount !== 0) {\n a.alternateResponses[altIndex] = a.alternateResponses[altIndex].filter((c) => c !== addedChoice.id);\n return a;\n }\n }\n\n return a;\n });\n\n const maxCategoryChoices = getMaxCategoryChoices(this.props.model);\n // when maxChoicesPerCategory is set to 0, there is no limit so it should not be updated\n onModelChanged({\n correctResponse,\n maxChoicesPerCategory:\n maxChoicesPerCategory !== 0 && maxChoicesPerCategory < maxCategoryChoices\n ? maxChoicesPerCategory + 1\n : maxChoicesPerCategory,\n });\n };\n\n moveChoice = (choiceId, from, to, choiceIndex, alternateIndex) => {\n const { model, onModelChanged } = this.props;\n let { choices, correctResponse = [], maxChoicesPerCategory = 0 } = model || {};\n const choice = (choices || []).find((choice) => choice.id === choiceId);\n correctResponse = moveChoiceToAlternate(\n choiceId,\n from,\n to,\n choiceIndex,\n correctResponse,\n alternateIndex,\n choice?.categoryCount,\n );\n\n const maxCategoryChoices = getMaxCategoryChoices(this.props.model);\n // when maxChoicesPerCategory is set to 0, there is no limit so it should not be updated\n onModelChanged({\n correctResponse,\n maxChoicesPerCategory:\n maxChoicesPerCategory !== 0 && maxChoicesPerCategory < maxCategoryChoices\n ? maxChoicesPerCategory + 1\n : maxChoicesPerCategory,\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 classes,\n className,\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 <div className={classNames(classes.categories, className)}>\n <div className={classes.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 <div\n style={{\n gridColumn: `1/${categoriesPerRow + 1}`,\n width: '100%',\n }}\n className={classes.rowLabel}\n dangerouslySetInnerHTML={{\n __html: rowLabels[rowIndex] || '',\n }}\n ></div>\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 onAddChoice={this.addChoiceToCategory}\n onDeleteChoice={(choice, choiceIndex) => this.deleteChoiceFromCategory(category, choice, choiceIndex)}\n onMoveChoice={(choiceId, from, to, choiceIndex, alternateIndex) =>\n this.moveChoice(choiceId, from, to, choiceIndex, alternateIndex)\n }\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n configuration={configuration}\n />\n </React.Fragment>\n );\n })}\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(AlternateResponses);\n"],"file":"alternateResponses.js"}
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)}px`,\n gridColumnGap: `${theme.spacing(1)}px`,\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":[]}
@@ -1,228 +1,155 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = exports.Category = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
7
+ exports.default = exports.Category = void 0;
22
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
9
  var _react = _interopRequireDefault(require("react"));
25
-
26
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
33
-
11
+ var _styles = require("@mui/material/styles");
12
+ var _Card = _interopRequireDefault(require("@mui/material/Card"));
13
+ var _CardActions = _interopRequireDefault(require("@mui/material/CardActions"));
34
14
  var _inputHeader = _interopRequireDefault(require("../input-header"));
35
-
36
- var _CardActions = _interopRequireDefault(require("@material-ui/core/CardActions"));
37
-
38
15
  var _buttons = require("../buttons");
39
-
40
16
  var _droppablePlaceholder = _interopRequireDefault(require("./droppable-placeholder"));
41
-
42
- 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); }; }
43
-
44
- 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; } }
45
-
46
- var Category = /*#__PURE__*/function (_React$Component) {
47
- (0, _inherits2["default"])(Category, _React$Component);
48
-
49
- var _super = _createSuper(Category);
50
-
51
- function Category() {
52
- var _this;
53
-
54
- (0, _classCallCheck2["default"])(this, Category);
55
-
56
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
57
- args[_key] = arguments[_key];
58
- }
59
-
60
- _this = _super.call.apply(_super, [this].concat(args));
61
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeLabel", function (l) {
62
- var _this$props = _this.props,
63
- category = _this$props.category,
64
- onChange = _this$props.onChange;
17
+ const StyledCard = (0, _styles.styled)(_Card.default, {
18
+ shouldForwardProp: prop => prop !== 'isDuplicated'
19
+ })(({
20
+ theme,
21
+ isDuplicated
22
+ }) => ({
23
+ minWidth: '196px',
24
+ padding: theme.spacing(1),
25
+ overflow: 'visible',
26
+ ...(isDuplicated && {
27
+ border: '1px solid red'
28
+ })
29
+ }));
30
+ const StyledCardActions = (0, _styles.styled)(_CardActions.default)(({
31
+ theme
32
+ }) => ({
33
+ padding: 0,
34
+ paddingBottom: 0,
35
+ paddingTop: theme.spacing(1)
36
+ }));
37
+ const CategoryHeader = (0, _styles.styled)('div')(({
38
+ theme
39
+ }) => ({
40
+ padding: theme.spacing(2),
41
+ '& p': {
42
+ margin: 0
43
+ }
44
+ }));
45
+ const ErrorText = (0, _styles.styled)('div')(({
46
+ theme
47
+ }) => ({
48
+ fontSize: theme.typography.fontSize - 2,
49
+ color: theme.palette.error.main,
50
+ paddingBottom: theme.spacing(1)
51
+ }));
52
+ class Category extends _react.default.Component {
53
+ constructor(...args) {
54
+ super(...args);
55
+ (0, _defineProperty2.default)(this, "changeLabel", l => {
56
+ const {
57
+ category,
58
+ onChange
59
+ } = this.props;
65
60
  category.label = l;
66
61
  onChange(category);
67
62
  });
68
- return _this;
69
63
  }
70
-
71
- (0, _createClass2["default"])(Category, [{
72
- key: "render",
73
- value: function render() {
74
- var _this$props2 = this.props,
75
- alternateResponseIndex = _this$props2.alternateResponseIndex,
76
- category = _this$props2.category,
77
- classes = _this$props2.classes,
78
- className = _this$props2.className,
79
- configuration = _this$props2.configuration,
80
- deleteFocusedEl = _this$props2.deleteFocusedEl,
81
- focusedEl = _this$props2.focusedEl,
82
- index = _this$props2.index,
83
- error = _this$props2.error,
84
- isDuplicated = _this$props2.isDuplicated,
85
- onDelete = _this$props2.onDelete,
86
- onDeleteChoice = _this$props2.onDeleteChoice,
87
- onAddChoice = _this$props2.onAddChoice,
88
- onMoveChoice = _this$props2.onMoveChoice,
89
- imageSupport = _this$props2.imageSupport,
90
- spellCheck = _this$props2.spellCheck,
91
- toolbarOpts = _this$props2.toolbarOpts,
92
- maxImageWidth = _this$props2.maxImageWidth,
93
- maxImageHeight = _this$props2.maxImageHeight,
94
- uploadSoundSupport = _this$props2.uploadSoundSupport,
95
- _this$props2$mathMlOp = _this$props2.mathMlOptions,
96
- mathMlOptions = _this$props2$mathMlOp === void 0 ? {} : _this$props2$mathMlOp;
97
- var isCategoryHeaderDisabled = !!alternateResponseIndex || alternateResponseIndex === 0;
98
- return /*#__PURE__*/_react["default"].createElement(_Card["default"], {
99
- className: (0, _classnames["default"])(classes.category, className, (0, _defineProperty2["default"])({}, classes.duplicateError, isDuplicated))
100
- }, /*#__PURE__*/_react["default"].createElement("span", null, !isCategoryHeaderDisabled ? /*#__PURE__*/_react["default"].createElement(_inputHeader["default"], {
101
- label: category.label,
102
- focusedEl: focusedEl,
103
- deleteFocusedEl: deleteFocusedEl,
104
- index: index,
105
- disabled: !!alternateResponseIndex || alternateResponseIndex === 0,
106
- error: error,
107
- onChange: this.changeLabel,
108
- onDelete: onDelete,
109
- imageSupport: imageSupport,
110
- toolbarOpts: toolbarOpts,
111
- spellCheck: spellCheck,
112
- maxImageWidth: maxImageWidth,
113
- maxImageHeight: maxImageHeight,
114
- uploadSoundSupport: uploadSoundSupport,
115
- mathMlOptions: mathMlOptions,
116
- configuration: configuration
117
- }) : /*#__PURE__*/_react["default"].createElement("div", {
118
- className: classes.categoryHeader,
119
- dangerouslySetInnerHTML: {
120
- __html: category.label
121
- }
122
- }), error && /*#__PURE__*/_react["default"].createElement("div", {
123
- className: classes.errorText
124
- }, error)), /*#__PURE__*/_react["default"].createElement(_droppablePlaceholder["default"], {
125
- className: classes.placeHolder,
126
- alternateResponseIndex: alternateResponseIndex,
127
- category: category,
128
- choices: category.choices,
129
- onDeleteChoice: onDeleteChoice,
130
- onDropChoice: onAddChoice,
131
- onMoveChoice: onMoveChoice,
132
- categoryId: category.id
133
- }), onDelete && /*#__PURE__*/_react["default"].createElement(_CardActions["default"], {
134
- className: classes.actions
135
- }, /*#__PURE__*/_react["default"].createElement(_buttons.DeleteButton, {
136
- label: 'delete',
137
- onClick: onDelete
138
- })));
139
- }
140
- }]);
141
- return Category;
142
- }(_react["default"].Component);
143
-
64
+ render() {
65
+ const {
66
+ alternateResponseIndex,
67
+ category,
68
+ configuration,
69
+ deleteFocusedEl,
70
+ focusedEl,
71
+ index,
72
+ error,
73
+ isDuplicated,
74
+ onDelete,
75
+ onDeleteChoice,
76
+ imageSupport,
77
+ spellCheck,
78
+ toolbarOpts,
79
+ maxImageWidth,
80
+ maxImageHeight,
81
+ uploadSoundSupport,
82
+ mathMlOptions = {}
83
+ } = this.props;
84
+ const isCategoryHeaderDisabled = !!alternateResponseIndex || alternateResponseIndex === 0;
85
+ return /*#__PURE__*/_react.default.createElement(StyledCard, {
86
+ isDuplicated: isDuplicated
87
+ }, /*#__PURE__*/_react.default.createElement("span", null, !isCategoryHeaderDisabled ? /*#__PURE__*/_react.default.createElement(_inputHeader.default, {
88
+ label: category.label,
89
+ focusedEl: focusedEl,
90
+ deleteFocusedEl: deleteFocusedEl,
91
+ index: index,
92
+ disabled: !!alternateResponseIndex || alternateResponseIndex === 0,
93
+ error: error,
94
+ onChange: this.changeLabel,
95
+ onDelete: onDelete,
96
+ imageSupport: imageSupport,
97
+ toolbarOpts: toolbarOpts,
98
+ spellCheck: spellCheck,
99
+ maxImageWidth: maxImageWidth,
100
+ maxImageHeight: maxImageHeight,
101
+ uploadSoundSupport: uploadSoundSupport,
102
+ mathMlOptions: mathMlOptions,
103
+ configuration: configuration
104
+ }) : /*#__PURE__*/_react.default.createElement(CategoryHeader, {
105
+ dangerouslySetInnerHTML: {
106
+ __html: category.label
107
+ }
108
+ }), error && /*#__PURE__*/_react.default.createElement(ErrorText, null, error)), /*#__PURE__*/_react.default.createElement(_droppablePlaceholder.default, {
109
+ alternateResponseIndex: alternateResponseIndex,
110
+ category: category,
111
+ choices: category.choices,
112
+ onDeleteChoice: onDeleteChoice,
113
+ categoryId: category.id,
114
+ extraStyles: {
115
+ minHeight: '100px'
116
+ },
117
+ isAlternate: this.props.isAlternate
118
+ }), onDelete && /*#__PURE__*/_react.default.createElement(StyledCardActions, null, /*#__PURE__*/_react.default.createElement(_buttons.DeleteButton, {
119
+ label: 'delete',
120
+ onClick: onDelete
121
+ })));
122
+ }
123
+ }
144
124
  exports.Category = Category;
145
- (0, _defineProperty2["default"])(Category, "propTypes", {
146
- alternateResponseIndex: _propTypes["default"].number,
147
- classes: _propTypes["default"].object.isRequired,
148
- className: _propTypes["default"].string,
149
- category: _propTypes["default"].object.isRequired,
150
- configuration: _propTypes["default"].object.isRequired,
151
- defaultImageMaxHeight: _propTypes["default"].number,
152
- defaultImageMaxWidth: _propTypes["default"].number,
153
- deleteFocusedEl: _propTypes["default"].func,
154
- focusedEl: _propTypes["default"].number,
155
- index: _propTypes["default"].number,
156
- error: _propTypes["default"].string,
157
- isDuplicated: _propTypes["default"].bool,
158
- maxImageWidth: _propTypes["default"].object,
159
- maxImageHeight: _propTypes["default"].object,
160
- onChange: _propTypes["default"].func,
161
- onDelete: _propTypes["default"].func,
162
- onDeleteChoice: _propTypes["default"].func,
163
- onAddChoice: _propTypes["default"].func,
164
- onMoveChoice: _propTypes["default"].func,
165
- imageSupport: _propTypes["default"].shape({
166
- add: _propTypes["default"].func.isRequired,
167
- "delete": _propTypes["default"].func.isRequired
125
+ (0, _defineProperty2.default)(Category, "propTypes", {
126
+ alternateResponseIndex: _propTypes.default.number,
127
+ category: _propTypes.default.object.isRequired,
128
+ configuration: _propTypes.default.object.isRequired,
129
+ defaultImageMaxHeight: _propTypes.default.number,
130
+ defaultImageMaxWidth: _propTypes.default.number,
131
+ deleteFocusedEl: _propTypes.default.func,
132
+ focusedEl: _propTypes.default.number,
133
+ index: _propTypes.default.number,
134
+ error: _propTypes.default.string,
135
+ isDuplicated: _propTypes.default.bool,
136
+ maxImageWidth: _propTypes.default.object,
137
+ maxImageHeight: _propTypes.default.object,
138
+ onChange: _propTypes.default.func,
139
+ onDelete: _propTypes.default.func,
140
+ onDeleteChoice: _propTypes.default.func,
141
+ imageSupport: _propTypes.default.shape({
142
+ add: _propTypes.default.func.isRequired,
143
+ delete: _propTypes.default.func.isRequired
168
144
  }),
169
- toolbarOpts: _propTypes["default"].object,
170
- spellCheck: _propTypes["default"].bool,
171
- uploadSoundSupport: _propTypes["default"].shape({
172
- add: _propTypes["default"].func.isRequired,
173
- "delete": _propTypes["default"].func.isRequired
174
- })
145
+ toolbarOpts: _propTypes.default.object,
146
+ spellCheck: _propTypes.default.bool,
147
+ uploadSoundSupport: _propTypes.default.shape({
148
+ add: _propTypes.default.func.isRequired,
149
+ delete: _propTypes.default.func.isRequired
150
+ }),
151
+ isAlternate: _propTypes.default.bool
175
152
  });
176
- (0, _defineProperty2["default"])(Category, "defaultProps", {});
177
-
178
- var styles = function styles(theme) {
179
- return {
180
- placeHolder: {
181
- minHeight: '100px'
182
- },
183
- deleteButton: {
184
- margin: 0
185
- },
186
- actions: {
187
- padding: 0,
188
- paddingBottom: 0,
189
- paddingTop: theme.spacing.unit
190
- },
191
- iconButtonRoot: {
192
- width: 'auto',
193
- height: 'auto'
194
- },
195
- header: {
196
- display: 'flex',
197
- justifyContent: 'space-between'
198
- },
199
- category: {
200
- minWidth: '196px',
201
- padding: theme.spacing.unit,
202
- overflow: 'visible'
203
- },
204
- categoryHeader: {
205
- padding: theme.spacing.unit * 2,
206
- '& p': {
207
- margin: 0
208
- }
209
- },
210
- duplicateError: {
211
- border: '1px solid red'
212
- },
213
- errorText: {
214
- fontSize: theme.typography.fontSize - 2,
215
- color: theme.palette.error.main,
216
- paddingBottom: theme.spacing.unit
217
- },
218
- editor: {
219
- flex: '1',
220
- paddingBottom: theme.spacing.unit * 2
221
- }
222
- };
223
- };
224
-
225
- var _default = (0, _styles.withStyles)(styles)(Category);
226
-
227
- exports["default"] = _default;
228
- //# sourceMappingURL=category.js.map
153
+ (0, _defineProperty2.default)(Category, "defaultProps", {});
154
+ var _default = exports.default = Category;
155
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX0NhcmQiLCJfQ2FyZEFjdGlvbnMiLCJfaW5wdXRIZWFkZXIiLCJfYnV0dG9ucyIsIl9kcm9wcGFibGVQbGFjZWhvbGRlciIsIlN0eWxlZENhcmQiLCJzdHlsZWQiLCJDYXJkIiwic2hvdWxkRm9yd2FyZFByb3AiLCJwcm9wIiwidGhlbWUiLCJpc0R1cGxpY2F0ZWQiLCJtaW5XaWR0aCIsInBhZGRpbmciLCJzcGFjaW5nIiwib3ZlcmZsb3ciLCJib3JkZXIiLCJTdHlsZWRDYXJkQWN0aW9ucyIsIkNhcmRBY3Rpb25zIiwicGFkZGluZ0JvdHRvbSIsInBhZGRpbmdUb3AiLCJDYXRlZ29yeUhlYWRlciIsIm1hcmdpbiIsIkVycm9yVGV4dCIsImZvbnRTaXplIiwidHlwb2dyYXBoeSIsImNvbG9yIiwicGFsZXR0ZSIsImVycm9yIiwibWFpbiIsIkNhdGVnb3J5IiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsImwiLCJjYXRlZ29yeSIsIm9uQ2hhbmdlIiwicHJvcHMiLCJsYWJlbCIsInJlbmRlciIsImFsdGVybmF0ZVJlc3BvbnNlSW5kZXgiLCJjb25maWd1cmF0aW9uIiwiZGVsZXRlRm9jdXNlZEVsIiwiZm9jdXNlZEVsIiwiaW5kZXgiLCJvbkRlbGV0ZSIsIm9uRGVsZXRlQ2hvaWNlIiwiaW1hZ2VTdXBwb3J0Iiwic3BlbGxDaGVjayIsInRvb2xiYXJPcHRzIiwibWF4SW1hZ2VXaWR0aCIsIm1heEltYWdlSGVpZ2h0IiwidXBsb2FkU291bmRTdXBwb3J0IiwibWF0aE1sT3B0aW9ucyIsImlzQ2F0ZWdvcnlIZWFkZXJEaXNhYmxlZCIsImNyZWF0ZUVsZW1lbnQiLCJkaXNhYmxlZCIsImNoYW5nZUxhYmVsIiwiZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUwiLCJfX2h0bWwiLCJjaG9pY2VzIiwiY2F0ZWdvcnlJZCIsImlkIiwiZXh0cmFTdHlsZXMiLCJtaW5IZWlnaHQiLCJpc0FsdGVybmF0ZSIsIkRlbGV0ZUJ1dHRvbiIsIm9uQ2xpY2siLCJleHBvcnRzIiwiUHJvcFR5cGVzIiwibnVtYmVyIiwib2JqZWN0IiwiaXNSZXF1aXJlZCIsImRlZmF1bHRJbWFnZU1heEhlaWdodCIsImRlZmF1bHRJbWFnZU1heFdpZHRoIiwiZnVuYyIsInN0cmluZyIsImJvb2wiLCJzaGFwZSIsImFkZCIsImRlbGV0ZSIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2Rlc2lnbi9jYXRlZ29yaWVzL2NhdGVnb3J5LmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCBDYXJkIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQ2FyZCc7XG5pbXBvcnQgQ2FyZEFjdGlvbnMgZnJvbSAnQG11aS9tYXRlcmlhbC9DYXJkQWN0aW9ucyc7XG5cbmltcG9ydCBJbnB1dEhlYWRlciBmcm9tICcuLi9pbnB1dC1oZWFkZXInO1xuaW1wb3J0IHsgRGVsZXRlQnV0dG9uIH0gZnJvbSAnLi4vYnV0dG9ucyc7XG5pbXBvcnQgUGxhY2VIb2xkZXIgZnJvbSAnLi9kcm9wcGFibGUtcGxhY2Vob2xkZXInO1xuXG5jb25zdCBTdHlsZWRDYXJkID0gc3R5bGVkKENhcmQsIHtcbiAgc2hvdWxkRm9yd2FyZFByb3A6IChwcm9wKSA9PiBwcm9wICE9PSAnaXNEdXBsaWNhdGVkJyxcbn0pKCh7IHRoZW1lLCBpc0R1cGxpY2F0ZWQgfSkgPT4gKHtcbiAgbWluV2lkdGg6ICcxOTZweCcsXG4gIHBhZGRpbmc6IHRoZW1lLnNwYWNpbmcoMSksXG4gIG92ZXJmbG93OiAndmlzaWJsZScsXG4gIC4uLihpc0R1cGxpY2F0ZWQgJiYge1xuICAgIGJvcmRlcjogJzFweCBzb2xpZCByZWQnLFxuICB9KSxcbn0pKTtcblxuY29uc3QgU3R5bGVkQ2FyZEFjdGlvbnMgPSBzdHlsZWQoQ2FyZEFjdGlvbnMpKCh7IHRoZW1lIH0pID0+ICh7XG4gIHBhZGRpbmc6IDAsXG4gIHBhZGRpbmdCb3R0b206IDAsXG4gIHBhZGRpbmdUb3A6IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5cbmNvbnN0IENhdGVnb3J5SGVhZGVyID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBwYWRkaW5nOiB0aGVtZS5zcGFjaW5nKDIpLFxuICAnJiBwJzoge1xuICAgIG1hcmdpbjogMCxcbiAgfSxcbn0pKTtcblxuY29uc3QgRXJyb3JUZXh0ID0gc3R5bGVkKCdkaXYnKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSAtIDIsXG4gIGNvbG9yOiB0aGVtZS5wYWxldHRlLmVycm9yLm1haW4sXG4gIHBhZGRpbmdCb3R0b206IHRoZW1lLnNwYWNpbmcoMSksXG59KSk7XG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgYWx0ZXJuYXRlUmVzcG9uc2VJbmRleDogUHJvcFR5cGVzLm51bWJlcixcbiAgICBjYXRlZ29yeTogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGNvbmZpZ3VyYXRpb246IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBkZWZhdWx0SW1hZ2VNYXhIZWlnaHQ6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZGVmYXVsdEltYWdlTWF4V2lkdGg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZGVsZXRlRm9jdXNlZEVsOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBmb2N1c2VkRWw6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgaW5kZXg6IFByb3BUeXBlcy5udW1iZXIsXG4gICAgZXJyb3I6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgaXNEdXBsaWNhdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBtYXhJbWFnZVdpZHRoOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG1heEltYWdlSGVpZ2h0OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgb25EZWxldGVDaG9pY2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIGltYWdlU3VwcG9ydDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIGFkZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICAgIGRlbGV0ZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB9KSxcbiAgICB0b29sYmFyT3B0czogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBzcGVsbENoZWNrOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB1cGxvYWRTb3VuZFN1cHBvcnQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBhZGQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgICBkZWxldGU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgfSksXG4gICAgaXNBbHRlcm5hdGU6IFByb3BUeXBlcy5ib29sLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7fTtcblxuICBjaGFuZ2VMYWJlbCA9IChsKSA9PiB7XG4gICAgY29uc3QgeyBjYXRlZ29yeSwgb25DaGFuZ2UgfSA9IHRoaXMucHJvcHM7XG4gICAgY2F0ZWdvcnkubGFiZWwgPSBsO1xuICAgIG9uQ2hhbmdlKGNhdGVnb3J5KTtcbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgYWx0ZXJuYXRlUmVzcG9uc2VJbmRleCxcbiAgICAgIGNhdGVnb3J5LFxuICAgICAgY29uZmlndXJhdGlvbixcbiAgICAgIGRlbGV0ZUZvY3VzZWRFbCxcbiAgICAgIGZvY3VzZWRFbCxcbiAgICAgIGluZGV4LFxuICAgICAgZXJyb3IsXG4gICAgICBpc0R1cGxpY2F0ZWQsXG4gICAgICBvbkRlbGV0ZSxcbiAgICAgIG9uRGVsZXRlQ2hvaWNlLFxuICAgICAgaW1hZ2VTdXBwb3J0LFxuICAgICAgc3BlbGxDaGVjayxcbiAgICAgIHRvb2xiYXJPcHRzLFxuICAgICAgbWF4SW1hZ2VXaWR0aCxcbiAgICAgIG1heEltYWdlSGVpZ2h0LFxuICAgICAgdXBsb2FkU291bmRTdXBwb3J0LFxuICAgICAgbWF0aE1sT3B0aW9ucyA9IHt9LFxuICAgIH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGlzQ2F0ZWdvcnlIZWFkZXJEaXNhYmxlZCA9ICEhYWx0ZXJuYXRlUmVzcG9uc2VJbmRleCB8fCBhbHRlcm5hdGVSZXNwb25zZUluZGV4ID09PSAwO1xuICAgIFxuICAgIHJldHVybiAoXG4gICAgICA8U3R5bGVkQ2FyZCBpc0R1cGxpY2F0ZWQ9e2lzRHVwbGljYXRlZH0+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIHshaXNDYXRlZ29yeUhlYWRlckRpc2FibGVkID8gKFxuICAgICAgICAgICAgPElucHV0SGVhZGVyXG4gICAgICAgICAgICAgIGxhYmVsPXtjYXRlZ29yeS5sYWJlbH1cbiAgICAgICAgICAgICAgZm9jdXNlZEVsPXtmb2N1c2VkRWx9XG4gICAgICAgICAgICAgIGRlbGV0ZUZvY3VzZWRFbD17ZGVsZXRlRm9jdXNlZEVsfVxuICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgIGRpc2FibGVkPXshIWFsdGVybmF0ZVJlc3BvbnNlSW5kZXggfHwgYWx0ZXJuYXRlUmVzcG9uc2VJbmRleCA9PT0gMH1cbiAgICAgICAgICAgICAgZXJyb3I9e2Vycm9yfVxuICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy5jaGFuZ2VMYWJlbH1cbiAgICAgICAgICAgICAgb25EZWxldGU9e29uRGVsZXRlfVxuICAgICAgICAgICAgICBpbWFnZVN1cHBvcnQ9e2ltYWdlU3VwcG9ydH1cbiAgICAgICAgICAgICAgdG9vbGJhck9wdHM9e3Rvb2xiYXJPcHRzfVxuICAgICAgICAgICAgICBzcGVsbENoZWNrPXtzcGVsbENoZWNrfVxuICAgICAgICAgICAgICBtYXhJbWFnZVdpZHRoPXttYXhJbWFnZVdpZHRofVxuICAgICAgICAgICAgICBtYXhJbWFnZUhlaWdodD17bWF4SW1hZ2VIZWlnaHR9XG4gICAgICAgICAgICAgIHVwbG9hZFNvdW5kU3VwcG9ydD17dXBsb2FkU291bmRTdXBwb3J0fVxuICAgICAgICAgICAgICBtYXRoTWxPcHRpb25zPXttYXRoTWxPcHRpb25zfVxuICAgICAgICAgICAgICBjb25maWd1cmF0aW9uPXtjb25maWd1cmF0aW9ufVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICApIDogKFxuICAgICAgICAgICAgPENhdGVnb3J5SGVhZGVyXG4gICAgICAgICAgICAgIGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7XG4gICAgICAgICAgICAgICAgX19odG1sOiBjYXRlZ29yeS5sYWJlbCxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKX1cbiAgICAgICAgICB7ZXJyb3IgJiYgPEVycm9yVGV4dD57ZXJyb3J9PC9FcnJvclRleHQ+fVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxQbGFjZUhvbGRlclxuICAgICAgICAgIGFsdGVybmF0ZVJlc3BvbnNlSW5kZXg9e2FsdGVybmF0ZVJlc3BvbnNlSW5kZXh9XG4gICAgICAgICAgY2F0ZWdvcnk9e2NhdGVnb3J5fVxuICAgICAgICAgIGNob2ljZXM9e2NhdGVnb3J5LmNob2ljZXN9XG4gICAgICAgICAgb25EZWxldGVDaG9pY2U9e29uRGVsZXRlQ2hvaWNlfVxuICAgICAgICAgIGNhdGVnb3J5SWQ9e2NhdGVnb3J5LmlkfVxuICAgICAgICAgIGV4dHJhU3R5bGVzPXt7IG1pbkhlaWdodDogJzEwMHB4JywgfX1cbiAgICAgICAgICBpc0FsdGVybmF0ZT17dGhpcy5wcm9wcy5pc0FsdGVybmF0ZX1cbiAgICAgICAgLz5cbiAgICAgICAge29uRGVsZXRlICYmIChcbiAgICAgICAgICA8U3R5bGVkQ2FyZEFjdGlvbnM+XG4gICAgICAgICAgICA8RGVsZXRlQnV0dG9uIGxhYmVsPXsnZGVsZXRlJ30gb25DbGljaz17b25EZWxldGV9IC8+XG4gICAgICAgICAgPC9TdHlsZWRDYXJkQWN0aW9ucz5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkQ2FyZD5cbiAgICApO1xuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IENhdGVnb3J5O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLEtBQUEsR0FBQUosc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFJLFlBQUEsR0FBQUwsc0JBQUEsQ0FBQUMsT0FBQTtBQUVBLElBQUFLLFlBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLFFBQUEsR0FBQU4sT0FBQTtBQUNBLElBQUFPLHFCQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNUSxVQUFVLEdBQUcsSUFBQUMsY0FBTSxFQUFDQyxhQUFJLEVBQUU7RUFDOUJDLGlCQUFpQixFQUFHQyxJQUFJLElBQUtBLElBQUksS0FBSztBQUN4QyxDQUFDLENBQUMsQ0FBQyxDQUFDO0VBQUVDLEtBQUs7RUFBRUM7QUFBYSxDQUFDLE1BQU07RUFDL0JDLFFBQVEsRUFBRSxPQUFPO0VBQ2pCQyxPQUFPLEVBQUVILEtBQUssQ0FBQ0ksT0FBTyxDQUFDLENBQUMsQ0FBQztFQUN6QkMsUUFBUSxFQUFFLFNBQVM7RUFDbkIsSUFBSUosWUFBWSxJQUFJO0lBQ2xCSyxNQUFNLEVBQUU7RUFDVixDQUFDO0FBQ0gsQ0FBQyxDQUFDLENBQUM7QUFFSCxN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QVEsRUFBRWtDLGtCQUFTLENBQUNFLE1BQU0sQ0FBQ0MsVUFBVTtFQUNyQy9CLGFBQWEsRUFBRTRCLGtCQUFTLENBQUNFLE1BQU0sQ0FBQ0MsVUFBVTtFQUMxQ0MscUJBQXFCLEVBQUVKLGtCQUFTLENBQUNDLE1BQU07RUFDdkNJLG9CQUFvQixFQUFFTCxrQkFBUyxDQUFDQyxNQUFNO0VBQ3RDNUIsZUFBZSxFQUFFMkIsa0JBQVMsQ0FBQ00sSUFBSTtFQUMvQmhDLFNBQVMsRUFBRTBCLGtCQUFTLENBQUNDLE1BQU07RUFDM0IxQixLQUFLLEVBQUV5QixrQkFBUyxDQUFDQyxNQUFNO0VBQ3ZCN0MsS0FBSyxFQUFFNEMsa0JBQVMsQ0FBQ08sTUFBTTtFQUN2QnBFLFlBQVksRUFBRTZELGtCQUFTLENBQUNRLElBQUk7RUFDNUIzQixhQUFhLEVBQUVtQixrQkFBUyxDQUFDRSxNQUFNO0VBQy9CcEIsY0FBYyxFQUFFa0Isa0JBQVMsQ0FBQ0UsTUFBTTtFQUNoQ25DLFFBQVEsRUFBRWlDLGtCQUFTLENBQUNNLElBQUk7RUFDeEI5QixRQUFRLEVBQUV3QixrQkFBUyxDQUFDTSxJQUFJO0VBQ3hCN0IsY0FBYyxFQUFFdUIsa0JBQVMsQ0FBQ00sSUFBSTtFQUM5QjVCLFlBQVksRUFBRXNCLGtCQUFTLENBQUNTLEtBQUssQ0FBQztJQUM1QkMsR0FBRyxFQUFFVixrQkFBUyxDQUFDTSxJQUFJLENBQUNILFVBQVU7SUFDOUJRLE1BQU0sRUFBRVgsa0JBQVMsQ0FBQ00sSUFBSSxDQUFDSDtFQUN6QixDQUFDLENBQUM7RUFDRnZCLFdBQVcsRUFBRW9CLGtCQUFTLENBQUNFLE1BQU07RUFDN0J2QixVQUFVLEVBQUVxQixrQkFBUyxDQUFDUSxJQUFJO0VBQzFCekIsa0JBQWtCLEVBQUVpQixrQkFBUyxDQUFDUyxLQUFLLENBQUM7SUFDbENDLEdBQUcsRUFBRVYsa0JBQVMsQ0FBQ00sSUFBSSxDQUFDSCxVQUFVO0lBQzlCUSxNQUFNLEVBQUVYLGtCQUFTLENBQUNNLElBQUksQ0FBQ0g7RUFDekIsQ0FBQyxDQUFDO0VBQ0ZQLFdBQVcsRUFBRUksa0JBQVMsQ0FBQ1E7QUFDekIsQ0FBQztBQUFBLElBQUE3QyxnQkFBQSxDQUFBQyxPQUFBLEVBNUJVTixRQUFRLGtCQThCRyxDQUFDLENBQUM7QUFBQSxJQUFBc0QsUUFBQSxHQUFBYixPQUFBLENBQUFuQyxPQUFBLEdBZ0ZYTixRQUFRIiwiaWdub3JlTGlzdCI6W119
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/categories/category.jsx"],"names":["Category","l","props","category","onChange","label","alternateResponseIndex","classes","className","configuration","deleteFocusedEl","focusedEl","index","error","isDuplicated","onDelete","onDeleteChoice","onAddChoice","onMoveChoice","imageSupport","spellCheck","toolbarOpts","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","isCategoryHeaderDisabled","duplicateError","changeLabel","categoryHeader","__html","errorText","placeHolder","choices","id","actions","React","Component","PropTypes","number","object","isRequired","string","defaultImageMaxHeight","defaultImageMaxWidth","func","bool","shape","add","styles","theme","minHeight","deleteButton","margin","padding","paddingBottom","paddingTop","spacing","unit","iconButtonRoot","width","height","header","display","justifyContent","minWidth","overflow","border","fontSize","typography","color","palette","main","editor","flex"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Card from '@material-ui/core/Card';\nimport InputHeader from '../input-header';\nimport CardActions from '@material-ui/core/CardActions';\nimport { DeleteButton } from '../buttons';\n\nimport PlaceHolder from './droppable-placeholder';\n\nexport class Category extends React.Component {\n static propTypes = {\n alternateResponseIndex: PropTypes.number,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n category: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n defaultImageMaxHeight: PropTypes.number,\n defaultImageMaxWidth: PropTypes.number,\n deleteFocusedEl: PropTypes.func,\n focusedEl: PropTypes.number,\n index: PropTypes.number,\n error: PropTypes.string,\n isDuplicated: PropTypes.bool,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteChoice: PropTypes.func,\n onAddChoice: PropTypes.func,\n onMoveChoice: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n toolbarOpts: PropTypes.object,\n spellCheck: PropTypes.bool,\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n static defaultProps = {};\n\n changeLabel = (l) => {\n const { category, onChange } = this.props;\n category.label = l;\n onChange(category);\n };\n\n render() {\n const {\n alternateResponseIndex,\n category,\n classes,\n className,\n configuration,\n deleteFocusedEl,\n focusedEl,\n index,\n error,\n isDuplicated,\n onDelete,\n onDeleteChoice,\n onAddChoice,\n onMoveChoice,\n imageSupport,\n spellCheck,\n toolbarOpts,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n\n const isCategoryHeaderDisabled = !!alternateResponseIndex || alternateResponseIndex === 0;\n return (\n <Card\n className={classNames(classes.category, className, {\n [classes.duplicateError]: isDuplicated,\n })}\n >\n <span>\n {!isCategoryHeaderDisabled ? (\n <InputHeader\n label={category.label}\n focusedEl={focusedEl}\n deleteFocusedEl={deleteFocusedEl}\n index={index}\n disabled={!!alternateResponseIndex || alternateResponseIndex === 0}\n error={error}\n onChange={this.changeLabel}\n onDelete={onDelete}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n configuration={configuration}\n />\n ) : (\n <div\n className={classes.categoryHeader}\n dangerouslySetInnerHTML={{\n __html: category.label,\n }}\n ></div>\n )}\n {error && <div className={classes.errorText}>{error}</div>}\n </span>\n <PlaceHolder\n className={classes.placeHolder}\n alternateResponseIndex={alternateResponseIndex}\n category={category}\n choices={category.choices}\n onDeleteChoice={onDeleteChoice}\n onDropChoice={onAddChoice}\n onMoveChoice={onMoveChoice}\n categoryId={category.id}\n />\n {onDelete && (\n <CardActions className={classes.actions}>\n <DeleteButton label={'delete'} onClick={onDelete} />\n </CardActions>\n )}\n </Card>\n );\n }\n}\nconst styles = (theme) => ({\n placeHolder: {\n minHeight: '100px',\n },\n deleteButton: {\n margin: 0,\n },\n actions: {\n padding: 0,\n paddingBottom: 0,\n paddingTop: theme.spacing.unit,\n },\n iconButtonRoot: {\n width: 'auto',\n height: 'auto',\n },\n header: {\n display: 'flex',\n justifyContent: 'space-between',\n },\n category: {\n minWidth: '196px',\n padding: theme.spacing.unit,\n overflow: 'visible',\n },\n categoryHeader: {\n padding: theme.spacing.unit * 2,\n '& p': {\n margin: 0\n }\n },\n duplicateError: {\n border: '1px solid red',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingBottom: theme.spacing.unit,\n },\n editor: {\n flex: '1',\n paddingBottom: theme.spacing.unit * 2,\n },\n});\nexport default withStyles(styles)(Category);\n"],"file":"category.js"}
1
+ {"version":3,"file":"category.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Card","_CardActions","_inputHeader","_buttons","_droppablePlaceholder","StyledCard","styled","Card","shouldForwardProp","prop","theme","isDuplicated","minWidth","padding","spacing","overflow","border","StyledCardActions","CardActions","paddingBottom","paddingTop","CategoryHeader","margin","ErrorText","fontSize","typography","color","palette","error","main","Category","React","Component","constructor","args","_defineProperty2","default","l","category","onChange","props","label","render","alternateResponseIndex","configuration","deleteFocusedEl","focusedEl","index","onDelete","onDeleteChoice","imageSupport","spellCheck","toolbarOpts","maxImageWidth","maxImageHeight","uploadSoundSupport","mathMlOptions","isCategoryHeaderDisabled","createElement","disabled","changeLabel","dangerouslySetInnerHTML","__html","choices","categoryId","id","extraStyles","minHeight","isAlternate","DeleteButton","onClick","exports","PropTypes","number","object","isRequired","defaultImageMaxHeight","defaultImageMaxWidth","func","string","bool","shape","add","delete","_default"],"sources":["../../../src/design/categories/category.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Card from '@mui/material/Card';\nimport CardActions from '@mui/material/CardActions';\n\nimport InputHeader from '../input-header';\nimport { DeleteButton } from '../buttons';\nimport PlaceHolder from './droppable-placeholder';\n\nconst StyledCard = styled(Card, {\n shouldForwardProp: (prop) => prop !== 'isDuplicated',\n})(({ theme, isDuplicated }) => ({\n minWidth: '196px',\n padding: theme.spacing(1),\n overflow: 'visible',\n ...(isDuplicated && {\n border: '1px solid red',\n }),\n}));\n\nconst StyledCardActions = styled(CardActions)(({ theme }) => ({\n padding: 0,\n paddingBottom: 0,\n paddingTop: theme.spacing(1),\n}));\n\nconst CategoryHeader = styled('div')(({ theme }) => ({\n padding: theme.spacing(2),\n '& p': {\n margin: 0,\n },\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingBottom: theme.spacing(1),\n}));\n\nexport class Category extends React.Component {\n static propTypes = {\n alternateResponseIndex: PropTypes.number,\n category: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n defaultImageMaxHeight: PropTypes.number,\n defaultImageMaxWidth: PropTypes.number,\n deleteFocusedEl: PropTypes.func,\n focusedEl: PropTypes.number,\n index: PropTypes.number,\n error: PropTypes.string,\n isDuplicated: PropTypes.bool,\n maxImageWidth: PropTypes.object,\n maxImageHeight: PropTypes.object,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n onDeleteChoice: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n toolbarOpts: PropTypes.object,\n spellCheck: PropTypes.bool,\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n isAlternate: PropTypes.bool,\n };\n\n static defaultProps = {};\n\n changeLabel = (l) => {\n const { category, onChange } = this.props;\n category.label = l;\n onChange(category);\n };\n\n render() {\n const {\n alternateResponseIndex,\n category,\n configuration,\n deleteFocusedEl,\n focusedEl,\n index,\n error,\n isDuplicated,\n onDelete,\n onDeleteChoice,\n imageSupport,\n spellCheck,\n toolbarOpts,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n mathMlOptions = {},\n } = this.props;\n const isCategoryHeaderDisabled = !!alternateResponseIndex || alternateResponseIndex === 0;\n \n return (\n <StyledCard isDuplicated={isDuplicated}>\n <span>\n {!isCategoryHeaderDisabled ? (\n <InputHeader\n label={category.label}\n focusedEl={focusedEl}\n deleteFocusedEl={deleteFocusedEl}\n index={index}\n disabled={!!alternateResponseIndex || alternateResponseIndex === 0}\n error={error}\n onChange={this.changeLabel}\n onDelete={onDelete}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n configuration={configuration}\n />\n ) : (\n <CategoryHeader\n dangerouslySetInnerHTML={{\n __html: category.label,\n }}\n />\n )}\n {error && <ErrorText>{error}</ErrorText>}\n </span>\n <PlaceHolder\n alternateResponseIndex={alternateResponseIndex}\n category={category}\n choices={category.choices}\n onDeleteChoice={onDeleteChoice}\n categoryId={category.id}\n extraStyles={{ minHeight: '100px', }}\n isAlternate={this.props.isAlternate}\n />\n {onDelete && (\n <StyledCardActions>\n <DeleteButton label={'delete'} onClick={onDelete} />\n </StyledCardActions>\n )}\n </StyledCard>\n );\n }\n}\n\nexport default Category;\n"],"mappings":"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","ignoreList":[]}