@pie-lib/config-ui 11.1.5-next.48 → 11.1.5-next.49

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 (63) hide show
  1. package/lib/alert-dialog.js +10 -4
  2. package/lib/alert-dialog.js.map +1 -1
  3. package/lib/checkbox.js +17 -5
  4. package/lib/checkbox.js.map +1 -1
  5. package/lib/choice-configuration/feedback-menu.js +38 -5
  6. package/lib/choice-configuration/feedback-menu.js.map +1 -1
  7. package/lib/choice-configuration/index.js +94 -48
  8. package/lib/choice-configuration/index.js.map +1 -1
  9. package/lib/choice-utils.js +11 -1
  10. package/lib/choice-utils.js.map +1 -1
  11. package/lib/feedback-config/feedback-selector.js +41 -9
  12. package/lib/feedback-config/feedback-selector.js.map +1 -1
  13. package/lib/feedback-config/group.js +16 -5
  14. package/lib/feedback-config/group.js.map +1 -1
  15. package/lib/feedback-config/index.js +46 -6
  16. package/lib/feedback-config/index.js.map +1 -1
  17. package/lib/form-section.js +12 -4
  18. package/lib/form-section.js.map +1 -1
  19. package/lib/help.js +37 -6
  20. package/lib/help.js.map +1 -1
  21. package/lib/index.js +29 -0
  22. package/lib/index.js.map +1 -1
  23. package/lib/input.js +37 -9
  24. package/lib/input.js.map +1 -1
  25. package/lib/inputs.js +35 -16
  26. package/lib/inputs.js.map +1 -1
  27. package/lib/langs.js +39 -10
  28. package/lib/langs.js.map +1 -1
  29. package/lib/layout/config-layout.js +26 -3
  30. package/lib/layout/config-layout.js.map +1 -1
  31. package/lib/layout/index.js +3 -0
  32. package/lib/layout/index.js.map +1 -1
  33. package/lib/layout/layout-contents.js +39 -13
  34. package/lib/layout/layout-contents.js.map +1 -1
  35. package/lib/layout/settings-box.js +24 -3
  36. package/lib/layout/settings-box.js.map +1 -1
  37. package/lib/mui-box/index.js +10 -3
  38. package/lib/mui-box/index.js.map +1 -1
  39. package/lib/number-text-field-custom.js +82 -29
  40. package/lib/number-text-field-custom.js.map +1 -1
  41. package/lib/number-text-field.js +66 -16
  42. package/lib/number-text-field.js.map +1 -1
  43. package/lib/radio-with-label.js +11 -4
  44. package/lib/radio-with-label.js.map +1 -1
  45. package/lib/settings/display-size.js +15 -3
  46. package/lib/settings/display-size.js.map +1 -1
  47. package/lib/settings/index.js +27 -4
  48. package/lib/settings/index.js.map +1 -1
  49. package/lib/settings/panel.js +102 -40
  50. package/lib/settings/panel.js.map +1 -1
  51. package/lib/settings/settings-radio-label.js +11 -4
  52. package/lib/settings/settings-radio-label.js.map +1 -1
  53. package/lib/settings/toggle.js +10 -3
  54. package/lib/settings/toggle.js.map +1 -1
  55. package/lib/tabs/index.js +29 -6
  56. package/lib/tabs/index.js.map +1 -1
  57. package/lib/tags-input/index.js +41 -4
  58. package/lib/tags-input/index.js.map +1 -1
  59. package/lib/two-choice.js +48 -14
  60. package/lib/two-choice.js.map +1 -1
  61. package/lib/with-stateful-model.js +19 -0
  62. package/lib/with-stateful-model.js.map +1 -1
  63. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["EditableHtmlContainer","withStyles","theme","labelContainer","editorHolder","marginTop","spacing","unit","label","classes","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","names","classNames","editor","language","Feedback","text","width","feedbackContainer","position","arrowIcon","fill","left","top","type","correct","defaults","incorrect","ChoiceConfiguration","key","update","props","data","_changeFn","event","target","checked","v","feedback","fb","t","undefined","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","InputCheckbox","InputRadio","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","onCheckedChange","middleColumn","onLabelChange","errorText","onFeedbackValueChange","onFeedbackTypeChange","icon","feedbackIcon","deleteIcon","React","Component","PropTypes","object","isRequired","bool","string","oneOf","shape","func","number","add","styles","padding","display","flex","paddingRight","paddingTop","paddingLeft","marginLeft","margin","flexDirection","fontSize","color"],"sources":["../../src/choice-configuration/index.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\n\nconst EditableHtmlContainer = withStyles((theme) => ({\n labelContainer: {},\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n}))(\n ({\n label,\n classes,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n }) => {\n const names = classNames(classes.labelContainer, className);\n\n return (\n <InputContainer label={label} className={names}>\n <div className={classes.editorHolder}>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n className={classes.editor}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n </InputContainer>\n );\n },\n);\n\nconst Feedback = withStyles(() => ({\n text: {\n width: '100%',\n },\n feedbackContainer: {\n position: 'relative',\n },\n arrowIcon: {\n fill: '#ccc',\n left: -56,\n position: 'absolute',\n top: 20,\n },\n}))(({ value, onChange, type, correct, classes, defaults, toolbarOpts }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <TextField\n className={classes.text}\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </div>\n );\n } else {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <EditableHtmlContainer\n className={classes.text}\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n});\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n mode: PropTypes.oneOf(['checkbox', 'radio']),\n defaultFeedback: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n nonEmpty: PropTypes.bool,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n correct: PropTypes.bool,\n feedback: PropTypes.shape({\n type: PropTypes.string,\n value: PropTypes.string,\n }),\n }),\n onDelete: PropTypes.func,\n onChange: PropTypes.func,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n disableImageAlignmentButtons: PropTypes.bool,\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n index: -1,\n noLabels: false,\n useLetterOrdering: false,\n allowFeedBack: true,\n allowDelete: true,\n };\n\n _changeFn = (key) => (update) => {\n const { data, onChange } = this.props;\n if (onChange) {\n onChange({ ...data, [key]: update });\n }\n };\n\n onLabelChange = this._changeFn('label');\n\n onCheckedChange = (event) => {\n const correct = event.target.checked;\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, correct });\n }\n };\n\n onFeedbackValueChange = (v) => {\n const { data, onChange } = this.props;\n\n if (data.feedback.type !== 'custom') {\n return;\n }\n\n const fb = { ...data.feedback, value: v };\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n onFeedbackTypeChange = (t) => {\n const { data, onChange } = this.props;\n const fb = { ...data.feedback, type: t };\n if (fb.type !== 'custom') {\n fb.value = undefined;\n }\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n render() {\n const {\n data,\n classes,\n mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(classes.choiceConfiguration, className);\n return (\n <div className={names}>\n <div className={classes.topRow}>\n {index > 0 && (\n <span className={classes.index} type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </span>\n )}\n <InputToggle\n className={classes.toggle}\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n <div className={classes.middleColumn}>\n <EditableHtmlContainer\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n />\n {error && <div className={classes.errorText}>{error}</div>}\n\n {allowFeedBack && (\n <Feedback\n {...data.feedback}\n correct={data.correct}\n defaults={defaultFeedback}\n onChange={this.onFeedbackValueChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n {allowFeedBack && (\n <InputContainer className={classes.feedback} label={!noLabels ? 'Feedback' : ''}>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n classes={{\n icon: classes.feedbackIcon,\n }}\n />\n </InputContainer>\n )}\n {allowDelete && (\n <InputContainer className={classes.delete} label={!noLabels ? 'Delete' : ''}>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={onDelete}>\n <ActionDelete />\n </IconButton>\n </InputContainer>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n index: {\n padding: '24px 10px 0 0',\n },\n choiceConfiguration: {},\n topRow: {\n display: 'flex',\n },\n value: {\n flex: '0.5',\n paddingRight: theme.spacing.unit,\n },\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n toggle: {\n flex: '0 1 auto',\n },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0,\n paddingRight: theme.spacing.unit * 3,\n },\n feedbackIcon: {\n margin: 0,\n paddingLeft: 0,\n width: 'inherit',\n },\n deleteIcon: {\n margin: 0,\n width: 'inherit',\n },\n delete: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0,\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n },\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/choice-configuration/index.jsx"],"names":["EditableHtmlContainer","theme","labelContainer","editorHolder","marginTop","spacing","unit","label","classes","onChange","value","className","imageSupport","disableImageAlignmentButtons","disabled","spellCheck","nonEmpty","toolbarOpts","error","maxImageWidth","maxImageHeight","uploadSoundSupport","names","editor","language","Feedback","text","width","feedbackContainer","position","arrowIcon","fill","left","top","type","correct","defaults","incorrect","ChoiceConfiguration","key","update","props","data","_changeFn","event","target","checked","v","feedback","fb","t","undefined","mode","onDelete","defaultFeedback","index","noLabels","useLetterOrdering","allowFeedBack","allowDelete","noCorrectAnswerError","InputToggle","InputCheckbox","InputRadio","choiceConfiguration","topRow","String","fromCharCode","toUpperCase","toggle","onCheckedChange","middleColumn","onLabelChange","errorText","onFeedbackValueChange","onFeedbackTypeChange","icon","feedbackIcon","deleteIcon","React","Component","PropTypes","object","isRequired","bool","string","oneOf","shape","func","number","add","styles","padding","display","flex","paddingRight","paddingTop","paddingLeft","marginLeft","margin","flexDirection","fontSize","color"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport TextField from '@material-ui/core/TextField';\nimport classNames from 'classnames';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputCheckbox, InputRadio } from '../inputs';\nimport FeedbackMenu from './feedback-menu';\nimport ActionDelete from '@material-ui/icons/Delete';\nimport ArrowRight from '@material-ui/icons/SubdirectoryArrowRight';\nimport IconButton from '@material-ui/core/IconButton';\n\nconst EditableHtmlContainer = withStyles((theme) => ({\n labelContainer: {},\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n}))(\n ({\n label,\n classes,\n onChange,\n value,\n className,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n toolbarOpts,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n }) => {\n const names = classNames(classes.labelContainer, className);\n\n return (\n <InputContainer label={label} className={names}>\n <div className={classes.editorHolder}>\n <EditableHtml\n markup={value || ''}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n onChange={onChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n className={classes.editor}\n toolbarOpts={toolbarOpts}\n error={error}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n </InputContainer>\n );\n },\n);\n\nconst Feedback = withStyles(() => ({\n text: {\n width: '100%',\n },\n feedbackContainer: {\n position: 'relative',\n },\n arrowIcon: {\n fill: '#ccc',\n left: -56,\n position: 'absolute',\n top: 20,\n },\n}))(({ value, onChange, type, correct, classes, defaults, toolbarOpts }) => {\n if (!type || type === 'none') {\n return null;\n } else if (type === 'default') {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <TextField\n className={classes.text}\n label=\"Feedback Text\"\n value={correct ? defaults.correct : defaults.incorrect}\n />\n </div>\n );\n } else {\n return (\n <div className={classes.feedbackContainer}>\n <ArrowRight className={classes.arrowIcon} />\n <EditableHtmlContainer\n className={classes.text}\n label=\"Feedback Text\"\n value={value}\n onChange={onChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n );\n }\n});\n\nexport class ChoiceConfiguration extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n noLabels: PropTypes.bool,\n useLetterOrdering: PropTypes.bool,\n className: PropTypes.string,\n mode: PropTypes.oneOf(['checkbox', 'radio']),\n defaultFeedback: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n nonEmpty: PropTypes.bool,\n data: PropTypes.shape({\n label: PropTypes.string.isRequired,\n value: PropTypes.string.isRequired,\n correct: PropTypes.bool,\n feedback: PropTypes.shape({\n type: PropTypes.string,\n value: PropTypes.string,\n }),\n }),\n onDelete: PropTypes.func,\n onChange: PropTypes.func,\n index: PropTypes.number,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n disableImageAlignmentButtons: PropTypes.bool,\n allowFeedBack: PropTypes.bool,\n allowDelete: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n index: -1,\n noLabels: false,\n useLetterOrdering: false,\n allowFeedBack: true,\n allowDelete: true,\n };\n\n _changeFn = (key) => (update) => {\n const { data, onChange } = this.props;\n if (onChange) {\n onChange({ ...data, [key]: update });\n }\n };\n\n onLabelChange = this._changeFn('label');\n\n onCheckedChange = (event) => {\n const correct = event.target.checked;\n const { data, onChange } = this.props;\n\n if (onChange) {\n onChange({ ...data, correct });\n }\n };\n\n onFeedbackValueChange = (v) => {\n const { data, onChange } = this.props;\n\n if (data.feedback.type !== 'custom') {\n return;\n }\n\n const fb = { ...data.feedback, value: v };\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n onFeedbackTypeChange = (t) => {\n const { data, onChange } = this.props;\n const fb = { ...data.feedback, type: t };\n if (fb.type !== 'custom') {\n fb.value = undefined;\n }\n\n if (onChange) onChange({ ...data, feedback: fb });\n };\n\n render() {\n const {\n data,\n classes,\n mode,\n onDelete,\n defaultFeedback,\n index,\n className,\n noLabels,\n useLetterOrdering,\n imageSupport,\n disableImageAlignmentButtons,\n disabled,\n spellCheck,\n nonEmpty,\n allowFeedBack,\n allowDelete,\n toolbarOpts,\n error,\n noCorrectAnswerError,\n uploadSoundSupport,\n } = this.props;\n\n const InputToggle = mode === 'checkbox' ? InputCheckbox : InputRadio;\n const names = classNames(classes.choiceConfiguration, className);\n return (\n <div className={names}>\n <div className={classes.topRow}>\n {index > 0 && (\n <span className={classes.index} type=\"title\">\n {useLetterOrdering ? String.fromCharCode(96 + index).toUpperCase() : index}\n </span>\n )}\n <InputToggle\n className={classes.toggle}\n onChange={this.onCheckedChange}\n label={!noLabels ? 'Correct' : ''}\n checked={!!data.correct}\n error={noCorrectAnswerError}\n />\n <div className={classes.middleColumn}>\n <EditableHtmlContainer\n label={!noLabels ? 'Label' : ''}\n value={data.label}\n onChange={this.onLabelChange}\n imageSupport={imageSupport}\n disableImageAlignmentButtons={disableImageAlignmentButtons}\n disabled={disabled}\n spellCheck={spellCheck}\n nonEmpty={nonEmpty}\n toolbarOpts={toolbarOpts}\n error={error}\n uploadSoundSupport={uploadSoundSupport}\n />\n {error && <div className={classes.errorText}>{error}</div>}\n\n {allowFeedBack && (\n <Feedback\n {...data.feedback}\n correct={data.correct}\n defaults={defaultFeedback}\n onChange={this.onFeedbackValueChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n {allowFeedBack && (\n <InputContainer className={classes.feedback} label={!noLabels ? 'Feedback' : ''}>\n <FeedbackMenu\n onChange={this.onFeedbackTypeChange}\n value={data.feedback}\n classes={{\n icon: classes.feedbackIcon,\n }}\n />\n </InputContainer>\n )}\n {allowDelete && (\n <InputContainer className={classes.delete} label={!noLabels ? 'Delete' : ''}>\n <IconButton aria-label=\"delete\" className={classes.deleteIcon} onClick={onDelete}>\n <ActionDelete />\n </IconButton>\n </InputContainer>\n )}\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n index: {\n padding: '24px 10px 0 0',\n },\n choiceConfiguration: {},\n topRow: {\n display: 'flex',\n },\n value: {\n flex: '0.5',\n paddingRight: theme.spacing.unit,\n },\n editorHolder: {\n marginTop: theme.spacing.unit * 2,\n },\n toggle: {\n flex: '0 1 auto',\n },\n feedback: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0,\n paddingRight: theme.spacing.unit * 3,\n },\n feedbackIcon: {\n margin: 0,\n paddingLeft: 0,\n width: 'inherit',\n },\n deleteIcon: {\n margin: 0,\n width: 'inherit',\n },\n delete: {\n flex: '0 1 auto',\n paddingTop: theme.spacing.unit,\n paddingLeft: 0,\n marginLeft: 0,\n },\n middleColumn: {\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n },\n errorText: {\n fontSize: '12px',\n color: 'red',\n },\n});\n\nexport default withStyles(styles)(ChoiceConfiguration);\n"],"file":"index.js"}
@@ -1,14 +1,20 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports.normalizeChoices = exports.firstAvailableIndex = void 0;
9
+
8
10
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
9
12
  var _includes = _interopRequireDefault(require("lodash/includes"));
13
+
10
14
  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; }
15
+
11
16
  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; }
17
+
12
18
  /**
13
19
  * Add value to every model.choices.
14
20
  * @param {Object} model the model to normalize
@@ -19,20 +25,23 @@ var normalizeChoices = function normalizeChoices(model) {
19
25
  if (!c.value) {
20
26
  c.value = "".concat(index);
21
27
  }
28
+
22
29
  return c;
23
30
  });
24
31
  return _objectSpread(_objectSpread({}, model), {}, {
25
32
  choices: choices
26
33
  });
27
34
  };
28
-
29
35
  /**
30
36
  * Find the first available index.
31
37
  * @param {string[]} values
32
38
  * @param {number} index
33
39
  * @return {string}
34
40
  */
41
+
42
+
35
43
  exports.normalizeChoices = normalizeChoices;
44
+
36
45
  var firstAvailableIndex = function firstAvailableIndex(values, index) {
37
46
  if ((0, _includes["default"])(values, "".concat(index))) {
38
47
  return firstAvailableIndex(values, index + 1);
@@ -40,5 +49,6 @@ var firstAvailableIndex = function firstAvailableIndex(values, index) {
40
49
  return "".concat(index);
41
50
  }
42
51
  };
52
+
43
53
  exports.firstAvailableIndex = firstAvailableIndex;
44
54
  //# sourceMappingURL=choice-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"choice-utils.js","names":["normalizeChoices","model","choices","map","c","index","value","firstAvailableIndex","values","includes"],"sources":["../src/choice-utils.js"],"sourcesContent":["import includes from 'lodash/includes';\n\n/**\n * Add value to every model.choices.\n * @param {Object} model the model to normalize\n * @return {Object} the updated model\n */\nexport const normalizeChoices = (model) => {\n const choices = model.choices.map((c, index) => {\n if (!c.value) {\n c.value = `${index}`;\n }\n return c;\n });\n return { ...model, choices };\n};\n\n/**\n * Find the first available index.\n * @param {string[]} values\n * @param {number} index\n * @return {string}\n */\nexport const firstAvailableIndex = (values, index) => {\n if (includes(values, `${index}`)) {\n return firstAvailableIndex(values, index + 1);\n } else {\n return `${index}`;\n }\n};\n"],"mappings":";;;;;;;;AAAA;AAAuC;AAAA;AAEvC;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAgB,CAAIC,KAAK,EAAK;EACzC,IAAMC,OAAO,GAAGD,KAAK,CAACC,OAAO,CAACC,GAAG,CAAC,UAACC,CAAC,EAAEC,KAAK,EAAK;IAC9C,IAAI,CAACD,CAAC,CAACE,KAAK,EAAE;MACZF,CAAC,CAACE,KAAK,aAAMD,KAAK,CAAE;IACtB;IACA,OAAOD,CAAC;EACV,CAAC,CAAC;EACF,uCAAYH,KAAK;IAAEC,OAAO,EAAPA;EAAO;AAC5B,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA;AAMO,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAmB,CAAIC,MAAM,EAAEH,KAAK,EAAK;EACpD,IAAI,IAAAI,oBAAQ,EAACD,MAAM,YAAKH,KAAK,EAAG,EAAE;IAChC,OAAOE,mBAAmB,CAACC,MAAM,EAAEH,KAAK,GAAG,CAAC,CAAC;EAC/C,CAAC,MAAM;IACL,iBAAUA,KAAK;EACjB;AACF,CAAC;AAAC"}
1
+ {"version":3,"sources":["../src/choice-utils.js"],"names":["normalizeChoices","model","choices","map","c","index","value","firstAvailableIndex","values"],"mappings":";;;;;;;;;;;AAAA;;;;;;AAEA;AACA;AACA;AACA;AACA;AACO,IAAMA,gBAAgB,GAAG,SAAnBA,gBAAmB,CAACC,KAAD,EAAW;AACzC,MAAMC,OAAO,GAAGD,KAAK,CAACC,OAAN,CAAcC,GAAd,CAAkB,UAACC,CAAD,EAAIC,KAAJ,EAAc;AAC9C,QAAI,CAACD,CAAC,CAACE,KAAP,EAAc;AACZF,MAAAA,CAAC,CAACE,KAAF,aAAaD,KAAb;AACD;;AACD,WAAOD,CAAP;AACD,GALe,CAAhB;AAMA,yCAAYH,KAAZ;AAAmBC,IAAAA,OAAO,EAAPA;AAAnB;AACD,CARM;AAUP;AACA;AACA;AACA;AACA;AACA;;;;;AACO,IAAMK,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,MAAD,EAASH,KAAT,EAAmB;AACpD,MAAI,0BAASG,MAAT,YAAoBH,KAApB,EAAJ,EAAkC;AAChC,WAAOE,mBAAmB,CAACC,MAAD,EAASH,KAAK,GAAG,CAAjB,CAA1B;AACD,GAFD,MAEO;AACL,qBAAUA,KAAV;AACD;AACF,CANM","sourcesContent":["import includes from 'lodash/includes';\n\n/**\n * Add value to every model.choices.\n * @param {Object} model the model to normalize\n * @return {Object} the updated model\n */\nexport const normalizeChoices = (model) => {\n const choices = model.choices.map((c, index) => {\n if (!c.value) {\n c.value = `${index}`;\n }\n return c;\n });\n return { ...model, choices };\n};\n\n/**\n * Find the first available index.\n * @param {string[]} values\n * @param {number} index\n * @return {string}\n */\nexport const firstAvailableIndex = (values, index) => {\n if (includes(values, `${index}`)) {\n return firstAvailableIndex(values, index + 1);\n } else {\n return `${index}`;\n }\n};\n"],"file":"choice-utils.js"}
@@ -1,32 +1,52 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = exports.FeedbackType = exports.FeedbackSelector = void 0;
9
+
8
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
9
12
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
10
14
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
11
16
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
12
18
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
13
20
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
14
22
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
+
15
24
  var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
25
+
16
26
  var _renderUi = require("@pie-lib/render-ui");
27
+
17
28
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
+
18
30
  var _react = _interopRequireDefault(require("react"));
31
+
19
32
  var _styles = require("@material-ui/core/styles");
33
+
20
34
  var _group = _interopRequireDefault(require("./group"));
35
+
21
36
  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); }; }
37
+
22
38
  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; } }
39
+
23
40
  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; }
41
+
24
42
  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; }
43
+
25
44
  var feedbackLabels = {
26
45
  "default": 'Simple Feedback',
27
46
  none: 'No Feedback',
28
47
  custom: 'Customized Feedback'
29
48
  };
49
+
30
50
  var holder = function holder(theme, extras) {
31
51
  return _objectSpread({
32
52
  marginTop: '0px',
@@ -35,6 +55,7 @@ var holder = function holder(theme, extras) {
35
55
  marginBottom: theme.spacing.unit * 2
36
56
  }, extras);
37
57
  };
58
+
38
59
  var style = function style(theme) {
39
60
  return {
40
61
  feedbackSelector: {
@@ -65,34 +86,41 @@ var style = function style(theme) {
65
86
  }
66
87
  };
67
88
  };
89
+
68
90
  var FeedbackType = {
69
91
  type: _propTypes["default"].oneOf(['default', 'custom', 'none']),
70
92
  "default": _propTypes["default"].string,
71
93
  custom: _propTypes["default"].string
72
94
  };
73
95
  exports.FeedbackType = FeedbackType;
96
+
74
97
  var FeedbackSelector = /*#__PURE__*/function (_React$Component) {
75
98
  (0, _inherits2["default"])(FeedbackSelector, _React$Component);
99
+
76
100
  var _super = _createSuper(FeedbackSelector);
101
+
77
102
  function FeedbackSelector() {
78
103
  var _this;
104
+
79
105
  (0, _classCallCheck2["default"])(this, FeedbackSelector);
106
+
80
107
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
81
108
  args[_key] = arguments[_key];
82
109
  }
110
+
83
111
  _this = _super.call.apply(_super, [this].concat(args));
84
112
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeType", function (type) {
85
113
  var _this$props = _this.props,
86
- onChange = _this$props.onChange,
87
- feedback = _this$props.feedback;
114
+ onChange = _this$props.onChange,
115
+ feedback = _this$props.feedback;
88
116
  onChange(_objectSpread(_objectSpread({}, feedback), {}, {
89
117
  type: type
90
118
  }));
91
119
  });
92
120
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeCustom", function (custom) {
93
121
  var _this$props2 = _this.props,
94
- onChange = _this$props2.onChange,
95
- feedback = _this$props2.feedback;
122
+ onChange = _this$props2.onChange,
123
+ feedback = _this$props2.feedback;
96
124
  onChange(_objectSpread(_objectSpread({}, feedback), {}, {
97
125
  type: 'custom',
98
126
  custom: custom
@@ -100,15 +128,16 @@ var FeedbackSelector = /*#__PURE__*/function (_React$Component) {
100
128
  });
101
129
  return _this;
102
130
  }
131
+
103
132
  (0, _createClass2["default"])(FeedbackSelector, [{
104
133
  key: "render",
105
134
  value: function render() {
106
135
  var _this$props3 = this.props,
107
- keys = _this$props3.keys,
108
- classes = _this$props3.classes,
109
- label = _this$props3.label,
110
- feedback = _this$props3.feedback,
111
- toolbarOpts = _this$props3.toolbarOpts;
136
+ keys = _this$props3.keys,
137
+ classes = _this$props3.classes,
138
+ label = _this$props3.label,
139
+ feedback = _this$props3.feedback,
140
+ toolbarOpts = _this$props3.toolbarOpts;
112
141
  var feedbackKeys = keys || Object.keys(feedbackLabels);
113
142
  return /*#__PURE__*/_react["default"].createElement("div", {
114
143
  className: classes.feedbackSelector
@@ -144,6 +173,7 @@ var FeedbackSelector = /*#__PURE__*/function (_React$Component) {
144
173
  }]);
145
174
  return FeedbackSelector;
146
175
  }(_react["default"].Component);
176
+
147
177
  exports.FeedbackSelector = FeedbackSelector;
148
178
  (0, _defineProperty2["default"])(FeedbackSelector, "propTypes", {
149
179
  keys: _propTypes["default"].arrayOf(_propTypes["default"].string),
@@ -153,6 +183,8 @@ exports.FeedbackSelector = FeedbackSelector;
153
183
  onChange: _propTypes["default"].func.isRequired,
154
184
  toolbarOpts: _propTypes["default"].object
155
185
  });
186
+
156
187
  var _default = (0, _styles.withStyles)(style)(FeedbackSelector);
188
+
157
189
  exports["default"] = _default;
158
190
  //# sourceMappingURL=feedback-selector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"feedback-selector.js","names":["feedbackLabels","none","custom","holder","theme","extras","marginTop","background","padding","spacing","unit","marginBottom","style","feedbackSelector","label","cursor","inputContainerLabel","transform","feedbackInputContainer","paddingBottom","customHolder","defaultHolder","fontFamily","typography","editor","group","paddingTop","FeedbackType","type","PropTypes","oneOf","string","FeedbackSelector","props","onChange","feedback","keys","classes","toolbarOpts","feedbackKeys","Object","changeType","changeCustom","language","React","Component","arrayOf","object","isRequired","shape","func","withStyles"],"sources":["../../src/feedback-config/feedback-selector.jsx"],"sourcesContent":["import EditableHTML from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Group from './group';\n\nconst feedbackLabels = {\n default: 'Simple Feedback',\n none: 'No Feedback',\n custom: 'Customized Feedback',\n};\n\nconst holder = (theme, extras) => ({\n marginTop: '0px',\n background: '#e0dee0',\n padding: theme.spacing.unit * 0.9,\n marginBottom: theme.spacing.unit * 2,\n ...extras,\n});\n\nconst style = (theme) => ({\n feedbackSelector: {\n marginBottom: theme.spacing.unit,\n },\n label: {\n cursor: 'pointer',\n },\n inputContainerLabel: {\n transform: 'translateY(-20%)',\n },\n feedbackInputContainer: {\n paddingBottom: 0,\n },\n customHolder: holder(theme, {\n background: '#e0dee0',\n padding: 0,\n }),\n defaultHolder: holder(theme, {\n fontFamily: theme.typography.fontFamily,\n cursor: 'default',\n }),\n editor: {\n fontFamily: theme.typography.fontFamily,\n },\n group: {\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport const FeedbackType = {\n type: PropTypes.oneOf(['default', 'custom', 'none']),\n default: PropTypes.string,\n custom: PropTypes.string,\n};\n\nexport class FeedbackSelector extends React.Component {\n static propTypes = {\n keys: PropTypes.arrayOf(PropTypes.string),\n classes: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n feedback: PropTypes.shape(FeedbackType).isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n changeType = (type) => {\n const { onChange, feedback } = this.props;\n onChange({ ...feedback, type });\n };\n\n changeCustom = (custom) => {\n const { onChange, feedback } = this.props;\n onChange({ ...feedback, type: 'custom', custom });\n };\n\n render() {\n const { keys, classes, label, feedback, toolbarOpts } = this.props;\n\n const feedbackKeys = keys || Object.keys(feedbackLabels);\n\n return (\n <div className={classes.feedbackSelector}>\n <InputContainer\n label={label}\n className={classes.feedbackInputContainer}\n extraClasses={{ label: classes.inputContainerLabel }}\n >\n <Group\n className={classes.group}\n keys={feedbackKeys}\n label={label}\n value={feedback.type}\n onChange={this.changeType}\n feedbackLabels={feedbackLabels}\n />\n </InputContainer>\n {feedback.type === 'custom' && (\n <div className={classes.customHolder}>\n <EditableHTML\n className={classes.editor}\n onChange={this.changeCustom}\n markup={feedback.custom || ''}\n toolbarOpts={toolbarOpts}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n )}\n {feedback.type === 'default' && <div className={classes.defaultHolder}> {feedback.default}</div>}\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackSelector);\n"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/feedback-config/feedback-selector.jsx"],"names":["feedbackLabels","none","custom","holder","theme","extras","marginTop","background","padding","spacing","unit","marginBottom","style","feedbackSelector","label","cursor","inputContainerLabel","transform","feedbackInputContainer","paddingBottom","customHolder","defaultHolder","fontFamily","typography","editor","group","paddingTop","FeedbackType","type","PropTypes","oneOf","string","FeedbackSelector","props","onChange","feedback","keys","classes","toolbarOpts","feedbackKeys","Object","changeType","changeCustom","language","React","Component","arrayOf","object","isRequired","shape","func"],"mappings":"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","sourcesContent":["import EditableHTML from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Group from './group';\n\nconst feedbackLabels = {\n default: 'Simple Feedback',\n none: 'No Feedback',\n custom: 'Customized Feedback',\n};\n\nconst holder = (theme, extras) => ({\n marginTop: '0px',\n background: '#e0dee0',\n padding: theme.spacing.unit * 0.9,\n marginBottom: theme.spacing.unit * 2,\n ...extras,\n});\n\nconst style = (theme) => ({\n feedbackSelector: {\n marginBottom: theme.spacing.unit,\n },\n label: {\n cursor: 'pointer',\n },\n inputContainerLabel: {\n transform: 'translateY(-20%)',\n },\n feedbackInputContainer: {\n paddingBottom: 0,\n },\n customHolder: holder(theme, {\n background: '#e0dee0',\n padding: 0,\n }),\n defaultHolder: holder(theme, {\n fontFamily: theme.typography.fontFamily,\n cursor: 'default',\n }),\n editor: {\n fontFamily: theme.typography.fontFamily,\n },\n group: {\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport const FeedbackType = {\n type: PropTypes.oneOf(['default', 'custom', 'none']),\n default: PropTypes.string,\n custom: PropTypes.string,\n};\n\nexport class FeedbackSelector extends React.Component {\n static propTypes = {\n keys: PropTypes.arrayOf(PropTypes.string),\n classes: PropTypes.object.isRequired,\n label: PropTypes.string.isRequired,\n feedback: PropTypes.shape(FeedbackType).isRequired,\n onChange: PropTypes.func.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n changeType = (type) => {\n const { onChange, feedback } = this.props;\n onChange({ ...feedback, type });\n };\n\n changeCustom = (custom) => {\n const { onChange, feedback } = this.props;\n onChange({ ...feedback, type: 'custom', custom });\n };\n\n render() {\n const { keys, classes, label, feedback, toolbarOpts } = this.props;\n\n const feedbackKeys = keys || Object.keys(feedbackLabels);\n\n return (\n <div className={classes.feedbackSelector}>\n <InputContainer\n label={label}\n className={classes.feedbackInputContainer}\n extraClasses={{ label: classes.inputContainerLabel }}\n >\n <Group\n className={classes.group}\n keys={feedbackKeys}\n label={label}\n value={feedback.type}\n onChange={this.changeType}\n feedbackLabels={feedbackLabels}\n />\n </InputContainer>\n {feedback.type === 'custom' && (\n <div className={classes.customHolder}>\n <EditableHTML\n className={classes.editor}\n onChange={this.changeCustom}\n markup={feedback.custom || ''}\n toolbarOpts={toolbarOpts}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\n </div>\n )}\n {feedback.type === 'default' && <div className={classes.defaultHolder}> {feedback.default}</div>}\n </div>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackSelector);\n"],"file":"feedback-selector.js"}
@@ -1,15 +1,22 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  Object.defineProperty(exports, "__esModule", {
5
6
  value: true
6
7
  });
7
8
  exports["default"] = void 0;
9
+
8
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
9
12
  var _radioWithLabel = _interopRequireDefault(require("../radio-with-label"));
13
+
10
14
  var _react = _interopRequireDefault(require("react"));
15
+
11
16
  var _styles = require("@material-ui/core/styles");
17
+
12
18
  var _classnames = _interopRequireDefault(require("classnames"));
19
+
13
20
  var styles = function styles() {
14
21
  return {
15
22
  radioLabel: {
@@ -25,13 +32,14 @@ var styles = function styles() {
25
32
  }
26
33
  };
27
34
  };
35
+
28
36
  var Group = function Group(props) {
29
37
  var feedbackLabels = props.feedbackLabels,
30
- value = props.value,
31
- classes = props.classes,
32
- className = props.className,
33
- _onChange = props.onChange,
34
- keys = props.keys;
38
+ value = props.value,
39
+ classes = props.classes,
40
+ className = props.className,
41
+ _onChange = props.onChange,
42
+ keys = props.keys;
35
43
  return /*#__PURE__*/_react["default"].createElement("div", {
36
44
  className: (0, _classnames["default"])(classes.choiceHolder, className)
37
45
  }, keys.map(function (key) {
@@ -51,6 +59,7 @@ var Group = function Group(props) {
51
59
  }));
52
60
  }));
53
61
  };
62
+
54
63
  Group.propTypes = {
55
64
  className: _propTypes["default"].string,
56
65
  feedbackLabels: _propTypes["default"].object.isRequired,
@@ -59,6 +68,8 @@ Group.propTypes = {
59
68
  keys: _propTypes["default"].arrayOf(_propTypes["default"].string),
60
69
  onChange: _propTypes["default"].func
61
70
  };
71
+
62
72
  var _default = (0, _styles.withStyles)(styles)(Group);
73
+
63
74
  exports["default"] = _default;
64
75
  //# sourceMappingURL=group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"group.js","names":["styles","radioLabel","fontSize","choice","display","alignItems","choiceHolder","Group","props","feedbackLabels","value","classes","className","onChange","keys","classNames","map","key","label","e","currentTarget","propTypes","PropTypes","string","object","isRequired","arrayOf","func","withStyles"],"sources":["../../src/feedback-config/group.jsx"],"sourcesContent":["import PropTypes from 'prop-types';\nimport RadioWithLabel from '../radio-with-label';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst styles = () => ({\n radioLabel: {\n fontSize: '12px',\n },\n choice: {\n display: 'flex',\n alignItems: 'center',\n },\n choiceHolder: {\n display: 'flex',\n alignItems: 'center',\n },\n});\n\nconst Group = (props) => {\n const { feedbackLabels, value, classes, className, onChange, keys } = props;\n\n return (\n <div className={classNames(classes.choiceHolder, className)}>\n {keys.map((key) => {\n return (\n <div className={classes.choice} key={key}>\n <RadioWithLabel\n value={key}\n checked={value === key}\n classes={{\n label: classes.radioLabel,\n }}\n onChange={(e) => onChange(e.currentTarget.value)}\n label={feedbackLabels[key]}\n />\n </div>\n );\n })}\n </div>\n );\n};\n\nGroup.propTypes = {\n className: PropTypes.string,\n feedbackLabels: PropTypes.object.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object.isRequired,\n keys: PropTypes.arrayOf(PropTypes.string),\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(Group);\n"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;AACA;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAM;EAAA,OAAU;IACpBC,UAAU,EAAE;MACVC,QAAQ,EAAE;IACZ,CAAC;IACDC,MAAM,EAAE;MACNC,OAAO,EAAE,MAAM;MACfC,UAAU,EAAE;IACd,CAAC;IACDC,YAAY,EAAE;MACZF,OAAO,EAAE,MAAM;MACfC,UAAU,EAAE;IACd;EACF,CAAC;AAAA,CAAC;AAEF,IAAME,KAAK,GAAG,SAARA,KAAK,CAAIC,KAAK,EAAK;EACvB,IAAQC,cAAc,GAAgDD,KAAK,CAAnEC,cAAc;IAAEC,KAAK,GAAyCF,KAAK,CAAnDE,KAAK;IAAEC,OAAO,GAAgCH,KAAK,CAA5CG,OAAO;IAAEC,SAAS,GAAqBJ,KAAK,CAAnCI,SAAS;IAAEC,SAAQ,GAAWL,KAAK,CAAxBK,QAAQ;IAAEC,IAAI,GAAKN,KAAK,CAAdM,IAAI;EAEjE,oBACE;IAAK,SAAS,EAAE,IAAAC,sBAAU,EAACJ,OAAO,CAACL,YAAY,EAAEM,SAAS;EAAE,GACzDE,IAAI,CAACE,GAAG,CAAC,UAACC,GAAG,EAAK;IACjB,oBACE;MAAK,SAAS,EAAEN,OAAO,CAACR,MAAO;MAAC,GAAG,EAAEc;IAAI,gBACvC,gCAAC,0BAAc;MACb,KAAK,EAAEA,GAAI;MACX,OAAO,EAAEP,KAAK,KAAKO,GAAI;MACvB,OAAO,EAAE;QACPC,KAAK,EAAEP,OAAO,CAACV;MACjB,CAAE;MACF,QAAQ,EAAE,kBAACkB,CAAC;QAAA,OAAKN,SAAQ,CAACM,CAAC,CAACC,aAAa,CAACV,KAAK,CAAC;MAAA,CAAC;MACjD,KAAK,EAAED,cAAc,CAACQ,GAAG;IAAE,EAC3B,CACE;EAEV,CAAC,CAAC,CACE;AAEV,CAAC;AAEDV,KAAK,CAACc,SAAS,GAAG;EAChBT,SAAS,EAAEU,qBAAS,CAACC,MAAM;EAC3Bd,cAAc,EAAEa,qBAAS,CAACE,MAAM,CAACC,UAAU;EAC3Cf,KAAK,EAAEY,qBAAS,CAACC,MAAM,CAACE,UAAU;EAClCd,OAAO,EAAEW,qBAAS,CAACE,MAAM,CAACC,UAAU;EACpCX,IAAI,EAAEQ,qBAAS,CAACI,OAAO,CAACJ,qBAAS,CAACC,MAAM,CAAC;EACzCV,QAAQ,EAAES,qBAAS,CAACK;AACtB,CAAC;AAAC,eAEa,IAAAC,kBAAU,EAAC5B,MAAM,CAAC,CAACO,KAAK,CAAC;AAAA"}
1
+ {"version":3,"sources":["../../src/feedback-config/group.jsx"],"names":["styles","radioLabel","fontSize","choice","display","alignItems","choiceHolder","Group","props","feedbackLabels","value","classes","className","onChange","keys","map","key","label","e","currentTarget","propTypes","PropTypes","string","object","isRequired","arrayOf","func"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBC,IAAAA,UAAU,EAAE;AACVC,MAAAA,QAAQ,EAAE;AADA,KADQ;AAIpBC,IAAAA,MAAM,EAAE;AACNC,MAAAA,OAAO,EAAE,MADH;AAENC,MAAAA,UAAU,EAAE;AAFN,KAJY;AAQpBC,IAAAA,YAAY,EAAE;AACZF,MAAAA,OAAO,EAAE,MADG;AAEZC,MAAAA,UAAU,EAAE;AAFA;AARM,GAAP;AAAA,CAAf;;AAcA,IAAME,KAAK,GAAG,SAARA,KAAQ,CAACC,KAAD,EAAW;AACvB,MAAQC,cAAR,GAAsED,KAAtE,CAAQC,cAAR;AAAA,MAAwBC,KAAxB,GAAsEF,KAAtE,CAAwBE,KAAxB;AAAA,MAA+BC,OAA/B,GAAsEH,KAAtE,CAA+BG,OAA/B;AAAA,MAAwCC,SAAxC,GAAsEJ,KAAtE,CAAwCI,SAAxC;AAAA,MAAmDC,SAAnD,GAAsEL,KAAtE,CAAmDK,QAAnD;AAAA,MAA6DC,IAA7D,GAAsEN,KAAtE,CAA6DM,IAA7D;AAEA,sBACE;AAAK,IAAA,SAAS,EAAE,4BAAWH,OAAO,CAACL,YAAnB,EAAiCM,SAAjC;AAAhB,KACGE,IAAI,CAACC,GAAL,CAAS,UAACC,GAAD,EAAS;AACjB,wBACE;AAAK,MAAA,SAAS,EAAEL,OAAO,CAACR,MAAxB;AAAgC,MAAA,GAAG,EAAEa;AAArC,oBACE,gCAAC,0BAAD;AACE,MAAA,KAAK,EAAEA,GADT;AAEE,MAAA,OAAO,EAAEN,KAAK,KAAKM,GAFrB;AAGE,MAAA,OAAO,EAAE;AACPC,QAAAA,KAAK,EAAEN,OAAO,CAACV;AADR,OAHX;AAME,MAAA,QAAQ,EAAE,kBAACiB,CAAD;AAAA,eAAOL,SAAQ,CAACK,CAAC,CAACC,aAAF,CAAgBT,KAAjB,CAAf;AAAA,OANZ;AAOE,MAAA,KAAK,EAAED,cAAc,CAACO,GAAD;AAPvB,MADF,CADF;AAaD,GAdA,CADH,CADF;AAmBD,CAtBD;;AAwBAT,KAAK,CAACa,SAAN,GAAkB;AAChBR,EAAAA,SAAS,EAAES,sBAAUC,MADL;AAEhBb,EAAAA,cAAc,EAAEY,sBAAUE,MAAV,CAAiBC,UAFjB;AAGhBd,EAAAA,KAAK,EAAEW,sBAAUC,MAAV,CAAiBE,UAHR;AAIhBb,EAAAA,OAAO,EAAEU,sBAAUE,MAAV,CAAiBC,UAJV;AAKhBV,EAAAA,IAAI,EAAEO,sBAAUI,OAAV,CAAkBJ,sBAAUC,MAA5B,CALU;AAMhBT,EAAAA,QAAQ,EAAEQ,sBAAUK;AANJ,CAAlB;;eASe,wBAAW1B,MAAX,EAAmBO,KAAnB,C","sourcesContent":["import PropTypes from 'prop-types';\nimport RadioWithLabel from '../radio-with-label';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nconst styles = () => ({\n radioLabel: {\n fontSize: '12px',\n },\n choice: {\n display: 'flex',\n alignItems: 'center',\n },\n choiceHolder: {\n display: 'flex',\n alignItems: 'center',\n },\n});\n\nconst Group = (props) => {\n const { feedbackLabels, value, classes, className, onChange, keys } = props;\n\n return (\n <div className={classNames(classes.choiceHolder, className)}>\n {keys.map((key) => {\n return (\n <div className={classes.choice} key={key}>\n <RadioWithLabel\n value={key}\n checked={value === key}\n classes={{\n label: classes.radioLabel,\n }}\n onChange={(e) => onChange(e.currentTarget.value)}\n label={feedbackLabels[key]}\n />\n </div>\n );\n })}\n </div>\n );\n};\n\nGroup.propTypes = {\n className: PropTypes.string,\n feedbackLabels: PropTypes.object.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object.isRequired,\n keys: PropTypes.arrayOf(PropTypes.string),\n onChange: PropTypes.func,\n};\n\nexport default withStyles(styles)(Group);\n"],"file":"group.js"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
4
5
  var _typeof = require("@babel/runtime/helpers/typeof");
6
+
5
7
  Object.defineProperty(exports, "__esModule", {
6
8
  value: true
7
9
  });
@@ -13,35 +15,60 @@ Object.defineProperty(exports, "FeedbackSelector", {
13
15
  }
14
16
  });
15
17
  exports["default"] = exports.buildDefaults = void 0;
18
+
16
19
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
20
+
17
21
  var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
22
+
18
23
  var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
24
+
19
25
  var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
26
+
20
27
  var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
28
+
21
29
  var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
30
+
22
31
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
32
+
23
33
  var _feedbackSelector = _interopRequireWildcard(require("./feedback-selector"));
34
+
24
35
  var _propTypes = _interopRequireDefault(require("prop-types"));
36
+
25
37
  var _react = _interopRequireDefault(require("react"));
38
+
26
39
  var _styles = require("@material-ui/core/styles");
40
+
27
41
  var _ExpansionPanel = _interopRequireDefault(require("@material-ui/core/ExpansionPanel"));
42
+
28
43
  var _ExpansionPanelSummary = _interopRequireDefault(require("@material-ui/core/ExpansionPanelSummary"));
44
+
29
45
  var _ExpansionPanelDetails = _interopRequireDefault(require("@material-ui/core/ExpansionPanelDetails"));
46
+
30
47
  var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
48
+
31
49
  var _ExpandMore = _interopRequireDefault(require("@material-ui/icons/ExpandMore"));
50
+
32
51
  var _merge = _interopRequireDefault(require("lodash/merge"));
52
+
33
53
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
54
+
34
55
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
56
+
35
57
  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; }
58
+
36
59
  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; }
60
+
37
61
  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); }; }
62
+
38
63
  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; } }
64
+
39
65
  var style = {
40
66
  feedbackContainer: {
41
67
  display: 'flex',
42
68
  flexDirection: 'column'
43
69
  }
44
70
  };
71
+
45
72
  var buildDefaults = function buildDefaults(input) {
46
73
  return (0, _merge["default"])({}, {
47
74
  correct: {
@@ -58,39 +85,49 @@ var buildDefaults = function buildDefaults(input) {
58
85
  }
59
86
  }, input);
60
87
  };
88
+
61
89
  exports.buildDefaults = buildDefaults;
90
+
62
91
  var FeedbackConfig = /*#__PURE__*/function (_React$Component) {
63
92
  (0, _inherits2["default"])(FeedbackConfig, _React$Component);
93
+
64
94
  var _super = _createSuper(FeedbackConfig);
95
+
65
96
  function FeedbackConfig() {
66
97
  var _this;
98
+
67
99
  (0, _classCallCheck2["default"])(this, FeedbackConfig);
100
+
68
101
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
69
102
  args[_key] = arguments[_key];
70
103
  }
104
+
71
105
  _this = _super.call.apply(_super, [this].concat(args));
72
106
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onCorrectChange", _this.onChange.bind((0, _assertThisInitialized2["default"])(_this), 'correct'));
73
107
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onIncorrectChange", _this.onChange.bind((0, _assertThisInitialized2["default"])(_this), 'incorrect'));
74
108
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPartialChange", _this.onChange.bind((0, _assertThisInitialized2["default"])(_this), 'partial'));
75
109
  return _this;
76
110
  }
111
+
77
112
  (0, _createClass2["default"])(FeedbackConfig, [{
78
113
  key: "onChange",
79
114
  value: function onChange(key, config) {
80
115
  var _this$props = this.props,
81
- feedback = _this$props.feedback,
82
- onChange = _this$props.onChange;
116
+ feedback = _this$props.feedback,
117
+ onChange = _this$props.onChange;
118
+
83
119
  var update = _objectSpread(_objectSpread({}, feedback), {}, (0, _defineProperty2["default"])({}, key, config));
120
+
84
121
  onChange(update);
85
122
  }
86
123
  }, {
87
124
  key: "render",
88
125
  value: function render() {
89
126
  var _this$props2 = this.props,
90
- classes = _this$props2.classes,
91
- allowPartial = _this$props2.allowPartial,
92
- feedback = _this$props2.feedback,
93
- toolbarOpts = _this$props2.toolbarOpts;
127
+ classes = _this$props2.classes,
128
+ allowPartial = _this$props2.allowPartial,
129
+ feedback = _this$props2.feedback,
130
+ toolbarOpts = _this$props2.toolbarOpts;
94
131
  return /*#__PURE__*/_react["default"].createElement(_ExpansionPanel["default"], null, /*#__PURE__*/_react["default"].createElement(_ExpansionPanelSummary["default"], {
95
132
  expandIcon: /*#__PURE__*/_react["default"].createElement(_ExpandMore["default"], null)
96
133
  }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
@@ -117,6 +154,7 @@ var FeedbackConfig = /*#__PURE__*/function (_React$Component) {
117
154
  }]);
118
155
  return FeedbackConfig;
119
156
  }(_react["default"].Component);
157
+
120
158
  exports.FeedbackConfig = FeedbackConfig;
121
159
  (0, _defineProperty2["default"])(FeedbackConfig, "propTypes", {
122
160
  allowPartial: _propTypes["default"].bool,
@@ -133,6 +171,8 @@ exports.FeedbackConfig = FeedbackConfig;
133
171
  allowPartial: true,
134
172
  feedback: buildDefaults()
135
173
  });
174
+
136
175
  var _default = (0, _styles.withStyles)(style)(FeedbackConfig);
176
+
137
177
  exports["default"] = _default;
138
178
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["style","feedbackContainer","display","flexDirection","buildDefaults","input","merge","correct","type","incorrect","partial","FeedbackConfig","onChange","bind","key","config","props","feedback","update","classes","allowPartial","toolbarOpts","heading","onCorrectChange","onPartialChange","onIncorrectChange","React","Component","PropTypes","bool","shape","FeedbackType","func","isRequired","object","withStyles"],"sources":["../../src/feedback-config/index.jsx"],"sourcesContent":["import FeedbackSelector, { FeedbackType } from './feedback-selector';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport merge from 'lodash/merge';\n\nexport { FeedbackSelector };\n\nconst style = {\n feedbackContainer: {\n display: 'flex',\n flexDirection: 'column',\n },\n};\n\nexport const buildDefaults = (input) => {\n return merge(\n {},\n {\n correct: { type: 'default', default: 'Correct' },\n incorrect: { type: 'default', default: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly' },\n },\n input,\n );\n};\n\nexport class FeedbackConfig extends React.Component {\n static propTypes = {\n allowPartial: PropTypes.bool,\n feedback: PropTypes.shape({\n correct: PropTypes.shape(FeedbackType),\n incorrect: PropTypes.shape(FeedbackType),\n partial: PropTypes.shape(FeedbackType),\n }),\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n allowPartial: true,\n feedback: buildDefaults(),\n };\n\n onChange(key, config) {\n const { feedback, onChange } = this.props;\n const update = { ...feedback, [key]: config };\n onChange(update);\n }\n\n onCorrectChange = this.onChange.bind(this, 'correct');\n onIncorrectChange = this.onChange.bind(this, 'incorrect');\n onPartialChange = this.onChange.bind(this, 'partial');\n\n render() {\n const { classes, allowPartial, feedback, toolbarOpts } = this.props;\n\n return (\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.heading}>Feedback</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.feedbackContainer}>\n <FeedbackSelector\n label=\"If correct, show\"\n feedback={feedback.correct}\n onChange={this.onCorrectChange}\n toolbarOpts={toolbarOpts}\n />\n {allowPartial && (\n <FeedbackSelector\n label=\"If partially correct, show\"\n feedback={feedback.partial}\n onChange={this.onPartialChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n <FeedbackSelector\n label=\"If incorrect, show\"\n feedback={feedback.incorrect}\n onChange={this.onIncorrectChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackConfig);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAAiC;AAAA;AAAA;AAAA;AAAA;AAAA;AAIjC,IAAMA,KAAK,GAAG;EACZC,iBAAiB,EAAE;IACjBC,OAAO,EAAE,MAAM;IACfC,aAAa,EAAE;EACjB;AACF,CAAC;AAEM,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAIC,KAAK,EAAK;EACtC,OAAO,IAAAC,iBAAK,EACV,CAAC,CAAC,EACF;IACEC,OAAO,EAAE;MAAEC,IAAI,EAAE,SAAS;MAAE,WAAS;IAAU,CAAC;IAChDC,SAAS,EAAE;MAAED,IAAI,EAAE,SAAS;MAAE,WAAS;IAAY,CAAC;IACpDE,OAAO,EAAE;MAAEF,IAAI,EAAE,SAAS;MAAE,WAAS;IAAS;EAChD,CAAC,EACDH,KAAK,CACN;AACH,CAAC;AAAC;AAAA,IAEWM,cAAc;EAAA;EAAA;EAAA;IAAA;IAAA;IAAA;MAAA;IAAA;IAAA;IAAA,oGAwBP,MAAKC,QAAQ,CAACC,IAAI,iDAAO,SAAS,CAAC;IAAA,sGACjC,MAAKD,QAAQ,CAACC,IAAI,iDAAO,WAAW,CAAC;IAAA,oGACvC,MAAKD,QAAQ,CAACC,IAAI,iDAAO,SAAS,CAAC;IAAA;EAAA;EAAA;IAAA;IAAA,OARrD,kBAASC,GAAG,EAAEC,MAAM,EAAE;MACpB,kBAA+B,IAAI,CAACC,KAAK;QAAjCC,QAAQ,eAARA,QAAQ;QAAEL,QAAQ,eAARA,QAAQ;MAC1B,IAAMM,MAAM,mCAAQD,QAAQ,4CAAGH,GAAG,EAAGC,MAAM,EAAE;MAC7CH,QAAQ,CAACM,MAAM,CAAC;IAClB;EAAC;IAAA;IAAA,OAMD,kBAAS;MACP,mBAAyD,IAAI,CAACF,KAAK;QAA3DG,OAAO,gBAAPA,OAAO;QAAEC,YAAY,gBAAZA,YAAY;QAAEH,QAAQ,gBAARA,QAAQ;QAAEI,WAAW,gBAAXA,WAAW;MAEpD,oBACE,gCAAC,0BAAc,qBACb,gCAAC,iCAAqB;QAAC,UAAU,eAAE,gCAAC,sBAAc;MAAI,gBACpD,gCAAC,sBAAU;QAAC,SAAS,EAAEF,OAAO,CAACG;MAAQ,GAAC,UAAQ,CAAa,CACvC,eACxB,gCAAC,iCAAqB,qBACpB;QAAK,SAAS,EAAEH,OAAO,CAAClB;MAAkB,gBACxC,gCAAC,4BAAgB;QACf,KAAK,EAAC,kBAAkB;QACxB,QAAQ,EAAEgB,QAAQ,CAACV,OAAQ;QAC3B,QAAQ,EAAE,IAAI,CAACgB,eAAgB;QAC/B,WAAW,EAAEF;MAAY,EACzB,EACDD,YAAY,iBACX,gCAAC,4BAAgB;QACf,KAAK,EAAC,4BAA4B;QAClC,QAAQ,EAAEH,QAAQ,CAACP,OAAQ;QAC3B,QAAQ,EAAE,IAAI,CAACc,eAAgB;QAC/B,WAAW,EAAEH;MAAY,EAE5B,eACD,gCAAC,4BAAgB;QACf,KAAK,EAAC,oBAAoB;QAC1B,QAAQ,EAAEJ,QAAQ,CAACR,SAAU;QAC7B,QAAQ,EAAE,IAAI,CAACgB,iBAAkB;QACjC,WAAW,EAAEJ;MAAY,EACzB,CACE,CACgB,CACT;IAErB;EAAC;EAAA;AAAA,EA9DiCK,iBAAK,CAACC,SAAS;AAAA;AAAA,iCAAtChB,cAAc,eACN;EACjBS,YAAY,EAAEQ,qBAAS,CAACC,IAAI;EAC5BZ,QAAQ,EAAEW,qBAAS,CAACE,KAAK,CAAC;IACxBvB,OAAO,EAAEqB,qBAAS,CAACE,KAAK,CAACC,8BAAY,CAAC;IACtCtB,SAAS,EAAEmB,qBAAS,CAACE,KAAK,CAACC,8BAAY,CAAC;IACxCrB,OAAO,EAAEkB,qBAAS,CAACE,KAAK,CAACC,8BAAY;EACvC,CAAC,CAAC;EACFnB,QAAQ,EAAEgB,qBAAS,CAACI,IAAI,CAACC,UAAU;EACnCd,OAAO,EAAES,qBAAS,CAACM,MAAM,CAACD,UAAU;EACpCZ,WAAW,EAAEO,qBAAS,CAACM;AACzB,CAAC;AAAA,iCAXUvB,cAAc,kBAaH;EACpBS,YAAY,EAAE,IAAI;EAClBH,QAAQ,EAAEb,aAAa;AACzB,CAAC;AAAA,eAiDY,IAAA+B,kBAAU,EAACnC,KAAK,CAAC,CAACW,cAAc,CAAC;AAAA"}
1
+ {"version":3,"sources":["../../src/feedback-config/index.jsx"],"names":["style","feedbackContainer","display","flexDirection","buildDefaults","input","correct","type","incorrect","partial","FeedbackConfig","onChange","bind","key","config","props","feedback","update","classes","allowPartial","toolbarOpts","heading","onCorrectChange","onPartialChange","onIncorrectChange","React","Component","PropTypes","bool","shape","FeedbackType","func","isRequired","object"],"mappings":"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","sourcesContent":["import FeedbackSelector, { FeedbackType } from './feedback-selector';\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport Typography from '@material-ui/core/Typography';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport merge from 'lodash/merge';\n\nexport { FeedbackSelector };\n\nconst style = {\n feedbackContainer: {\n display: 'flex',\n flexDirection: 'column',\n },\n};\n\nexport const buildDefaults = (input) => {\n return merge(\n {},\n {\n correct: { type: 'default', default: 'Correct' },\n incorrect: { type: 'default', default: 'Incorrect' },\n partial: { type: 'default', default: 'Nearly' },\n },\n input,\n );\n};\n\nexport class FeedbackConfig extends React.Component {\n static propTypes = {\n allowPartial: PropTypes.bool,\n feedback: PropTypes.shape({\n correct: PropTypes.shape(FeedbackType),\n incorrect: PropTypes.shape(FeedbackType),\n partial: PropTypes.shape(FeedbackType),\n }),\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n toolbarOpts: PropTypes.object,\n };\n\n static defaultProps = {\n allowPartial: true,\n feedback: buildDefaults(),\n };\n\n onChange(key, config) {\n const { feedback, onChange } = this.props;\n const update = { ...feedback, [key]: config };\n onChange(update);\n }\n\n onCorrectChange = this.onChange.bind(this, 'correct');\n onIncorrectChange = this.onChange.bind(this, 'incorrect');\n onPartialChange = this.onChange.bind(this, 'partial');\n\n render() {\n const { classes, allowPartial, feedback, toolbarOpts } = this.props;\n\n return (\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.heading}>Feedback</Typography>\n </ExpansionPanelSummary>\n <ExpansionPanelDetails>\n <div className={classes.feedbackContainer}>\n <FeedbackSelector\n label=\"If correct, show\"\n feedback={feedback.correct}\n onChange={this.onCorrectChange}\n toolbarOpts={toolbarOpts}\n />\n {allowPartial && (\n <FeedbackSelector\n label=\"If partially correct, show\"\n feedback={feedback.partial}\n onChange={this.onPartialChange}\n toolbarOpts={toolbarOpts}\n />\n )}\n <FeedbackSelector\n label=\"If incorrect, show\"\n feedback={feedback.incorrect}\n onChange={this.onIncorrectChange}\n toolbarOpts={toolbarOpts}\n />\n </div>\n </ExpansionPanelDetails>\n </ExpansionPanel>\n );\n }\n}\n\nexport default withStyles(style)(FeedbackConfig);\n"],"file":"index.js"}