@pie-element/multiple-choice 6.0.0 → 6.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,9 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports["default"] = exports.MultipleChoice = exports.Choice = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
8
+ exports["default"] = exports.MultipleChoice = void 0;
11
9
 
12
10
  var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
11
 
@@ -27,8 +25,6 @@ var _react = _interopRequireDefault(require("react"));
27
25
 
28
26
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
27
 
30
- var _choiceInput = _interopRequireDefault(require("./choice-input"));
31
-
32
28
  var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
33
29
 
34
30
  var _classnames = _interopRequireDefault(require("classnames"));
@@ -37,114 +33,13 @@ var _styles = require("@material-ui/core/styles");
37
33
 
38
34
  var _renderUi = require("@pie-lib/render-ui");
39
35
 
40
- 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; }
41
-
42
- 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
+ var _choice = _interopRequireDefault(require("./choice"));
43
37
 
44
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); }; }
45
39
 
46
- 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; } }
47
-
48
- // Choice
49
- var Choice = /*#__PURE__*/function (_React$Component) {
50
- (0, _inherits2["default"])(Choice, _React$Component);
51
-
52
- var _super = _createSuper(Choice);
53
-
54
- function Choice() {
55
- var _this;
56
-
57
- (0, _classCallCheck2["default"])(this, Choice);
58
-
59
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
60
- args[_key] = arguments[_key];
61
- }
62
-
63
- _this = _super.call.apply(_super, [this].concat(args));
64
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (choice) {
65
- var _this$props = _this.props,
66
- disabled = _this$props.disabled,
67
- onChoiceChanged = _this$props.onChoiceChanged;
68
-
69
- if (!disabled) {
70
- onChoiceChanged(choice);
71
- }
72
- });
73
- return _this;
74
- }
75
-
76
- (0, _createClass2["default"])(Choice, [{
77
- key: "render",
78
- value: function render() {
79
- var _this$props2 = this.props,
80
- choice = _this$props2.choice,
81
- index = _this$props2.index,
82
- choicesLength = _this$props2.choicesLength,
83
- showCorrect = _this$props2.showCorrect,
84
- isEvaluateMode = _this$props2.isEvaluateMode,
85
- choiceMode = _this$props2.choiceMode,
86
- disabled = _this$props2.disabled,
87
- checked = _this$props2.checked,
88
- correctness = _this$props2.correctness,
89
- displayKey = _this$props2.displayKey,
90
- classes = _this$props2.classes,
91
- choicesLayout = _this$props2.choicesLayout,
92
- gridColumns = _this$props2.gridColumns;
93
- var choiceClass = 'choice' + (index === choicesLength - 1 ? ' last' : '');
94
- var feedback = !isEvaluateMode || showCorrect ? '' : choice.feedback;
95
-
96
- var choiceProps = _objectSpread(_objectSpread({}, choice), {}, {
97
- checked: checked,
98
- choiceMode: choiceMode,
99
- disabled: disabled,
100
- feedback: feedback,
101
- correctness: correctness,
102
- displayKey: displayKey,
103
- choicesLayout: choicesLayout,
104
- gridColumns: gridColumns,
105
- onChange: this.onChange
106
- });
107
-
108
- var names = (0, _classnames["default"])(classes.choice, (0, _defineProperty2["default"])({}, classes.noBorder, index === choicesLength - 1 || this.props.choicesLayout !== 'vertical'));
109
- return /*#__PURE__*/_react["default"].createElement("div", {
110
- className: choiceClass,
111
- key: index
112
- }, /*#__PURE__*/_react["default"].createElement(_choiceInput["default"], (0, _extends2["default"])({}, choiceProps, {
113
- className: names
114
- })));
115
- }
116
- }]);
117
- return Choice;
118
- }(_react["default"].Component);
119
-
120
- exports.Choice = Choice;
121
- Choice.propTypes = {
122
- choiceMode: _propTypes["default"].oneOf(['radio', 'checkbox']),
123
- choice: _propTypes["default"].object,
124
- disabled: _propTypes["default"].bool.isRequired,
125
- onChoiceChanged: _propTypes["default"].func.isRequired,
126
- classes: _propTypes["default"].object.isRequired,
127
- index: _propTypes["default"].number,
128
- choicesLength: _propTypes["default"].number,
129
- showCorrect: _propTypes["default"].bool,
130
- isEvaluateMode: _propTypes["default"].bool,
131
- checked: _propTypes["default"].bool,
132
- correctness: _propTypes["default"].string,
133
- displayKey: _propTypes["default"].string,
134
- choicesLayout: _propTypes["default"].oneOf(['vertical', 'grid', 'horizontal']),
135
- gridColumns: _propTypes["default"].string
136
- };
137
- var StyledChoice = (0, _styles.withStyles)({
138
- choice: {
139
- paddingTop: '20px',
140
- paddingBottom: '10px',
141
- borderBottom: '1px solid #E0DEE0'
142
- },
143
- noBorder: {
144
- borderBottom: 'none'
145
- }
146
- })(Choice); // MultipleChoice
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; } }
147
41
 
42
+ // MultipleChoice
148
43
  var styles = {
149
44
  corespringChoice: {
150
45
  backgroundColor: _renderUi.color.background(),
@@ -168,23 +63,23 @@ var styles = {
168
63
  }
169
64
  };
170
65
 
171
- var MultipleChoice = /*#__PURE__*/function (_React$Component2) {
172
- (0, _inherits2["default"])(MultipleChoice, _React$Component2);
66
+ var MultipleChoice = /*#__PURE__*/function (_React$Component) {
67
+ (0, _inherits2["default"])(MultipleChoice, _React$Component);
173
68
 
174
- var _super2 = _createSuper(MultipleChoice);
69
+ var _super = _createSuper(MultipleChoice);
175
70
 
176
71
  function MultipleChoice(props) {
177
- var _this2;
72
+ var _this;
178
73
 
179
74
  (0, _classCallCheck2["default"])(this, MultipleChoice);
180
- _this2 = _super2.call(this, props);
181
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "getCorrectness", function () {
75
+ _this = _super.call(this, props);
76
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "getCorrectness", function () {
182
77
  var choice = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
183
78
  var isCorrect = choice.correct;
184
79
 
185
- var isChecked = _this2.isSelected(choice.value);
80
+ var isChecked = _this.isSelected(choice.value);
186
81
 
187
- if (_this2.state.showCorrect) {
82
+ if (_this.state.showCorrect) {
188
83
  return isCorrect ? 'correct' : undefined;
189
84
  }
190
85
 
@@ -206,11 +101,11 @@ var MultipleChoice = /*#__PURE__*/function (_React$Component2) {
206
101
  }
207
102
  }
208
103
  });
209
- _this2.state = {
210
- showCorrect: false
104
+ _this.state = {
105
+ showCorrect: _this.props.alwaysShowCorrect || false
211
106
  };
212
- _this2.onToggle = _this2.onToggle.bind((0, _assertThisInitialized2["default"])(_this2));
213
- return _this2;
107
+ _this.onToggle = _this.onToggle.bind((0, _assertThisInitialized2["default"])(_this));
108
+ return _this;
214
109
  }
215
110
 
216
111
  (0, _createClass2["default"])(MultipleChoice, [{
@@ -230,6 +125,12 @@ var MultipleChoice = /*#__PURE__*/function (_React$Component2) {
230
125
  showCorrect: false
231
126
  });
232
127
  }
128
+
129
+ if (nextProps.alwaysShowCorrect) {
130
+ this.setState({
131
+ showCorrect: true
132
+ });
133
+ }
233
134
  }
234
135
  }, {
235
136
  key: "isSelected",
@@ -253,46 +154,55 @@ var MultipleChoice = /*#__PURE__*/function (_React$Component2) {
253
154
  }, {
254
155
  key: "render",
255
156
  value: function render() {
256
- var _this3 = this;
257
-
258
- var _this$props3 = this.props,
259
- mode = _this$props3.mode,
260
- disabled = _this$props3.disabled,
261
- _this$props3$choices = _this$props3.choices,
262
- choices = _this$props3$choices === void 0 ? [] : _this$props3$choices,
263
- choiceMode = _this$props3.choiceMode,
264
- prompt = _this$props3.prompt,
265
- onChoiceChanged = _this$props3.onChoiceChanged,
266
- responseCorrect = _this$props3.responseCorrect,
267
- teacherInstructions = _this$props3.teacherInstructions,
268
- classes = _this$props3.classes;
157
+ var _this2 = this;
158
+
159
+ var _this$props = this.props,
160
+ mode = _this$props.mode,
161
+ disabled = _this$props.disabled,
162
+ _this$props$choices = _this$props.choices,
163
+ choices = _this$props$choices === void 0 ? [] : _this$props$choices,
164
+ choiceMode = _this$props.choiceMode,
165
+ prompt = _this$props.prompt,
166
+ onChoiceChanged = _this$props.onChoiceChanged,
167
+ responseCorrect = _this$props.responseCorrect,
168
+ teacherInstructions = _this$props.teacherInstructions,
169
+ classes = _this$props.classes,
170
+ alwaysShowCorrect = _this$props.alwaysShowCorrect,
171
+ animationsDisabled = _this$props.animationsDisabled;
269
172
  var showCorrect = this.state.showCorrect;
270
173
  var isEvaluateMode = mode === 'evaluate';
271
174
  var showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;
272
175
  return /*#__PURE__*/_react["default"].createElement("div", {
273
- className: classes.corespringChoice
274
- }, teacherInstructions && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
176
+ className: (0, _classnames["default"])(classes.corespringChoice, 'multiple-choice')
177
+ }, teacherInstructions && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
275
178
  labels: {
276
179
  hidden: 'Show Teacher Instructions',
277
180
  visible: 'Hide Teacher Instructions'
278
181
  }
279
182
  }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
183
+ tagName: "div",
184
+ className: "prompt",
185
+ prompt: teacherInstructions
186
+ })) : /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
187
+ tagName: "div",
280
188
  className: "prompt",
189
+ defaultClassName: "teacher-instructions",
281
190
  prompt: teacherInstructions
282
- })), /*#__PURE__*/_react["default"].createElement("br", null)), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
191
+ }), /*#__PURE__*/_react["default"].createElement("br", null)), !alwaysShowCorrect && /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
283
192
  show: showCorrectAnswerToggle,
284
193
  toggled: showCorrect,
285
194
  onToggle: this.onToggle.bind(this)
286
195
  }), showCorrectAnswerToggle && /*#__PURE__*/_react["default"].createElement("br", null), /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
287
196
  className: "prompt",
197
+ defaultClassName: "prompt",
288
198
  prompt: prompt
289
199
  }), /*#__PURE__*/_react["default"].createElement("div", {
290
200
  className: (0, _classnames["default"])((0, _defineProperty2["default"])({}, classes.gridLayout, this.props.choicesLayout === 'grid'), (0, _defineProperty2["default"])({}, classes.horizontalLayout, this.props.choicesLayout === 'horizontal')),
291
201
  style: styles.getColumns(this.props.gridColumns)
292
202
  }, choices.map(function (choice, index) {
293
- return /*#__PURE__*/_react["default"].createElement(StyledChoice, {
294
- choicesLayout: _this3.props.choicesLayout,
295
- gridColumns: _this3.props.gridColumns,
203
+ return /*#__PURE__*/_react["default"].createElement(_choice["default"], {
204
+ choicesLayout: _this2.props.choicesLayout,
205
+ gridColumns: _this2.props.gridColumns,
296
206
  key: "choice-".concat(index),
297
207
  choice: choice,
298
208
  index: index,
@@ -302,9 +212,10 @@ var MultipleChoice = /*#__PURE__*/function (_React$Component2) {
302
212
  choiceMode: choiceMode,
303
213
  disabled: disabled,
304
214
  onChoiceChanged: onChoiceChanged,
305
- checked: showCorrect ? choice.correct || false : _this3.isSelected(choice.value),
306
- correctness: isEvaluateMode ? _this3.getCorrectness(choice) : undefined,
307
- displayKey: _this3.indexToSymbol(index)
215
+ hideTick: choice.hideTick,
216
+ checked: showCorrect ? choice.correct || false : _this2.isSelected(choice.value),
217
+ correctness: isEvaluateMode ? _this2.getCorrectness(choice) : undefined,
218
+ displayKey: _this2.indexToSymbol(index)
308
219
  });
309
220
  })));
310
221
  }
@@ -321,13 +232,15 @@ exports.MultipleChoice = MultipleChoice;
321
232
  prompt: _propTypes["default"].string,
322
233
  teacherInstructions: _propTypes["default"].string,
323
234
  session: _propTypes["default"].object,
324
- disabled: _propTypes["default"].bool.isRequired,
325
- onChoiceChanged: _propTypes["default"].func.isRequired,
235
+ disabled: _propTypes["default"].bool,
236
+ onChoiceChanged: _propTypes["default"].func,
326
237
  responseCorrect: _propTypes["default"].bool,
327
238
  classes: _propTypes["default"].object.isRequired,
328
239
  correctResponse: _propTypes["default"].array,
329
240
  choicesLayout: _propTypes["default"].oneOf(['vertical', 'grid', 'horizontal']),
330
- gridColumns: _propTypes["default"].string
241
+ gridColumns: _propTypes["default"].string,
242
+ alwaysShowCorrect: _propTypes["default"].bool,
243
+ animationsDisabled: _propTypes["default"].bool
331
244
  });
332
245
  MultipleChoice.defaultProps = {
333
246
  session: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/multiple-choice.jsx"],"names":["Choice","choice","props","disabled","onChoiceChanged","index","choicesLength","showCorrect","isEvaluateMode","choiceMode","checked","correctness","displayKey","classes","choicesLayout","gridColumns","choiceClass","feedback","choiceProps","onChange","names","noBorder","React","Component","propTypes","PropTypes","oneOf","object","bool","isRequired","func","number","string","StyledChoice","paddingTop","paddingBottom","borderBottom","styles","corespringChoice","backgroundColor","color","background","padding","horizontalLayout","display","flexDirection","flexWrap","gridLayout","getColumns","columns","gridTemplateColumns","undefined","MultipleChoice","isCorrect","correct","isChecked","isSelected","value","state","onToggle","bind","mode","setState","nextProps","correctResponse","sessionValue","session","indexOf","keyMode","String","fromCharCode","toUpperCase","choices","prompt","responseCorrect","teacherInstructions","showCorrectAnswerToggle","hidden","visible","map","length","getCorrectness","indexToSymbol","array","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChoiceInput from './choice-input';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible , PreviewPrompt} from '@pie-lib/render-ui';\n\n// Choice\n\nexport class Choice extends React.Component {\n onChange = (choice) => {\n const { disabled, onChoiceChanged } = this.props;\n\n if (!disabled) {\n onChoiceChanged(choice);\n }\n };\n\n render() {\n const {\n choice,\n index,\n choicesLength,\n showCorrect,\n isEvaluateMode,\n choiceMode,\n disabled,\n checked,\n correctness,\n displayKey,\n classes,\n choicesLayout,\n gridColumns\n } = this.props;\n const choiceClass = 'choice' + (index === choicesLength - 1 ? ' last' : '');\n\n const feedback = !isEvaluateMode || showCorrect ? '' : choice.feedback;\n\n const choiceProps = {\n ...choice,\n checked,\n choiceMode,\n disabled,\n feedback,\n correctness,\n displayKey,\n choicesLayout,\n gridColumns,\n onChange: this.onChange,\n };\n\n const names = classNames(classes.choice, {\n [classes.noBorder]: (index === choicesLength - 1) || this.props.choicesLayout !== 'vertical'\n });\n\n return (\n <div className={choiceClass} key={index}>\n <ChoiceInput {...choiceProps} className={names} />\n </div>\n );\n }\n}\n\nChoice.propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n choice: PropTypes.object,\n disabled: PropTypes.bool.isRequired,\n onChoiceChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n index: PropTypes.number,\n choicesLength: PropTypes.number,\n showCorrect: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n checked: PropTypes.bool,\n correctness: PropTypes.string,\n displayKey: PropTypes.string,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string\n};\n\nconst StyledChoice = withStyles({\n choice: {\n paddingTop: '20px',\n paddingBottom: '10px',\n borderBottom: '1px solid #E0DEE0',\n },\n noBorder: {\n borderBottom: 'none',\n }\n})(Choice);\n\n// MultipleChoice\n\nconst styles = {\n corespringChoice: {\n backgroundColor: color.background(),\n padding: '5px',\n '& *': {\n '-webkit-font-smoothing': 'antialiased',\n },\n },\n horizontalLayout: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap'\n },\n gridLayout: {\n display: 'grid'\n },\n getColumns: function(columns) {\n return columns > 1 ? {gridTemplateColumns: `repeat(${columns}, 1fr)`} : undefined;\n }\n};\n\nexport class MultipleChoice extends React.Component {\n static propTypes = {\n mode: PropTypes.oneOf(['gather', 'view', 'evaluate']),\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n keyMode: PropTypes.oneOf(['numbers', 'letters', 'none']),\n choices: PropTypes.array,\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n disabled: PropTypes.bool.isRequired,\n onChoiceChanged: PropTypes.func.isRequired,\n responseCorrect: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n correctResponse: PropTypes.array,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrect: false,\n };\n\n this.onToggle = this.onToggle.bind(this);\n }\n\n onToggle() {\n if (this.props.mode === 'evaluate') {\n this.setState({ showCorrect: !this.state.showCorrect });\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!nextProps.correctResponse) {\n this.setState({ showCorrect: false });\n }\n }\n\n isSelected(value) {\n const sessionValue = this.props.session && this.props.session.value;\n\n return (\n sessionValue && sessionValue.indexOf && sessionValue.indexOf(value) >= 0\n );\n }\n\n indexToSymbol(index) {\n if (this.props.keyMode === 'numbers') {\n return `${index + 1}`;\n }\n\n if (this.props.keyMode === 'letters') {\n return String.fromCharCode(97 + index).toUpperCase();\n }\n\n return '';\n }\n\n getCorrectness = (choice = {}) => {\n const isCorrect = choice.correct;\n const isChecked = this.isSelected(choice.value);\n\n if (this.state.showCorrect) {\n return isCorrect ? 'correct' : undefined;\n }\n\n if (isCorrect) {\n if (isChecked) {\n // A correct answer is selected: marked with a green checkmark\n return 'correct';\n } else {\n // A correct answer is NOT selected: marked with an orange X\n return 'incorrect';\n }\n } else {\n if (isChecked) {\n // An incorrect answer is selected: marked with an orange X\n return 'incorrect';\n } else {\n // An incorrect answer is NOT selected: not marked\n return undefined;\n }\n }\n };\n\n render() {\n const {\n mode,\n disabled,\n choices = [],\n choiceMode,\n prompt,\n onChoiceChanged,\n responseCorrect,\n teacherInstructions,\n classes,\n } = this.props;\n const { showCorrect } = this.state;\n const isEvaluateMode = mode === 'evaluate';\n const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;\n \n return (\n <div className={classes.corespringChoice}>\n {teacherInstructions && (\n <React.Fragment>\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt className=\"prompt\" prompt={teacherInstructions} />\n </Collapsible>\n <br />\n </React.Fragment>\n )}\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.onToggle.bind(this)}\n />\n {showCorrectAnswerToggle && <br />}\n <PreviewPrompt className=\"prompt\" prompt={prompt}/>\n <div className={classNames({ [classes.gridLayout]: this.props.choicesLayout === 'grid'}, {[classes.horizontalLayout]: this.props.choicesLayout === 'horizontal' })} style={styles.getColumns(this.props.gridColumns)}>\n {choices.map((choice, index) => (\n <StyledChoice\n choicesLayout={this.props.choicesLayout}\n gridColumns={this.props.gridColumns}\n key={`choice-${index}`}\n choice={choice}\n index={index}\n choicesLength={choices.length}\n showCorrect={showCorrect}\n isEvaluateMode={isEvaluateMode}\n choiceMode={choiceMode}\n disabled={disabled}\n onChoiceChanged={onChoiceChanged}\n checked={\n showCorrect\n ? choice.correct || false\n : this.isSelected(choice.value)\n }\n correctness={\n isEvaluateMode ? this.getCorrectness(choice) : undefined\n }\n displayKey={this.indexToSymbol(index)}\n />\n ))}\n </div>\n </div>\n );\n }\n}\n\nMultipleChoice.defaultProps = {\n session: {\n value: [],\n },\n};\n\nexport default withStyles(styles)(MultipleChoice);\n"],"file":"multiple-choice.js"}
1
+ {"version":3,"sources":["../src/multiple-choice.jsx"],"names":["styles","corespringChoice","backgroundColor","color","background","padding","horizontalLayout","display","flexDirection","flexWrap","gridLayout","getColumns","columns","gridTemplateColumns","undefined","MultipleChoice","props","choice","isCorrect","correct","isChecked","isSelected","value","state","showCorrect","alwaysShowCorrect","onToggle","bind","mode","setState","nextProps","correctResponse","sessionValue","session","indexOf","index","keyMode","String","fromCharCode","toUpperCase","disabled","choices","choiceMode","prompt","onChoiceChanged","responseCorrect","teacherInstructions","classes","animationsDisabled","isEvaluateMode","showCorrectAnswerToggle","hidden","visible","choicesLayout","gridColumns","map","length","hideTick","getCorrectness","indexToSymbol","React","Component","PropTypes","oneOf","array","string","object","bool","func","isRequired","defaultProps"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport classNames from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\nimport StyledChoice from './choice';\n\n// MultipleChoice\n\nconst styles = {\n corespringChoice: {\n backgroundColor: color.background(),\n padding: '5px',\n '& *': {\n '-webkit-font-smoothing': 'antialiased',\n },\n },\n horizontalLayout: {\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n },\n gridLayout: {\n display: 'grid',\n },\n getColumns: function (columns) {\n return columns > 1\n ? { gridTemplateColumns: `repeat(${columns}, 1fr)` }\n : undefined;\n },\n};\n\nexport class MultipleChoice extends React.Component {\n static propTypes = {\n mode: PropTypes.oneOf(['gather', 'view', 'evaluate']),\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n keyMode: PropTypes.oneOf(['numbers', 'letters', 'none']),\n choices: PropTypes.array,\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n disabled: PropTypes.bool,\n onChoiceChanged: PropTypes.func,\n responseCorrect: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n correctResponse: PropTypes.array,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n gridColumns: PropTypes.string,\n alwaysShowCorrect: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrect: this.props.alwaysShowCorrect || false,\n };\n\n this.onToggle = this.onToggle.bind(this);\n }\n\n onToggle() {\n if (this.props.mode === 'evaluate') {\n this.setState({ showCorrect: !this.state.showCorrect });\n }\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (!nextProps.correctResponse) {\n this.setState({ showCorrect: false });\n }\n\n if (nextProps.alwaysShowCorrect) {\n this.setState({ showCorrect: true });\n }\n }\n\n isSelected(value) {\n const sessionValue = this.props.session && this.props.session.value;\n\n return (\n sessionValue && sessionValue.indexOf && sessionValue.indexOf(value) >= 0\n );\n }\n\n indexToSymbol(index) {\n if (this.props.keyMode === 'numbers') {\n return `${index + 1}`;\n }\n\n if (this.props.keyMode === 'letters') {\n return String.fromCharCode(97 + index).toUpperCase();\n }\n\n return '';\n }\n\n getCorrectness = (choice = {}) => {\n const isCorrect = choice.correct;\n const isChecked = this.isSelected(choice.value);\n\n if (this.state.showCorrect) {\n return isCorrect ? 'correct' : undefined;\n }\n\n if (isCorrect) {\n if (isChecked) {\n // A correct answer is selected: marked with a green checkmark\n return 'correct';\n } else {\n // A correct answer is NOT selected: marked with an orange X\n return 'incorrect';\n }\n } else {\n if (isChecked) {\n // An incorrect answer is selected: marked with an orange X\n return 'incorrect';\n } else {\n // An incorrect answer is NOT selected: not marked\n return undefined;\n }\n }\n };\n\n render() {\n const {\n mode,\n disabled,\n choices = [],\n choiceMode,\n prompt,\n onChoiceChanged,\n responseCorrect,\n teacherInstructions,\n classes,\n alwaysShowCorrect,\n animationsDisabled\n } = this.props;\n const { showCorrect } = this.state;\n const isEvaluateMode = mode === 'evaluate';\n const showCorrectAnswerToggle = isEvaluateMode && !responseCorrect;\n\n return (\n <div className={classNames(classes.corespringChoice, 'multiple-choice')}>\n {teacherInstructions && (\n <React.Fragment>\n {!animationsDisabled ?\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt\n tagName=\"div\"\n className=\"prompt\"\n prompt={teacherInstructions}\n />\n </Collapsible> :\n <PreviewPrompt\n tagName=\"div\"\n className=\"prompt\"\n defaultClassName=\"teacher-instructions\"\n prompt={teacherInstructions}\n />}\n <br />\n </React.Fragment>\n )}\n {!alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrect}\n onToggle={this.onToggle.bind(this)}\n />\n )}\n {showCorrectAnswerToggle && <br />}\n <PreviewPrompt className=\"prompt\" defaultClassName=\"prompt\" prompt={prompt} />\n <div\n className={classNames(\n { [classes.gridLayout]: this.props.choicesLayout === 'grid' },\n {\n [classes.horizontalLayout]:\n this.props.choicesLayout === 'horizontal',\n }\n )}\n style={styles.getColumns(this.props.gridColumns)}\n >\n {choices.map((choice, index) => (\n <StyledChoice\n choicesLayout={this.props.choicesLayout}\n gridColumns={this.props.gridColumns}\n key={`choice-${index}`}\n choice={choice}\n index={index}\n choicesLength={choices.length}\n showCorrect={showCorrect}\n isEvaluateMode={isEvaluateMode}\n choiceMode={choiceMode}\n disabled={disabled}\n onChoiceChanged={onChoiceChanged}\n hideTick={choice.hideTick}\n checked={\n showCorrect\n ? choice.correct || false\n : this.isSelected(choice.value)\n }\n correctness={\n isEvaluateMode ? this.getCorrectness(choice) : undefined\n }\n displayKey={this.indexToSymbol(index)}\n />\n ))}\n </div>\n </div>\n );\n }\n}\n\nMultipleChoice.defaultProps = {\n session: {\n value: [],\n },\n};\n\nexport default withStyles(styles)(MultipleChoice);\n"],"file":"multiple-choice.js"}
package/lib/print.js ADDED
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
+
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
+
18
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
+
20
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
+
22
+ var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
23
+
24
+ var _react = _interopRequireDefault(require("react"));
25
+
26
+ var _reactDom = _interopRequireDefault(require("react-dom"));
27
+
28
+ var _debounce = _interopRequireDefault(require("lodash/debounce"));
29
+
30
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
31
+
32
+ var _main = _interopRequireDefault(require("./main"));
33
+
34
+ var _mathRendering = require("@pie-lib/math-rendering");
35
+
36
+ var _debug = _interopRequireDefault(require("debug"));
37
+
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
+
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
+
42
+ var log = (0, _debug["default"])('pie-element:multiple-choice:print');
43
+ /**
44
+ * Live in same package as main element - so we can access some of the shared comps!
45
+ *
46
+ * - update pslb to build print if src/print.js is there
47
+ * - update demo el
48
+ * - get configure/controller building
49
+ */
50
+
51
+ var preparePrintModel = function preparePrintModel(model, opts) {
52
+ var instr = opts.role === 'instructor';
53
+ model.teacherInstructions = instr ? model.teacherInstructions : undefined;
54
+ model.showTeacherInstructions = instr;
55
+ model.alwaysShowCorrect = instr;
56
+ model.mode = instr ? 'evaluate' : model.mode;
57
+ model.disabled = true;
58
+ model.animationsDisabled = true;
59
+ var choices = (0, _cloneDeep["default"])(model.choices);
60
+ model.choices = choices.map(function (c) {
61
+ c.rationale = instr ? c.rationale : undefined;
62
+ c.hideTick = instr;
63
+ c.feedback = undefined;
64
+ return c;
65
+ });
66
+ return model;
67
+ };
68
+
69
+ var MultipleChoicePrint = /*#__PURE__*/function (_HTMLElement) {
70
+ (0, _inherits2["default"])(MultipleChoicePrint, _HTMLElement);
71
+
72
+ var _super = _createSuper(MultipleChoicePrint);
73
+
74
+ function MultipleChoicePrint() {
75
+ var _this;
76
+
77
+ (0, _classCallCheck2["default"])(this, MultipleChoicePrint);
78
+ _this = _super.call(this);
79
+ _this._options = null;
80
+ _this._model = null;
81
+ _this._session = [];
82
+ _this._rerender = (0, _debounce["default"])(function () {
83
+ if (_this._model && _this._session) {
84
+ var printModel = preparePrintModel(_this._model, _this._options);
85
+
86
+ var element = _this._options && /*#__PURE__*/_react["default"].createElement(_main["default"], {
87
+ model: printModel,
88
+ session: {}
89
+ });
90
+
91
+ _reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
92
+ log('render complete - render math');
93
+ (0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
94
+ });
95
+ } else {
96
+ log('skip');
97
+ }
98
+ }, 50, {
99
+ leading: false,
100
+ trailing: true
101
+ });
102
+ return _this;
103
+ }
104
+
105
+ (0, _createClass2["default"])(MultipleChoicePrint, [{
106
+ key: "options",
107
+ set: function set(o) {
108
+ this._options = o;
109
+ }
110
+ }, {
111
+ key: "model",
112
+ set: function set(s) {
113
+ this._model = s;
114
+
115
+ this._rerender();
116
+ }
117
+ }, {
118
+ key: "connectedCallback",
119
+ value: function connectedCallback() {}
120
+ }]);
121
+ return MultipleChoicePrint;
122
+ }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
123
+
124
+ exports["default"] = MultipleChoicePrint;
125
+ //# sourceMappingURL=print.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","teacherInstructions","undefined","showTeacherInstructions","alwaysShowCorrect","mode","disabled","animationsDisabled","choices","map","c","rationale","hideTick","feedback","MultipleChoicePrint","_options","_model","_session","_rerender","printModel","element","React","createElement","Main","session","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,mCAAN,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;AAEAH,EAAAA,KAAK,CAACI,mBAAN,GAA4BF,KAAK,GAAGF,KAAK,CAACI,mBAAT,GAA+BC,SAAhE;AACAL,EAAAA,KAAK,CAACM,uBAAN,GAAgCJ,KAAhC;AACAF,EAAAA,KAAK,CAACO,iBAAN,GAA0BL,KAA1B;AACAF,EAAAA,KAAK,CAACQ,IAAN,GAAaN,KAAK,GAAG,UAAH,GAAgBF,KAAK,CAACQ,IAAxC;AAEAR,EAAAA,KAAK,CAACS,QAAN,GAAiB,IAAjB;AACAT,EAAAA,KAAK,CAACU,kBAAN,GAA2B,IAA3B;AAEA,MAAMC,OAAO,GAAG,2BAAUX,KAAK,CAACW,OAAhB,CAAhB;AAEAX,EAAAA,KAAK,CAACW,OAAN,GAAgBA,OAAO,CAACC,GAAR,CAAY,UAACC,CAAD,EAAO;AACjCA,IAAAA,CAAC,CAACC,SAAF,GAAcZ,KAAK,GAAGW,CAAC,CAACC,SAAL,GAAiBT,SAApC;AACAQ,IAAAA,CAAC,CAACE,QAAF,GAAab,KAAb;AACAW,IAAAA,CAAC,CAACG,QAAF,GAAaX,SAAb;AACA,WAAOQ,CAAP;AACD,GALe,CAAhB;AAMA,SAAOb,KAAP;AACD,CApBD;;IAsBqBiB,mB;;;;;AACnB,iCAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKF,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAME,UAAU,GAAGvB,iBAAiB,CAAC,MAAKoB,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMK,OAAO,GACX,MAAKL,QAAL,iBACAM,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxB1B,UAAAA,KAAK,EAAEsB,UADiB;AAExBK,UAAAA,OAAO,EAAE;AAFe,SAA1B,CAFF;;AAOAC,6BAASC,MAAT,CAAgBN,OAAhB,kDAA+B,YAAM;AACnCzB,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAdD,MAcO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAnBc,EAoBf,EApBe,EAqBf;AAAEgC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KArBe,CAAjB;AALY;AA4Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKd,QAAL,GAAgBc,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKd,MAAL,GAAcc,CAAd;;AACA,WAAKZ,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAvCyBa,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport cloneDeep from 'lodash/cloneDeep';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:multiple-choice:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.teacherInstructions = instr ? model.teacherInstructions : undefined;\n model.showTeacherInstructions = instr;\n model.alwaysShowCorrect = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n model.disabled = true;\n model.animationsDisabled = true;\n\n const choices = cloneDeep(model.choices);\n\n model.choices = choices.map((c) => {\n c.rationale = instr ? c.rationale : undefined;\n c.hideTick = instr;\n c.feedback = undefined;\n return c;\n });\n return model;\n};\n\nexport default class MultipleChoicePrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: {},\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true }\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "@pie-element/multiple-choice",
3
3
  "repository": "pie-framework/pie-elements",
4
- "version": "6.0.0",
4
+ "version": "6.1.2",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
- "@pie-lib/config-ui": "^10.10.2",
11
- "@pie-lib/correct-answer-toggle": "^2.3.28",
12
- "@pie-lib/math-rendering": "^2.3.8",
13
- "@pie-lib/render-ui": "^4.11.9",
10
+ "@pie-lib/config-ui": "^10.10.11",
11
+ "@pie-lib/correct-answer-toggle": "^2.3.31",
12
+ "@pie-lib/math-rendering": "^2.3.11",
13
+ "@pie-lib/render-ui": "^4.12.2",
14
14
  "classnames": "^2.2.5",
15
15
  "debug": "^4.1.1",
16
16
  "enzyme-to-json": "^3.3.3",
@@ -21,10 +21,14 @@
21
21
  "react-test-renderer": "^16.3.2",
22
22
  "react-transition-group": "^2.3.1"
23
23
  },
24
- "gitHead": "3f18de3bed4cf482a0b908f01d868610b6532cd6",
24
+ "gitHead": "39691eb79f1f5ece91c831add33b05871b20828b",
25
25
  "scripts": {
26
26
  "postpublish": "../../scripts/postpublish"
27
27
  },
28
28
  "main": "lib/index.js",
29
- "module": "src/index.js"
29
+ "module": "src/index.js",
30
+ "exports": {
31
+ ".": "./src/index.js",
32
+ "./print": "./src/print.js"
33
+ }
30
34
  }