@pie-element/categorize 6.7.0 → 6.7.3-next.1014

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 (61) hide show
  1. package/CHANGELOG.md +171 -0
  2. package/configure/CHANGELOG.md +128 -0
  3. package/configure/lib/defaults.js +27 -1
  4. package/configure/lib/defaults.js.map +1 -1
  5. package/configure/lib/design/builder.js +1 -1
  6. package/configure/lib/design/buttons.js +6 -4
  7. package/configure/lib/design/buttons.js.map +1 -1
  8. package/configure/lib/design/categories/alternateResponses.js +4 -2
  9. package/configure/lib/design/categories/alternateResponses.js.map +1 -1
  10. package/configure/lib/design/categories/category.js +13 -4
  11. package/configure/lib/design/categories/category.js.map +1 -1
  12. package/configure/lib/design/categories/choice-preview.js +4 -4
  13. package/configure/lib/design/categories/choice-preview.js.map +1 -1
  14. package/configure/lib/design/categories/droppable-placeholder.js +3 -3
  15. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -1
  16. package/configure/lib/design/categories/index.js +84 -11
  17. package/configure/lib/design/categories/index.js.map +1 -1
  18. package/configure/lib/design/choices/choice.js +25 -6
  19. package/configure/lib/design/choices/choice.js.map +1 -1
  20. package/configure/lib/design/choices/config.js +5 -3
  21. package/configure/lib/design/choices/config.js.map +1 -1
  22. package/configure/lib/design/choices/index.js +42 -8
  23. package/configure/lib/design/choices/index.js.map +1 -1
  24. package/configure/lib/design/header.js +15 -5
  25. package/configure/lib/design/header.js.map +1 -1
  26. package/configure/lib/design/index.js +57 -11
  27. package/configure/lib/design/index.js.map +1 -1
  28. package/configure/lib/design/input-header.js +16 -4
  29. package/configure/lib/design/input-header.js.map +1 -1
  30. package/configure/lib/index.js +3 -3
  31. package/configure/lib/main.js +1 -1
  32. package/configure/lib/main.js.map +1 -1
  33. package/configure/lib/utils.js +20 -0
  34. package/configure/lib/utils.js.map +1 -0
  35. package/configure/package.json +4 -4
  36. package/controller/CHANGELOG.md +27 -0
  37. package/controller/lib/index.js +83 -3
  38. package/controller/lib/index.js.map +1 -1
  39. package/controller/package.json +1 -1
  40. package/docs/config-schema.json +139 -0
  41. package/docs/config-schema.json.md +109 -1
  42. package/docs/demo/generate.js +1 -0
  43. package/docs/pie-schema.json +52 -0
  44. package/docs/pie-schema.json.md +43 -0
  45. package/lib/categorize/categories.js +9 -4
  46. package/lib/categorize/categories.js.map +1 -1
  47. package/lib/categorize/category.js +4 -4
  48. package/lib/categorize/category.js.map +1 -1
  49. package/lib/categorize/choice.js +5 -4
  50. package/lib/categorize/choice.js.map +1 -1
  51. package/lib/categorize/choices.js +12 -5
  52. package/lib/categorize/choices.js.map +1 -1
  53. package/lib/categorize/droppable-placeholder.js +2 -2
  54. package/lib/categorize/droppable-placeholder.js.map +1 -1
  55. package/lib/categorize/grid-content.js +3 -3
  56. package/lib/categorize/grid-content.js.map +1 -1
  57. package/lib/categorize/index.js +11 -15
  58. package/lib/categorize/index.js.map +1 -1
  59. package/lib/index.js +4 -1
  60. package/lib/index.js.map +1 -1
  61. package/package.json +5 -5
@@ -45,7 +45,7 @@ var _categorize = require("@pie-lib/categorize");
45
45
 
46
46
  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); }; }
47
47
 
48
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
48
+ 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; } }
49
49
 
50
50
  var Choices = /*#__PURE__*/function (_React$Component) {
51
51
  (0, _inherits2["default"])(Choices, _React$Component);
@@ -128,7 +128,25 @@ var Choices = /*#__PURE__*/function (_React$Component) {
128
128
  choices = _this$props4.choices,
129
129
  model = _this$props4.model,
130
130
  imageSupport = _this$props4.imageSupport,
131
- onModelChanged = _this$props4.onModelChanged;
131
+ onModelChanged = _this$props4.onModelChanged,
132
+ spellCheck = _this$props4.spellCheck,
133
+ toolbarOpts = _this$props4.toolbarOpts,
134
+ configuration = _this$props4.configuration,
135
+ defaultImageMaxWidth = _this$props4.defaultImageMaxWidth,
136
+ defaultImageMaxHeight = _this$props4.defaultImageMaxHeight;
137
+ var errors = model.errors;
138
+
139
+ var _ref = errors || {},
140
+ choicesError = _ref.choicesError,
141
+ choicesErrors = _ref.choicesErrors;
142
+
143
+ var _ref2 = configuration || {},
144
+ maxChoices = _ref2.maxChoices,
145
+ _ref2$maxImageWidth = _ref2.maxImageWidth,
146
+ maxImageWidth = _ref2$maxImageWidth === void 0 ? {} : _ref2$maxImageWidth,
147
+ _ref2$maxImageHeight = _ref2.maxImageHeight,
148
+ maxImageHeight = _ref2$maxImageHeight === void 0 ? {} : _ref2$maxImageHeight;
149
+
132
150
  var categoryCountIsOne = this.allChoicesHaveCount(1);
133
151
  var choiceHolderStyle = {
134
152
  gridTemplateColumns: "repeat(".concat(model.categoriesPerRow, ", 1fr)")
@@ -138,12 +156,16 @@ var Choices = /*#__PURE__*/function (_React$Component) {
138
156
  }, /*#__PURE__*/_react["default"].createElement(_header["default"], {
139
157
  label: "Choices",
140
158
  buttonLabel: "ADD A CHOICE",
141
- onAdd: this.addChoice
142
- }), /*#__PURE__*/_react["default"].createElement(_config["default"], {
159
+ onAdd: this.addChoice,
160
+ buttonDisabled: maxChoices && choices && maxChoices === choices.length
161
+ }), choicesError && /*#__PURE__*/_react["default"].createElement("div", {
162
+ className: classes.errorText
163
+ }, choicesError), /*#__PURE__*/_react["default"].createElement(_config["default"], {
143
164
  config: model,
144
165
  categoryCountIsOne: categoryCountIsOne,
145
166
  onModelChanged: onModelChanged,
146
- allChoicesHaveCount: this.allChoicesHaveCount
167
+ allChoicesHaveCount: this.allChoicesHaveCount,
168
+ spellCheck: spellCheck
147
169
  }), /*#__PURE__*/_react["default"].createElement("div", {
148
170
  className: classes.choiceHolder,
149
171
  style: choiceHolderStyle
@@ -156,7 +178,12 @@ var Choices = /*#__PURE__*/function (_React$Component) {
156
178
  onChange: _this2.changeChoice,
157
179
  onDelete: function onDelete() {
158
180
  return _this2.deleteChoice(h);
159
- }
181
+ },
182
+ toolbarOpts: toolbarOpts,
183
+ spellCheck: spellCheck,
184
+ error: choicesErrors && choicesErrors[h.id],
185
+ maxImageWidth: maxImageWidth && maxImageWidth.choice || defaultImageMaxWidth,
186
+ maxImageHeight: maxImageHeight && maxImageHeight.choice || defaultImageMaxHeight
160
187
  });
161
188
  })), /*#__PURE__*/_react["default"].createElement(_buttons.Divider, null));
162
189
  }
@@ -167,6 +194,7 @@ var Choices = /*#__PURE__*/function (_React$Component) {
167
194
  exports.Choices = Choices;
168
195
  (0, _defineProperty2["default"])(Choices, "propTypes", {
169
196
  model: _propTypes["default"].object.isRequired,
197
+ configuration: _propTypes["default"].object.isRequired,
170
198
  classes: _propTypes["default"].object.isRequired,
171
199
  className: _propTypes["default"].string,
172
200
  choices: _propTypes["default"].array.isRequired,
@@ -174,7 +202,8 @@ exports.Choices = Choices;
174
202
  imageSupport: _propTypes["default"].shape({
175
203
  add: _propTypes["default"].func.isRequired,
176
204
  "delete": _propTypes["default"].func.isRequired
177
- })
205
+ }),
206
+ toolbarOpts: _propTypes["default"].object
178
207
  });
179
208
  (0, _defineProperty2["default"])(Choices, "defaultProps", {});
180
209
 
@@ -191,7 +220,12 @@ var styles = function styles(theme) {
191
220
  paddingTop: theme.spacing.unit * 2,
192
221
  paddingBottom: theme.spacing.unit * 2
193
222
  },
194
- label: {}
223
+ label: {},
224
+ errorText: {
225
+ fontSize: '12px',
226
+ color: 'red',
227
+ padding: '5px 0'
228
+ }
195
229
  };
196
230
  };
197
231
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/design/choices/index.jsx"],"names":["Choices","choice","props","choices","onModelChanged","index","findIndex","h","id","splice","count","c","categoryCount","model","utils","firstAvailableIndex","map","a","data","content","concat","correctResponse","classes","className","imageSupport","categoryCountIsOne","allChoicesHaveCount","choiceHolderStyle","gridTemplateColumns","categoriesPerRow","addChoice","choiceHolder","correctResponseCount","changeChoice","deleteChoice","React","Component","PropTypes","object","isRequired","string","array","func","shape","add","styles","theme","paddingTop","spacing","unit","paddingBottom","display","gridRowGap","gridColumnGap","label"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Divider } from '../buttons';\nimport classNames from 'classnames';\nimport Choice from './choice';\nimport Header from '../header';\nimport every from 'lodash/every';\nimport Config from './config';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport { removeAllChoices } from '@pie-lib/categorize';\n\nexport class Choices extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n choices: PropTypes.array.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n static defaultProps = {};\n\n changeChoice = choice => {\n const { choices, onModelChanged } = this.props;\n const index = choices.findIndex(h => h.id === choice.id);\n if (index !== -1) {\n choices.splice(index, 1, choice);\n onModelChanged({ choices });\n }\n };\n\n allChoicesHaveCount = count => {\n const { choices } = this.props;\n return every(choices, c => c.categoryCount === count);\n };\n\n addChoice = () => {\n const { onModelChanged, model } = this.props;\n\n const id = utils.firstAvailableIndex(model.choices.map(a => a.id), 0);\n const data = { id, content: 'Choice ' + id };\n\n onModelChanged({ choices: model.choices.concat([data]) });\n };\n\n deleteChoice = choice => {\n const { model, onModelChanged } = this.props;\n const index = model.choices.findIndex(a => a.id === choice.id);\n if (index !== -1) {\n model.choices.splice(index, 1);\n model.correctResponse = removeAllChoices(\n choice.id,\n model.correctResponse\n );\n onModelChanged(model);\n }\n };\n\n render() {\n const {\n classes,\n className,\n choices,\n model,\n imageSupport,\n onModelChanged\n } = this.props;\n\n const categoryCountIsOne = this.allChoicesHaveCount(1);\n const choiceHolderStyle = {\n gridTemplateColumns: `repeat(${model.categoriesPerRow}, 1fr)`\n };\n\n return (\n <div className={classNames(classes.choices, className)}>\n <Header label=\"Choices\" buttonLabel=\"ADD A CHOICE\" onAdd={this.addChoice} />\n <Config\n config={model}\n categoryCountIsOne={categoryCountIsOne}\n onModelChanged={onModelChanged}\n allChoicesHaveCount={this.allChoicesHaveCount}\n />\n <div className={classes.choiceHolder} style={choiceHolderStyle}>\n {choices.map((h, index) => (\n <Choice\n choice={h}\n correctResponseCount={h.correctResponseCount}\n key={index}\n imageSupport={imageSupport}\n onChange={this.changeChoice}\n onDelete={() => this.deleteChoice(h)}\n />\n ))}\n </div>\n <Divider />\n </div>\n );\n }\n}\nconst styles = theme => ({\n choiceHolder: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`\n },\n choices: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2\n },\n label: {}\n});\nexport default withStyles(styles)(Choices);\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../../src/design/choices/index.jsx"],"names":["Choices","choice","props","choices","onModelChanged","index","findIndex","h","id","splice","count","c","categoryCount","model","utils","firstAvailableIndex","map","a","data","content","concat","correctResponse","classes","className","imageSupport","spellCheck","toolbarOpts","configuration","defaultImageMaxWidth","defaultImageMaxHeight","errors","choicesError","choicesErrors","maxChoices","maxImageWidth","maxImageHeight","categoryCountIsOne","allChoicesHaveCount","choiceHolderStyle","gridTemplateColumns","categoriesPerRow","addChoice","length","errorText","choiceHolder","correctResponseCount","changeChoice","deleteChoice","React","Component","PropTypes","object","isRequired","string","array","func","shape","add","styles","theme","paddingTop","spacing","unit","paddingBottom","display","gridRowGap","gridColumnGap","label","fontSize","color","padding"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Divider } from '../buttons';\nimport classNames from 'classnames';\nimport Choice from './choice';\nimport Header from '../header';\nimport every from 'lodash/every';\nimport Config from './config';\nimport { choiceUtils as utils } from '@pie-lib/config-ui';\nimport { removeAllChoices } from '@pie-lib/categorize';\n\nexport class Choices extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n choices: PropTypes.array.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n toolbarOpts: PropTypes.object\n };\n\n static defaultProps = {};\n\n changeChoice = choice => {\n const { choices, onModelChanged } = this.props;\n const index = choices.findIndex(h => h.id === choice.id);\n if (index !== -1) {\n choices.splice(index, 1, choice);\n onModelChanged({ choices });\n }\n };\n\n allChoicesHaveCount = count => {\n const { choices } = this.props;\n return every(choices, c => c.categoryCount === count);\n };\n\n addChoice = () => {\n const { onModelChanged, model } = this.props;\n\n const id = utils.firstAvailableIndex(model.choices.map(a => a.id), 0);\n const data = { id, content: 'Choice ' + id };\n\n onModelChanged({ choices: model.choices.concat([data]) });\n };\n\n deleteChoice = choice => {\n const { model, onModelChanged } = this.props;\n const index = model.choices.findIndex(a => a.id === choice.id);\n if (index !== -1) {\n model.choices.splice(index, 1);\n model.correctResponse = removeAllChoices(\n choice.id,\n model.correctResponse\n );\n onModelChanged(model);\n }\n };\n\n render() {\n const {\n classes,\n className,\n choices,\n model,\n imageSupport,\n onModelChanged,\n spellCheck,\n toolbarOpts,\n configuration,\n defaultImageMaxWidth,\n defaultImageMaxHeight\n } = this.props;\n const { errors } = model;\n const { choicesError, choicesErrors } = errors || {};\n const {\n maxChoices,\n maxImageWidth = {},\n maxImageHeight = {}\n } = configuration || {};\n\n const categoryCountIsOne = this.allChoicesHaveCount(1);\n const choiceHolderStyle = {\n gridTemplateColumns: `repeat(${model.categoriesPerRow}, 1fr)`\n };\n\n return (\n <div className={classNames(classes.choices, className)}>\n <Header\n label=\"Choices\"\n buttonLabel=\"ADD A CHOICE\"\n onAdd={this.addChoice}\n buttonDisabled={maxChoices && choices && maxChoices === choices.length}\n />\n {choicesError && <div className={classes.errorText}>{choicesError}</div>}\n <Config\n config={model}\n categoryCountIsOne={categoryCountIsOne}\n onModelChanged={onModelChanged}\n allChoicesHaveCount={this.allChoicesHaveCount}\n spellCheck={spellCheck}\n />\n <div className={classes.choiceHolder} style={choiceHolderStyle}>\n {choices.map((h, index) => (\n <Choice\n choice={h}\n correctResponseCount={h.correctResponseCount}\n key={index}\n imageSupport={imageSupport}\n onChange={this.changeChoice}\n onDelete={() => this.deleteChoice(h)}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n error={choicesErrors && choicesErrors[h.id]}\n maxImageWidth={maxImageWidth && maxImageWidth.choice || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.choice || defaultImageMaxHeight}\n />\n ))}\n </div>\n <Divider />\n </div>\n );\n }\n}\nconst styles = theme => ({\n choiceHolder: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n display: 'grid',\n gridRowGap: `${theme.spacing.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`\n },\n choices: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2\n },\n label: {},\n errorText: {\n fontSize: '12px',\n color: 'red',\n padding: '5px 0'\n },\n});\nexport default withStyles(styles)(Choices);\n"],"file":"index.js"}
@@ -33,7 +33,7 @@ var _buttons = require("./buttons");
33
33
 
34
34
  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); }; }
35
35
 
36
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
36
+ 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; } }
37
37
 
38
38
  var Header = /*#__PURE__*/function (_React$Component) {
39
39
  (0, _inherits2["default"])(Header, _React$Component);
@@ -53,15 +53,20 @@ var Header = /*#__PURE__*/function (_React$Component) {
53
53
  className = _this$props.className,
54
54
  onAdd = _this$props.onAdd,
55
55
  label = _this$props.label,
56
- buttonLabel = _this$props.buttonLabel;
56
+ buttonLabel = _this$props.buttonLabel,
57
+ info = _this$props.info,
58
+ buttonDisabled = _this$props.buttonDisabled;
57
59
  return /*#__PURE__*/_react["default"].createElement("div", {
58
60
  className: (0, _classnames["default"])(classes.header, className)
61
+ }, /*#__PURE__*/_react["default"].createElement("div", {
62
+ className: classes.titleContainer
59
63
  }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
60
64
  variant: "title",
61
65
  className: classes.title
62
- }, label), /*#__PURE__*/_react["default"].createElement(_buttons.AddButton, {
66
+ }, label), info), /*#__PURE__*/_react["default"].createElement(_buttons.AddButton, {
63
67
  onClick: onAdd,
64
- label: buttonLabel
68
+ label: buttonLabel,
69
+ disabled: buttonDisabled
65
70
  }));
66
71
  }
67
72
  }]);
@@ -74,7 +79,9 @@ exports.Header = Header;
74
79
  className: _propTypes["default"].string,
75
80
  buttonLabel: _propTypes["default"].string,
76
81
  onAdd: _propTypes["default"].func.isRequired,
77
- label: _propTypes["default"].string.isRequired
82
+ label: _propTypes["default"].string.isRequired,
83
+ info: _propTypes["default"].any,
84
+ buttonDisabled: _propTypes["default"].bool
78
85
  });
79
86
  (0, _defineProperty2["default"])(Header, "defaultProps", {});
80
87
 
@@ -84,6 +91,9 @@ var styles = function styles(theme) {
84
91
  display: 'flex',
85
92
  justifyContent: 'space-between',
86
93
  marginBottom: 2 * theme.spacing.unit
94
+ },
95
+ titleContainer: {
96
+ display: 'flex'
87
97
  }
88
98
  };
89
99
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/design/header.jsx"],"names":["Header","props","classes","className","onAdd","label","buttonLabel","header","title","React","Component","PropTypes","object","isRequired","string","func","styles","theme","display","justifyContent","marginBottom","spacing","unit"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,M;;;;;;;;;;;;WAUX,kBAAS;AAAA,wBACmD,KAAKC,KADxD;AAAA,UACCC,OADD,eACCA,OADD;AAAA,UACUC,SADV,eACUA,SADV;AAAA,UACqBC,KADrB,eACqBA,KADrB;AAAA,UAC4BC,KAD5B,eAC4BA,KAD5B;AAAA,UACmCC,WADnC,eACmCA,WADnC;AAEP,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWJ,OAAO,CAACK,MAAnB,EAA2BJ,SAA3B;AAAhB,sBACE,gCAAC,sBAAD;AAAY,QAAA,OAAO,EAAC,OAApB;AAA4B,QAAA,SAAS,EAAED,OAAO,CAACM;AAA/C,SACGH,KADH,CADF,eAIE,gCAAC,kBAAD;AAAW,QAAA,OAAO,EAAED,KAApB;AAA2B,QAAA,KAAK,EAAEE;AAAlC,QAJF,CADF;AAQD;;;EApByBG,kBAAMC,S;;;iCAArBV,M,eACQ;AACjBE,EAAAA,OAAO,EAAES,sBAAUC,MAAV,CAAiBC,UADT;AAEjBV,EAAAA,SAAS,EAAEQ,sBAAUG,MAFJ;AAGjBR,EAAAA,WAAW,EAAEK,sBAAUG,MAHN;AAIjBV,EAAAA,KAAK,EAAEO,sBAAUI,IAAV,CAAeF,UAJL;AAKjBR,EAAAA,KAAK,EAAEM,sBAAUG,MAAV,CAAiBD;AALP,C;iCADRb,M,kBASW,E;;AAaxB,IAAMgB,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBV,IAAAA,MAAM,EAAE;AACNW,MAAAA,OAAO,EAAE,MADH;AAENC,MAAAA,cAAc,EAAE,eAFV;AAGNC,MAAAA,YAAY,EAAE,IAAIH,KAAK,CAACI,OAAN,CAAcC;AAH1B;AADe,GAAL;AAAA,CAApB;;eAOe,wBAAWN,MAAX,EAAmBhB,MAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { AddButton } from './buttons';\n\nexport class Header extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n buttonLabel: PropTypes.string,\n onAdd: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired\n };\n\n static defaultProps = {};\n render() {\n const { classes, className, onAdd, label, buttonLabel } = this.props;\n return (\n <div className={classNames(classes.header, className)}>\n <Typography variant=\"title\" className={classes.title}>\n {label}\n </Typography>\n <AddButton onClick={onAdd} label={buttonLabel} />\n </div>\n );\n }\n}\nconst styles = theme => ({\n header: {\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: 2 * theme.spacing.unit\n }\n});\nexport default withStyles(styles)(Header);\n"],"file":"header.js"}
1
+ {"version":3,"sources":["../../src/design/header.jsx"],"names":["Header","props","classes","className","onAdd","label","buttonLabel","info","buttonDisabled","header","titleContainer","title","React","Component","PropTypes","object","isRequired","string","func","any","bool","styles","theme","display","justifyContent","marginBottom","spacing","unit"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,M;;;;;;;;;;;;WAYX,kBAAS;AACP,wBAAgF,KAAKC,KAArF;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,SAAjB,eAAiBA,SAAjB;AAAA,UAA4BC,KAA5B,eAA4BA,KAA5B;AAAA,UAAmCC,KAAnC,eAAmCA,KAAnC;AAAA,UAA0CC,WAA1C,eAA0CA,WAA1C;AAAA,UAAuDC,IAAvD,eAAuDA,IAAvD;AAAA,UAA6DC,cAA7D,eAA6DA,cAA7D;AACA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWN,OAAO,CAACO,MAAnB,EAA2BN,SAA3B;AAAhB,sBACE;AAAK,QAAA,SAAS,EAAED,OAAO,CAACQ;AAAxB,sBACA,gCAAC,sBAAD;AAAY,QAAA,OAAO,EAAC,OAApB;AAA4B,QAAA,SAAS,EAAER,OAAO,CAACS;AAA/C,SACGN,KADH,CADA,EAICE,IAJD,CADF,eAOE,gCAAC,kBAAD;AAAW,QAAA,OAAO,EAAEH,KAApB;AAA2B,QAAA,KAAK,EAAEE,WAAlC;AAA+C,QAAA,QAAQ,EAAEE;AAAzD,QAPF,CADF;AAWD;;;EAzByBI,kBAAMC,S;;;iCAArBb,M,eACQ;AACjBE,EAAAA,OAAO,EAAEY,sBAAUC,MAAV,CAAiBC,UADT;AAEjBb,EAAAA,SAAS,EAAEW,sBAAUG,MAFJ;AAGjBX,EAAAA,WAAW,EAAEQ,sBAAUG,MAHN;AAIjBb,EAAAA,KAAK,EAAEU,sBAAUI,IAAV,CAAeF,UAJL;AAKjBX,EAAAA,KAAK,EAAES,sBAAUG,MAAV,CAAiBD,UALP;AAMjBT,EAAAA,IAAI,EAAEO,sBAAUK,GANC;AAOjBX,EAAAA,cAAc,EAAEM,sBAAUM;AAPT,C;iCADRpB,M,kBAWW,E;;AAgBxB,IAAMqB,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBb,IAAAA,MAAM,EAAE;AACNc,MAAAA,OAAO,EAAE,MADH;AAENC,MAAAA,cAAc,EAAE,eAFV;AAGNC,MAAAA,YAAY,EAAE,IAAIH,KAAK,CAACI,OAAN,CAAcC;AAH1B,KADe;AAMvBjB,IAAAA,cAAc,EAAE;AACda,MAAAA,OAAO,EAAE;AADK;AANO,GAAL;AAAA,CAApB;;eAUe,wBAAWF,MAAX,EAAmBrB,MAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Typography from '@material-ui/core/Typography';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { AddButton } from './buttons';\n\nexport class Header extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n buttonLabel: PropTypes.string,\n onAdd: PropTypes.func.isRequired,\n label: PropTypes.string.isRequired,\n info: PropTypes.any,\n buttonDisabled: PropTypes.bool\n };\n\n static defaultProps = {};\n render() {\n const { classes, className, onAdd, label, buttonLabel, info, buttonDisabled } = this.props;\n return (\n <div className={classNames(classes.header, className)}>\n <div className={classes.titleContainer}>\n <Typography variant=\"title\" className={classes.title}>\n {label}\n </Typography>\n {info}\n </div>\n <AddButton onClick={onAdd} label={buttonLabel} disabled={buttonDisabled}/>\n </div>\n );\n }\n}\nconst styles = theme => ({\n header: {\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: 2 * theme.spacing.unit\n },\n titleContainer: {\n display: 'flex',\n }\n});\nexport default withStyles(styles)(Header);\n"],"file":"header.js"}
@@ -51,13 +51,13 @@ var _builder = require("./builder");
51
51
 
52
52
  var _header = _interopRequireDefault(require("./header"));
53
53
 
54
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
54
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
55
55
 
56
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
56
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
57
57
 
58
58
  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); }; }
59
59
 
60
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
60
+ 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; } }
61
61
 
62
62
  var Panel = _configUi.settings.Panel,
63
63
  toggle = _configUi.settings.toggle,
@@ -187,13 +187,33 @@ var Design = /*#__PURE__*/function (_React$Component) {
187
187
  _ref$feedback = _ref.feedback,
188
188
  feedback = _ref$feedback === void 0 ? {} : _ref$feedback,
189
189
  _ref$prompt = _ref.prompt,
190
- prompt = _ref$prompt === void 0 ? {} : _ref$prompt;
190
+ prompt = _ref$prompt === void 0 ? {} : _ref$prompt,
191
+ _ref$spellCheck = _ref.spellCheck,
192
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
193
+ _ref$maxImageWidth = _ref.maxImageWidth,
194
+ maxImageWidth = _ref$maxImageWidth === void 0 ? {} : _ref$maxImageWidth,
195
+ _ref$maxImageHeight = _ref.maxImageHeight,
196
+ maxImageHeight = _ref$maxImageHeight === void 0 ? {} : _ref$maxImageHeight;
191
197
 
192
198
  var _ref2 = model || {},
193
199
  teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
194
200
  promptEnabled = _ref2.promptEnabled,
195
201
  rationaleEnabled = _ref2.rationaleEnabled,
196
- feedbackEnabled = _ref2.feedbackEnabled;
202
+ feedbackEnabled = _ref2.feedbackEnabled,
203
+ spellCheckEnabled = _ref2.spellCheckEnabled,
204
+ errors = _ref2.errors;
205
+
206
+ var toolbarOpts = {};
207
+
208
+ switch (model.toolbarEditorPosition) {
209
+ case 'top':
210
+ toolbarOpts.position = 'top';
211
+ break;
212
+
213
+ default:
214
+ toolbarOpts.position = 'bottom';
215
+ break;
216
+ }
197
217
 
198
218
  var config = model.config || {};
199
219
  config.choices = config.choices || {
@@ -206,6 +226,8 @@ var Design = /*#__PURE__*/function (_React$Component) {
206
226
  c.correctResponseCount = _this2.countChoiceInCorrectResponse(c);
207
227
  return c;
208
228
  });
229
+ var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
230
+ var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
209
231
  return /*#__PURE__*/_react["default"].createElement(IdProvider, {
210
232
  value: this.uid
211
233
  }, /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
@@ -225,6 +247,7 @@ var Design = /*#__PURE__*/function (_React$Component) {
225
247
  teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
226
248
  studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
227
249
  rationaleEnabled: rationale.settings && toggle(rationale.label),
250
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
228
251
  scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
229
252
  }
230
253
  }
@@ -240,7 +263,11 @@ var Design = /*#__PURE__*/function (_React$Component) {
240
263
  onChange: this.onPromptChanged,
241
264
  imageSupport: imageSupport,
242
265
  nonEmpty: false,
243
- disableUnderline: true
266
+ disableUnderline: true,
267
+ toolbarOpts: toolbarOpts,
268
+ spellCheck: spellCheckEnabled,
269
+ maxImageWidth: maxImageWidth && maxImageWidth.prompt,
270
+ maxImageHeight: maxImageHeight && maxImageHeight.prompt
244
271
  })), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
245
272
  label: teacherInstructions.label,
246
273
  className: classes.inputHolder
@@ -249,7 +276,11 @@ var Design = /*#__PURE__*/function (_React$Component) {
249
276
  markup: model.teacherInstructions || '',
250
277
  onChange: this.changeTeacherInstructions,
251
278
  imageSupport: imageSupport,
252
- nonEmpty: false
279
+ nonEmpty: false,
280
+ toolbarOpts: toolbarOpts,
281
+ spellCheck: spellCheckEnabled,
282
+ maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
283
+ maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight
253
284
  })), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
254
285
  label: rationale.label,
255
286
  className: classes.inputHolder
@@ -258,12 +289,21 @@ var Design = /*#__PURE__*/function (_React$Component) {
258
289
  markup: model.rationale || '',
259
290
  onChange: this.changeRationale,
260
291
  imageSupport: imageSupport,
261
- nonEmpty: false
292
+ nonEmpty: false,
293
+ toolbarOpts: toolbarOpts,
294
+ spellCheck: spellCheckEnabled,
295
+ maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
296
+ maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight
262
297
  })), /*#__PURE__*/_react["default"].createElement(_categories["default"], {
263
298
  imageSupport: imageSupport,
264
299
  model: model,
265
300
  categories: categories || [],
266
- onModelChanged: this.updateModel
301
+ onModelChanged: this.updateModel,
302
+ toolbarOpts: toolbarOpts,
303
+ spellCheck: spellCheckEnabled,
304
+ configuration: configuration,
305
+ defaultImageMaxWidth: defaultImageMaxWidth,
306
+ defaultImageMaxHeight: defaultImageMaxHeight
267
307
  }), /*#__PURE__*/_react["default"].createElement(_header["default"], {
268
308
  className: classes.alternatesHeader,
269
309
  label: "Alternate Responses",
@@ -290,10 +330,16 @@ var Design = /*#__PURE__*/function (_React$Component) {
290
330
  imageSupport: imageSupport,
291
331
  choices: choices,
292
332
  model: model,
293
- onModelChanged: this.updateModel
333
+ onModelChanged: this.updateModel,
334
+ toolbarOpts: toolbarOpts,
335
+ spellCheck: spellCheckEnabled,
336
+ configuration: configuration,
337
+ defaultImageMaxWidth: defaultImageMaxWidth,
338
+ defaultImageMaxHeight: defaultImageMaxHeight
294
339
  }), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.FeedbackConfig, {
295
340
  feedback: model.feedback,
296
- onChange: this.changeFeedback
341
+ onChange: this.changeFeedback,
342
+ toolbarOpts: toolbarOpts
297
343
  }))));
298
344
  }
299
345
  }]);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/design/index.jsx"],"names":["Panel","settings","toggle","radio","IdProvider","uid","Provider","Design","props","model","onChange","updatedModel","correctResponse","choices","categories","map","c","id","label","h","content","categoryCount","rationale","teacherInstructions","feedback","updateModel","cr","alternateResponses","prompt","index","filter","alt","altIndex","choice","generateId","classes","className","imageSupport","configuration","onConfigurationChanged","partialScoring","lockChoiceOrder","studentInstructions","scoringType","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","feedbackEnabled","config","columns","correctResponseCount","countChoiceInCorrectResponse","Settings","Properties","studentInstructionsEnabled","design","promptHolder","onPromptChanged","inputHolder","input","changeTeacherInstructions","changeRationale","alternatesHeader","onAddAlternateResponse","categoriesList","onRemoveAlternateResponse","changeFeedback","React","Component","PropTypes","object","isRequired","string","func","shape","add","styles","theme","paddingTop","spacing","unit","paddingBottom","text","width","marginBottom","maxWidth","title"],"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 {\n FeedbackConfig,\n InputContainer,\n layout,\n settings\n} from '@pie-lib/config-ui';\nimport {\n countInAnswer,\n ensureNoExtraChoicesInAnswer\n} from '@pie-lib/categorize';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { uid, withDragContext } from '@pie-lib/drag';\n\nimport Categories from './categories';\nimport AlternateResponses from './categories/alternateResponses';\nimport Choices from './choices';\nimport { Divider } from './buttons';\nimport { buildAlternateResponses, buildCategories } from './builder';\nimport Header from './header';\n\nconst { Panel, toggle, radio } = settings;\nconst { Provider: IdProvider } = uid;\n\nexport class Design extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n className: PropTypes.string,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n uid: PropTypes.string,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n constructor(props) {\n super(props);\n this.uid = props.uid || uid.generateId();\n }\n\n updateModel = props => {\n const { model, onChange } = this.props;\n\n const updatedModel = {\n ...model,\n ...props\n };\n\n //Ensure that there are no extra choices in correctResponse, if the user has decided that only one choice may be used.\n updatedModel.correctResponse = ensureNoExtraChoicesInAnswer(\n updatedModel.correctResponse || [],\n updatedModel.choices\n );\n\n //clean categories\n updatedModel.categories = updatedModel.categories.map(c => ({\n id: c.id,\n label: c.label\n }));\n\n updatedModel.choices = updatedModel.choices.map(h => ({\n id: h.id,\n content: h.content,\n categoryCount: h.categoryCount\n }));\n\n onChange(updatedModel);\n };\n\n changeRationale = rationale => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n rationale\n });\n };\n\n changeTeacherInstructions = teacherInstructions => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n teacherInstructions\n });\n };\n\n changeFeedback = feedback => {\n this.updateModel({ feedback });\n };\n\n onAddAlternateResponse = () => {\n const {\n model: { correctResponse }\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map(cr => ({\n ...cr,\n alternateResponses: [...(cr.alternateResponses || []), []]\n }))\n });\n };\n\n onPromptChanged = prompt => this.updateModel({ prompt });\n\n onRemoveAlternateResponse = index => {\n const {\n model: { correctResponse }\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map(cr => ({\n ...cr,\n alternateResponses: (cr.alternateResponses || []).filter(\n (alt, altIndex) => altIndex !== index\n )\n }))\n });\n };\n\n countChoiceInCorrectResponse = choice => {\n const { model } = this.props;\n\n return countInAnswer(choice.id, model.correctResponse);\n };\n\n render() {\n const {\n classes,\n className,\n model,\n imageSupport,\n configuration,\n onChange,\n onConfigurationChanged\n } = this.props;\n const {\n partialScoring = {},\n lockChoiceOrder = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n scoringType = {},\n feedback = {},\n prompt = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n rationaleEnabled,\n feedbackEnabled\n } = model || {};\n\n const config = model.config || {};\n config.choices = config.choices || { label: '', columns: 2 };\n\n const categories = buildCategories(\n model.categories || [],\n model.choices || [],\n model.correctResponse || []\n );\n\n const alternateResponses = buildAlternateResponses(\n model.categories || [],\n model.choices || [],\n model.correctResponse || []\n );\n\n const choices = model.choices.map(c => {\n c.correctResponseCount = this.countChoiceInCorrectResponse(c);\n return c;\n });\n\n return (\n <IdProvider value={this.uid}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onChange}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder:\n lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled:\n feedback.settings && toggle(feedback.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n rationaleEnabled:\n rationale.settings && toggle(rationale.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['auto', 'rubric'])\n }\n }}\n />\n }\n >\n <div className={classNames(classes.design, className)}>\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n />\n </InputContainer>\n )}\n\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.inputHolder}\n >\n <EditableHtml\n className={classes.input}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.inputHolder}\n >\n <EditableHtml\n className={classes.input}\n markup={model.rationale || ''}\n onChange={this.changeRationale}\n imageSupport={imageSupport}\n nonEmpty={false}\n />\n </InputContainer>\n )}\n\n <Categories\n imageSupport={imageSupport}\n model={model}\n categories={categories || []}\n onModelChanged={this.updateModel}\n />\n\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Responses\"\n buttonLabel=\"ADD AN ALTERNATE RESPONSE\"\n onAdd={this.onAddAlternateResponse}\n />\n\n {alternateResponses.map((categoriesList, index) => {\n return (\n <React.Fragment key={index}>\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Response\"\n buttonLabel=\"REMOVE ALTERNATE RESPONSE\"\n onAdd={() => this.onRemoveAlternateResponse(index)}\n />\n\n <AlternateResponses\n altIndex={index}\n imageSupport={imageSupport}\n model={model}\n categories={categoriesList}\n onModelChanged={this.updateModel}\n />\n </React.Fragment>\n );\n })}\n\n <Divider />\n <Choices\n imageSupport={imageSupport}\n choices={choices}\n model={model}\n onModelChanged={this.updateModel}\n />\n\n {feedbackEnabled && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={this.changeFeedback}\n />\n )}\n </div>\n </layout.ConfigLayout>\n </IdProvider>\n );\n }\n}\n\nconst styles = theme => ({\n alternatesHeader: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2\n },\n text: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2\n },\n design: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit\n },\n inputHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n input: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n maxWidth: '600px'\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n title: {\n marginBottom: '30px'\n }\n});\n\nexport default withDragContext(withStyles(styles)(Design));\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../../src/design/index.jsx"],"names":["Panel","settings","toggle","radio","IdProvider","uid","Provider","Design","props","model","onChange","updatedModel","correctResponse","choices","categories","map","c","id","label","h","content","categoryCount","rationale","teacherInstructions","feedback","updateModel","cr","alternateResponses","prompt","index","filter","alt","altIndex","choice","generateId","classes","className","imageSupport","configuration","onConfigurationChanged","partialScoring","lockChoiceOrder","studentInstructions","scoringType","spellCheck","maxImageWidth","maxImageHeight","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","feedbackEnabled","spellCheckEnabled","errors","toolbarOpts","toolbarEditorPosition","position","config","columns","correctResponseCount","countChoiceInCorrectResponse","defaultImageMaxWidth","defaultImageMaxHeight","Settings","Properties","studentInstructionsEnabled","design","promptHolder","onPromptChanged","inputHolder","input","changeTeacherInstructions","changeRationale","alternatesHeader","onAddAlternateResponse","categoriesList","onRemoveAlternateResponse","changeFeedback","React","Component","PropTypes","object","isRequired","string","func","shape","add","styles","theme","paddingTop","spacing","unit","paddingBottom","text","width","marginBottom","maxWidth","title"],"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 {\n FeedbackConfig,\n InputContainer,\n layout,\n settings,\n} from '@pie-lib/config-ui';\nimport {\n countInAnswer,\n ensureNoExtraChoicesInAnswer,\n} from '@pie-lib/categorize';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { uid, withDragContext } from '@pie-lib/drag';\n\nimport Categories from './categories';\nimport AlternateResponses from './categories/alternateResponses';\nimport Choices from './choices';\nimport { Divider } from './buttons';\nimport { buildAlternateResponses, buildCategories } from './builder';\nimport Header from './header';\n\nconst { Panel, toggle, radio } = settings;\nconst { Provider: IdProvider } = uid;\n\nexport class Design extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n className: PropTypes.string,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n uid: PropTypes.string,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n constructor(props) {\n super(props);\n this.uid = props.uid || uid.generateId();\n }\n\n updateModel = (props) => {\n const { model, onChange } = this.props;\n\n const updatedModel = {\n ...model,\n ...props,\n };\n\n //Ensure that there are no extra choices in correctResponse, if the user has decided that only one choice may be used.\n updatedModel.correctResponse = ensureNoExtraChoicesInAnswer(\n updatedModel.correctResponse || [],\n updatedModel.choices\n );\n\n //clean categories\n updatedModel.categories = updatedModel.categories.map((c) => ({\n id: c.id,\n label: c.label,\n }));\n\n updatedModel.choices = updatedModel.choices.map((h) => ({\n id: h.id,\n content: h.content,\n categoryCount: h.categoryCount,\n }));\n\n onChange(updatedModel);\n };\n\n changeRationale = (rationale) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n rationale,\n });\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n const { model, onChange } = this.props;\n\n onChange({\n ...model,\n teacherInstructions,\n });\n };\n\n changeFeedback = (feedback) => {\n this.updateModel({ feedback });\n };\n\n onAddAlternateResponse = () => {\n const {\n model: { correctResponse },\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map((cr) => ({\n ...cr,\n alternateResponses: [...(cr.alternateResponses || []), []],\n })),\n });\n };\n\n onPromptChanged = (prompt) => this.updateModel({ prompt });\n\n onRemoveAlternateResponse = (index) => {\n const {\n model: { correctResponse },\n } = this.props;\n\n this.updateModel({\n correctResponse: (correctResponse || []).map((cr) => ({\n ...cr,\n alternateResponses: (cr.alternateResponses || []).filter(\n (alt, altIndex) => altIndex !== index\n ),\n })),\n });\n };\n\n countChoiceInCorrectResponse = (choice) => {\n const { model } = this.props;\n\n return countInAnswer(choice.id, model.correctResponse);\n };\n\n render() {\n const {\n classes,\n className,\n model,\n imageSupport,\n configuration,\n onChange,\n onConfigurationChanged,\n } = this.props;\n const {\n partialScoring = {},\n lockChoiceOrder = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n scoringType = {},\n feedback = {},\n prompt = {},\n spellCheck = {},\n maxImageWidth = {},\n maxImageHeight = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled,\n promptEnabled,\n rationaleEnabled,\n feedbackEnabled,\n spellCheckEnabled,\n errors\n } = model || {};\n\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n\n const config = model.config || {};\n config.choices = config.choices || { label: '', columns: 2 };\n\n const categories = buildCategories(\n model.categories || [],\n model.choices || [],\n model.correctResponse || []\n );\n\n const alternateResponses = buildAlternateResponses(\n model.categories || [],\n model.choices || [],\n model.correctResponse || []\n );\n\n const choices = model.choices.map((c) => {\n c.correctResponseCount = this.countChoiceInCorrectResponse(c);\n return c;\n });\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n return (\n <IdProvider value={this.uid}>\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n onChangeModel={onChange}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder:\n lockChoiceOrder.settings && toggle(lockChoiceOrder.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n rationaleEnabled:\n rationale.settings && toggle(rationale.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['auto', 'rubric']),\n },\n }}\n />\n }\n >\n <div className={classNames(classes.design, className)}>\n {promptEnabled && (\n <InputContainer\n label={prompt.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt || ''}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.prompt}\n maxImageHeight={maxImageHeight && maxImageHeight.prompt}\n />\n </InputContainer>\n )}\n\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.inputHolder}\n >\n <EditableHtml\n className={classes.input}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label}\n className={classes.inputHolder}\n >\n <EditableHtml\n className={classes.input}\n markup={model.rationale || ''}\n onChange={this.changeRationale}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth}\n maxImageHeight={maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight}\n />\n </InputContainer>\n )}\n\n <Categories\n imageSupport={imageSupport}\n model={model}\n categories={categories || []}\n onModelChanged={this.updateModel}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n configuration={configuration}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Responses\"\n buttonLabel=\"ADD AN ALTERNATE RESPONSE\"\n onAdd={this.onAddAlternateResponse}\n />\n\n {alternateResponses.map((categoriesList, index) => {\n return (\n <React.Fragment key={index}>\n <Header\n className={classes.alternatesHeader}\n label=\"Alternate Response\"\n buttonLabel=\"REMOVE ALTERNATE RESPONSE\"\n onAdd={() => this.onRemoveAlternateResponse(index)}\n />\n\n <AlternateResponses\n altIndex={index}\n imageSupport={imageSupport}\n model={model}\n categories={categoriesList}\n onModelChanged={this.updateModel}\n />\n </React.Fragment>\n );\n })}\n\n <Divider />\n <Choices\n imageSupport={imageSupport}\n choices={choices}\n model={model}\n onModelChanged={this.updateModel}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n configuration={configuration}\n defaultImageMaxWidth={defaultImageMaxWidth}\n defaultImageMaxHeight={defaultImageMaxHeight}\n />\n\n {feedbackEnabled && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={this.changeFeedback}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n </layout.ConfigLayout>\n </IdProvider>\n );\n }\n}\n\nconst styles = (theme) => ({\n alternatesHeader: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n text: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n design: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n },\n inputHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n input: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n maxWidth: '600px',\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%',\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n title: {\n marginBottom: '30px',\n },\n});\n\nexport default withDragContext(withStyles(styles)(Design));\n"],"file":"index.js"}
@@ -31,7 +31,7 @@ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
31
31
 
32
32
  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); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ 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; } }
35
35
 
36
36
  var InputHeader = /*#__PURE__*/function (_React$Component) {
37
37
  (0, _inherits2["default"])(InputHeader, _React$Component);
@@ -51,7 +51,12 @@ var InputHeader = /*#__PURE__*/function (_React$Component) {
51
51
  label = _this$props.label,
52
52
  classes = _this$props.classes,
53
53
  className = _this$props.className,
54
- imageSupport = _this$props.imageSupport;
54
+ imageSupport = _this$props.imageSupport,
55
+ toolbarOpts = _this$props.toolbarOpts,
56
+ spellCheck = _this$props.spellCheck,
57
+ error = _this$props.error,
58
+ maxImageWidth = _this$props.maxImageWidth,
59
+ maxImageHeight = _this$props.maxImageHeight;
55
60
  var choicePlugins = {
56
61
  audio: {
57
62
  disabled: true
@@ -69,7 +74,12 @@ var InputHeader = /*#__PURE__*/function (_React$Component) {
69
74
  markup: label,
70
75
  onChange: onChange,
71
76
  className: classes.editor,
72
- pluginProps: choicePlugins
77
+ pluginProps: choicePlugins,
78
+ toolbarOpts: toolbarOpts,
79
+ spellCheck: spellCheck,
80
+ error: error,
81
+ maxImageWidth: maxImageWidth,
82
+ maxImageHeight: maxImageHeight
73
83
  }));
74
84
  }
75
85
  }]);
@@ -86,7 +96,9 @@ exports.InputHeader = InputHeader;
86
96
  imageSupport: _propTypes["default"].shape({
87
97
  add: _propTypes["default"].func.isRequired,
88
98
  "delete": _propTypes["default"].func.isRequired
89
- })
99
+ }),
100
+ toolbarOpts: _propTypes["default"].object,
101
+ error: _propTypes["default"].string
90
102
  });
91
103
  (0, _defineProperty2["default"])(InputHeader, "defaultProps", {});
92
104
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/design/input-header.jsx"],"names":["InputHeader","props","onChange","label","classes","className","imageSupport","choicePlugins","audio","disabled","video","inputHeader","editor","React","Component","PropTypes","object","isRequired","string","func","onDelete","shape","add","styles","theme","flex","paddingBottom","spacing","unit","iconButtonRoot","width","height","display","justifyContent"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,W;;;;;;;;;;;;WAcX,kBAAS;AAAA,wBACuD,KAAKC,KAD5D;AAAA,UACCC,QADD,eACCA,QADD;AAAA,UACWC,KADX,eACWA,KADX;AAAA,UACkBC,OADlB,eACkBA,OADlB;AAAA,UAC2BC,SAD3B,eAC2BA,SAD3B;AAAA,UACsCC,YADtC,eACsCA,YADtC;AAEP,UAAMC,aAAa,GAAG;AACpBC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADa;AAEpBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ;AAFa,OAAtB;AAKA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWL,OAAO,CAACO,WAAnB,EAAgCN,SAAhC;AAAhB,sBACE,gCAAC,wBAAD;AACE,QAAA,YAAY,EAAEC,YADhB;AAEE,QAAA,gBAAgB,MAFlB;AAGE,QAAA,KAAK,EAAE,OAHT;AAIE,QAAA,MAAM,EAAEH,KAJV;AAKE,QAAA,QAAQ,EAAED,QALZ;AAME,QAAA,SAAS,EAAEE,OAAO,CAACQ,MANrB;AAOE,QAAA,WAAW,EAAEL;AAPf,QADF,CADF;AAaD;;;EAlC8BM,kBAAMC,S;;;iCAA1Bd,W,eACQ;AACjBI,EAAAA,OAAO,EAAEW,sBAAUC,MAAV,CAAiBC,UADT;AAEjBZ,EAAAA,SAAS,EAAEU,sBAAUG,MAFJ;AAGjBf,EAAAA,KAAK,EAAEY,sBAAUG,MAHA;AAIjBhB,EAAAA,QAAQ,EAAEa,sBAAUI,IAJH;AAKjBC,EAAAA,QAAQ,EAAEL,sBAAUI,IALH;AAMjBb,EAAAA,YAAY,EAAES,sBAAUM,KAAV,CAAgB;AAC5BC,IAAAA,GAAG,EAAEP,sBAAUI,IAAV,CAAeF,UADQ;AAE5B,cAAQF,sBAAUI,IAAV,CAAeF;AAFK,GAAhB;AANG,C;iCADRjB,W,kBAaW,E;;AAuBxB,IAAMuB,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBZ,IAAAA,MAAM,EAAE;AACNa,MAAAA,IAAI,EAAE,GADA;AAENC,MAAAA,aAAa,EAAEF,KAAK,CAACG,OAAN,CAAcC;AAFvB,KADe;AAKvBC,IAAAA,cAAc,EAAE;AACdC,MAAAA,KAAK,EAAE,MADO;AAEdC,MAAAA,MAAM,EAAE;AAFM,KALO;AASvBpB,IAAAA,WAAW,EAAE;AACXqB,MAAAA,OAAO,EAAE,MADE;AAEXC,MAAAA,cAAc,EAAE;AAFL;AATU,GAAL;AAAA,CAApB;;eAce,wBAAWV,MAAX,EAAmBvB,WAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\n\nexport class InputHeader extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n label: PropTypes.string,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n static defaultProps = {};\n render() {\n const { onChange, label, classes, className, imageSupport } = this.props;\n const choicePlugins = {\n audio: { disabled: true },\n video: { disabled: true }\n };\n\n return (\n <div className={classNames(classes.inputHeader, className)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n label={'label'}\n markup={label}\n onChange={onChange}\n className={classes.editor}\n pluginProps={choicePlugins}\n />\n </div>\n );\n }\n}\nconst styles = theme => ({\n editor: {\n flex: '1',\n paddingBottom: theme.spacing.unit\n },\n iconButtonRoot: {\n width: 'auto',\n height: 'auto'\n },\n inputHeader: {\n display: 'flex',\n justifyContent: 'space-between'\n }\n});\nexport default withStyles(styles)(InputHeader);\n"],"file":"input-header.js"}
1
+ {"version":3,"sources":["../../src/design/input-header.jsx"],"names":["InputHeader","props","onChange","label","classes","className","imageSupport","toolbarOpts","spellCheck","error","maxImageWidth","maxImageHeight","choicePlugins","audio","disabled","video","inputHeader","editor","React","Component","PropTypes","object","isRequired","string","func","onDelete","shape","add","styles","theme","flex","paddingBottom","spacing","unit","iconButtonRoot","width","height","display","justifyContent"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,W;;;;;;;;;;;;WAgBX,kBAAS;AACP,wBAA6H,KAAKC,KAAlI;AAAA,UAAQC,QAAR,eAAQA,QAAR;AAAA,UAAkBC,KAAlB,eAAkBA,KAAlB;AAAA,UAAyBC,OAAzB,eAAyBA,OAAzB;AAAA,UAAkCC,SAAlC,eAAkCA,SAAlC;AAAA,UAA6CC,YAA7C,eAA6CA,YAA7C;AAAA,UAA2DC,WAA3D,eAA2DA,WAA3D;AAAA,UAAwEC,UAAxE,eAAwEA,UAAxE;AAAA,UAAoFC,KAApF,eAAoFA,KAApF;AAAA,UAA2FC,aAA3F,eAA2FA,aAA3F;AAAA,UAA0GC,cAA1G,eAA0GA,cAA1G;AACA,UAAMC,aAAa,GAAG;AACpBC,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADa;AAEpBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ;AAFa,OAAtB;AAKA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWV,OAAO,CAACY,WAAnB,EAAgCX,SAAhC;AAAhB,sBACE,gCAAC,wBAAD;AACE,QAAA,YAAY,EAAEC,YADhB;AAEE,QAAA,gBAAgB,MAFlB;AAGE,QAAA,KAAK,EAAE,OAHT;AAIE,QAAA,MAAM,EAAEH,KAJV;AAKE,QAAA,QAAQ,EAAED,QALZ;AAME,QAAA,SAAS,EAAEE,OAAO,CAACa,MANrB;AAOE,QAAA,WAAW,EAAEL,aAPf;AAQE,QAAA,WAAW,EAAEL,WARf;AASE,QAAA,UAAU,EAAEC,UATd;AAUE,QAAA,KAAK,EAAEC,KAVT;AAWE,QAAA,aAAa,EAAEC,aAXjB;AAYE,QAAA,cAAc,EAAEC;AAZlB,QADF,CADF;AAkBD;;;EAzC8BO,kBAAMC,S;;;iCAA1BnB,W,eACQ;AACjBI,EAAAA,OAAO,EAAEgB,sBAAUC,MAAV,CAAiBC,UADT;AAEjBjB,EAAAA,SAAS,EAAEe,sBAAUG,MAFJ;AAGjBpB,EAAAA,KAAK,EAAEiB,sBAAUG,MAHA;AAIjBrB,EAAAA,QAAQ,EAAEkB,sBAAUI,IAJH;AAKjBC,EAAAA,QAAQ,EAAEL,sBAAUI,IALH;AAMjBlB,EAAAA,YAAY,EAAEc,sBAAUM,KAAV,CAAgB;AAC5BC,IAAAA,GAAG,EAAEP,sBAAUI,IAAV,CAAeF,UADQ;AAE5B,cAAQF,sBAAUI,IAAV,CAAeF;AAFK,GAAhB,CANG;AAUjBf,EAAAA,WAAW,EAAEa,sBAAUC,MAVN;AAWjBZ,EAAAA,KAAK,EAAEW,sBAAUG;AAXA,C;iCADRvB,W,kBAeW,E;;AA4BxB,IAAM4B,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBZ,IAAAA,MAAM,EAAE;AACNa,MAAAA,IAAI,EAAE,GADA;AAENC,MAAAA,aAAa,EAAEF,KAAK,CAACG,OAAN,CAAcC;AAFvB,KADe;AAKvBC,IAAAA,cAAc,EAAE;AACdC,MAAAA,KAAK,EAAE,MADO;AAEdC,MAAAA,MAAM,EAAE;AAFM,KALO;AASvBpB,IAAAA,WAAW,EAAE;AACXqB,MAAAA,OAAO,EAAE,MADE;AAEXC,MAAAA,cAAc,EAAE;AAFL;AATU,GAAL;AAAA,CAApB;;eAce,wBAAWV,MAAX,EAAmB5B,WAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\n\nexport class InputHeader extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n label: PropTypes.string,\n onChange: PropTypes.func,\n onDelete: PropTypes.func,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n };\n\n static defaultProps = {};\n render() {\n const { onChange, label, classes, className, imageSupport, toolbarOpts, spellCheck, error, maxImageWidth, maxImageHeight } = this.props;\n const choicePlugins = {\n audio: { disabled: true },\n video: { disabled: true }\n };\n\n return (\n <div className={classNames(classes.inputHeader, className)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n label={'label'}\n markup={label}\n onChange={onChange}\n className={classes.editor}\n pluginProps={choicePlugins}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheck}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n />\n </div>\n );\n }\n}\nconst styles = theme => ({\n editor: {\n flex: '1',\n paddingBottom: theme.spacing.unit\n },\n iconButtonRoot: {\n width: 'auto',\n height: 'auto'\n },\n inputHeader: {\n display: 'flex',\n justifyContent: 'space-between'\n }\n});\nexport default withStyles(styles)(InputHeader);\n"],"file":"input-header.js"}
@@ -31,13 +31,13 @@ var _main = _interopRequireDefault(require("./main"));
31
31
 
32
32
  var _defaults = _interopRequireDefault(require("./defaults"));
33
33
 
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
35
 
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
37
 
38
38
  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); }; }
39
39
 
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
40
+ 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; } }
41
41
 
42
42
  var CategorizeConfigure = /*#__PURE__*/function (_HTMLElement) {
43
43
  (0, _inherits2["default"])(CategorizeConfigure, _HTMLElement);
@@ -31,7 +31,7 @@ var _design = _interopRequireDefault(require("./design"));
31
31
 
32
32
  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); }; }
33
33
 
34
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }
34
+ 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; } }
35
35
 
36
36
  var Main = /*#__PURE__*/function (_React$Component) {
37
37
  (0, _inherits2["default"])(Main, _React$Component);
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["Main","props","classes","className","model","onModelChanged","configuration","onConfigurationChanged","main","imageSupport","React","Component","PropTypes","object","isRequired","string","func","styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,I;;;;;;;;;;;;WAaX,kBAAS;AAAA,wBAQH,KAAKC,KARF;AAAA,UAELC,OAFK,eAELA,OAFK;AAAA,UAGLC,SAHK,eAGLA,SAHK;AAAA,UAILC,KAJK,eAILA,KAJK;AAAA,UAKLC,cALK,eAKLA,cALK;AAAA,UAMLC,aANK,eAMLA,aANK;AAAA,UAOLC,sBAPK,eAOLA,sBAPK;AAUP,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWL,OAAO,CAACM,IAAnB,EAAyBL,SAAzB;AAAhB,sBACE,gCAAC,kBAAD;AACE,QAAA,YAAY,EAAE,KAAKF,KAAL,CAAWQ,YAD3B;AAEE,QAAA,KAAK,EAAC,QAFR;AAGE,QAAA,KAAK,EAAEL,KAHT;AAIE,QAAA,aAAa,EAAEE,aAJjB;AAKE,QAAA,QAAQ,EAAED,cALZ;AAME,QAAA,sBAAsB,EAAEE;AAN1B,QADF,CADF;AAYD;;;EAnCuBG,kBAAMC,S;;;iCAAnBX,I,eACQ;AACjBE,EAAAA,OAAO,EAAEU,sBAAUC,MAAV,CAAiBC,UADT;AAEjBR,EAAAA,aAAa,EAAEM,sBAAUC,MAFR;AAGjBV,EAAAA,SAAS,EAAES,sBAAUG,MAHJ;AAIjBR,EAAAA,sBAAsB,EAAEK,sBAAUI,IAJjB;AAKjBZ,EAAAA,KAAK,EAAEQ,sBAAUC,MAAV,CAAiBC,UALP;AAMjBT,EAAAA,cAAc,EAAEO,sBAAUI,IAAV,CAAeF,UANd;AAOjBL,EAAAA,YAAY,EAAEG,sBAAUC;AAPP,C;iCADRb,I,kBAWW,E;;AA0BxB,IAAMiB,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBT,IAAAA,IAAI,EAAE;AADc,GAAP;AAAA,CAAf;;eAIe,wBAAWS,MAAX,EAAmBjB,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Design from './design';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n className: PropTypes.string,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.object\n };\n\n static defaultProps = {};\n\n render() {\n const {\n classes,\n className,\n model,\n onModelChanged,\n configuration,\n onConfigurationChanged\n } = this.props;\n\n return (\n <div className={classNames(classes.main, className)}>\n <Design\n imageSupport={this.props.imageSupport}\n title=\"Design\"\n model={model}\n configuration={configuration}\n onChange={onModelChanged}\n onConfigurationChanged={onConfigurationChanged}\n />\n </div>\n );\n }\n}\nconst styles = () => ({\n main: {}\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["Main","props","classes","className","model","onModelChanged","configuration","onConfigurationChanged","main","imageSupport","React","Component","PropTypes","object","isRequired","string","func","styles"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,I;;;;;;;;;;;;WAaX,kBAAS;AACP,wBAOI,KAAKC,KAPT;AAAA,UACEC,OADF,eACEA,OADF;AAAA,UAEEC,SAFF,eAEEA,SAFF;AAAA,UAGEC,KAHF,eAGEA,KAHF;AAAA,UAIEC,cAJF,eAIEA,cAJF;AAAA,UAKEC,aALF,eAKEA,aALF;AAAA,UAMEC,sBANF,eAMEA,sBANF;AASA,0BACE;AAAK,QAAA,SAAS,EAAE,4BAAWL,OAAO,CAACM,IAAnB,EAAyBL,SAAzB;AAAhB,sBACE,gCAAC,kBAAD;AACE,QAAA,YAAY,EAAE,KAAKF,KAAL,CAAWQ,YAD3B;AAEE,QAAA,KAAK,EAAC,QAFR;AAGE,QAAA,KAAK,EAAEL,KAHT;AAIE,QAAA,aAAa,EAAEE,aAJjB;AAKE,QAAA,QAAQ,EAAED,cALZ;AAME,QAAA,sBAAsB,EAAEE;AAN1B,QADF,CADF;AAYD;;;EAnCuBG,kBAAMC,S;;;iCAAnBX,I,eACQ;AACjBE,EAAAA,OAAO,EAAEU,sBAAUC,MAAV,CAAiBC,UADT;AAEjBR,EAAAA,aAAa,EAAEM,sBAAUC,MAFR;AAGjBV,EAAAA,SAAS,EAAES,sBAAUG,MAHJ;AAIjBR,EAAAA,sBAAsB,EAAEK,sBAAUI,IAJjB;AAKjBZ,EAAAA,KAAK,EAAEQ,sBAAUC,MAAV,CAAiBC,UALP;AAMjBT,EAAAA,cAAc,EAAEO,sBAAUI,IAAV,CAAeF,UANd;AAOjBL,EAAAA,YAAY,EAAEG,sBAAUC;AAPP,C;iCADRb,I,kBAWW,E;;AA0BxB,IAAMiB,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBT,IAAAA,IAAI,EAAE;AADc,GAAP;AAAA,CAAf;;eAIe,wBAAWS,MAAX,EAAmBjB,IAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Design from './design';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n configuration: PropTypes.object,\n className: PropTypes.string,\n onConfigurationChanged: PropTypes.func,\n model: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.object\n };\n\n static defaultProps = {};\n\n render() {\n const {\n classes,\n className,\n model,\n onModelChanged,\n configuration,\n onConfigurationChanged\n } = this.props;\n\n return (\n <div className={classNames(classes.main, className)}>\n <Design\n imageSupport={this.props.imageSupport}\n title=\"Design\"\n model={model}\n configuration={configuration}\n onChange={onModelChanged}\n onConfigurationChanged={onConfigurationChanged}\n />\n </div>\n );\n }\n}\nconst styles = () => ({\n main: {}\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}