@pie-element/math-inline 11.0.5-esm.0 → 11.1.0-next.0

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 (53) hide show
  1. package/CHANGELOG.md +70 -0
  2. package/configure/CHANGELOG.md +69 -0
  3. package/configure/lib/configure.js +162 -240
  4. package/configure/lib/configure.js.map +1 -1
  5. package/configure/lib/defaults.js +8 -8
  6. package/configure/lib/defaults.js.map +1 -1
  7. package/configure/lib/general-config-block.js +447 -564
  8. package/configure/lib/general-config-block.js.map +1 -1
  9. package/configure/lib/index.js +111 -176
  10. package/configure/lib/index.js.map +1 -1
  11. package/configure/lib/response.js +330 -388
  12. package/configure/lib/response.js.map +1 -1
  13. package/configure/lib/utils.js +15 -30
  14. package/configure/lib/utils.js.map +1 -1
  15. package/configure/package.json +14 -12
  16. package/controller/CHANGELOG.md +49 -0
  17. package/controller/lib/defaults.js +5 -8
  18. package/controller/lib/defaults.js.map +1 -1
  19. package/controller/lib/index.js +189 -278
  20. package/controller/lib/index.js.map +1 -1
  21. package/controller/lib/utils.js +1 -2
  22. package/controller/lib/utils.js.map +1 -1
  23. package/controller/package.json +7 -7
  24. package/lib/index.js +72 -125
  25. package/lib/index.js.map +1 -1
  26. package/lib/main.js +784 -889
  27. package/lib/main.js.map +1 -1
  28. package/lib/print.js +43 -84
  29. package/lib/print.js.map +1 -1
  30. package/lib/simple-question-block.js +125 -162
  31. package/lib/simple-question-block.js.map +1 -1
  32. package/lib/utils.js +1 -2
  33. package/lib/utils.js.map +1 -1
  34. package/module/configure.js +1 -1
  35. package/module/controller.js +2319 -2930
  36. package/module/element.js +1 -1
  37. package/module/index.html +1 -1
  38. package/module/manifest.json +7 -3
  39. package/module/print.html +1 -1
  40. package/module/print.js +1 -1
  41. package/package.json +21 -33
  42. package/esm/configure.css +0 -847
  43. package/esm/configure.js +0 -1769
  44. package/esm/configure.js.map +0 -1
  45. package/esm/controller.css +0 -847
  46. package/esm/controller.js +0 -416
  47. package/esm/controller.js.map +0 -1
  48. package/esm/element.css +0 -847
  49. package/esm/element.js +0 -1476
  50. package/esm/element.js.map +0 -1
  51. package/esm/print.css +0 -847
  52. package/esm/print.js +0 -1288
  53. package/esm/print.js.map +0 -1
@@ -1,438 +1,380 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
4
  Object.defineProperty(exports, "__esModule", {
8
5
  value: true
9
6
  });
10
- exports["default"] = void 0;
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
7
+ exports.default = void 0;
24
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
9
  var React = _interopRequireWildcard(require("react"));
27
-
28
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
11
  var _configUi = require("@pie-lib/config-ui");
31
-
32
12
  var _mathToolbar = require("@pie-lib/math-toolbar");
33
-
34
- var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
35
-
36
- var _CardContent = _interopRequireDefault(require("@material-ui/core/CardContent"));
37
-
38
- var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
39
-
40
- var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
41
-
42
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
43
-
44
- var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
45
-
46
- var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
47
-
48
- var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
49
-
50
- var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
51
-
52
- var _styles = require("@material-ui/core/styles");
53
-
13
+ var _Card = _interopRequireDefault(require("@mui/material/Card"));
14
+ var _CardContent = _interopRequireDefault(require("@mui/material/CardContent"));
15
+ var _Button = _interopRequireDefault(require("@mui/material/Button"));
16
+ var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
17
+ var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
18
+ var _InputLabel = _interopRequireDefault(require("@mui/material/InputLabel"));
19
+ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
20
+ var _Select = _interopRequireDefault(require("@mui/material/Select"));
21
+ var _MenuItem = _interopRequireDefault(require("@mui/material/MenuItem"));
22
+ var _styles = require("@mui/material/styles");
54
23
  var _renderUi = require("@pie-lib/render-ui");
55
-
56
- 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); }
57
-
58
- 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; }
59
-
60
- 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; }
61
-
62
- 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; }
63
-
64
- 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); }; }
65
-
66
- 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; } }
67
-
24
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
68
25
  // TODO once we support individual response correctness, we need to remove this constant
69
- var INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;
70
-
71
- var styles = function styles(theme) {
72
- return {
73
- responseContainer: {
74
- marginBottom: theme.spacing.unit * 2.5,
75
- width: '100%',
76
- minWidth: '548px',
77
- border: "1px solid ".concat(theme.palette.grey[700]),
78
- display: 'flex',
79
- flexDirection: 'column',
80
- justifyContent: 'space-between'
81
- },
82
- cardContent: {
83
- paddingBottom: "".concat(theme.spacing.unit * 2, "px !important")
84
- },
85
- title: {
86
- fontWeight: 700,
87
- fontSize: '1.2rem',
88
- flex: 3
89
- },
90
- selectContainer: {
91
- flex: 2
92
- },
93
- inputContainer: {
94
- marginBottom: theme.spacing.unit * 2
95
- },
96
- titleBar: {
97
- display: 'flex',
98
- alignItems: 'center',
99
- justifyContent: 'space-between'
100
- },
101
- responseEditor: {
102
- display: 'flex',
103
- alignItems: 'center',
104
- justifyContent: 'center',
105
- width: '100%',
106
- minWidth: '500px',
107
- maxWidth: '900px',
108
- height: 'auto',
109
- minHeight: '40px'
110
- },
111
- mathToolbar: {
112
- width: '100%'
113
- },
114
- alternateButton: {
115
- border: "1px solid ".concat(theme.palette.grey['A100'])
116
- },
117
- removeAlternateButton: {
118
- marginLeft: theme.spacing.unit * 2,
119
- border: "1px solid ".concat(theme.palette.grey['A100']),
120
- color: 'gray',
121
- fontSize: '0.8rem'
122
- },
123
- errorText: {
124
- fontSize: theme.typography.fontSize - 2,
125
- color: theme.palette.error.main,
126
- paddingTop: theme.spacing.unit
127
- },
128
- customColor: {
129
- color: "".concat(_renderUi.color.tertiary(), " !important")
130
- }
131
- };
132
- };
133
-
134
- var Response = /*#__PURE__*/function (_React$Component) {
135
- (0, _inherits2["default"])(Response, _React$Component);
136
-
137
- var _super = _createSuper(Response);
138
-
139
- function Response(props) {
140
- var _this;
141
-
142
- (0, _classCallCheck2["default"])(this, Response);
143
- _this = _super.call(this, props);
144
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (name) {
145
- return function (evt) {
146
- var _this$props = _this.props,
147
- response = _this$props.response,
148
- onResponseChange = _this$props.onResponseChange,
149
- index = _this$props.index;
150
-
151
- var newResponse = _objectSpread({}, response);
152
-
153
- newResponse[name] = evt.target.value;
154
- onResponseChange(newResponse, index);
26
+ const INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;
27
+ const ResponseContainer = (0, _styles.styled)(_Card.default)(({
28
+ theme
29
+ }) => ({
30
+ marginBottom: theme.spacing(2.5),
31
+ width: '100%',
32
+ minWidth: '548px',
33
+ border: `1px solid ${theme.palette.grey[700]}`,
34
+ display: 'flex',
35
+ flexDirection: 'column',
36
+ justifyContent: 'space-between'
37
+ }));
38
+ const StyledCardContent = (0, _styles.styled)(_CardContent.default)(({
39
+ theme
40
+ }) => ({
41
+ paddingBottom: `${theme.spacing(2)}px !important`
42
+ }));
43
+ const Title = (0, _styles.styled)(_Typography.default)({
44
+ fontWeight: 700,
45
+ fontSize: '1.2rem',
46
+ flex: 3
47
+ });
48
+ const SelectContainer = (0, _styles.styled)(_configUi.InputContainer)(({
49
+ theme
50
+ }) => ({
51
+ flex: 2,
52
+ '& > *:not(label)': {
53
+ marginTop: theme.spacing(1)
54
+ }
55
+ }));
56
+ const InputContainerWrapper = (0, _styles.styled)('div')(({
57
+ theme
58
+ }) => ({
59
+ marginBottom: theme.spacing(2)
60
+ }));
61
+ const TitleBar = (0, _styles.styled)('div')({
62
+ display: 'flex',
63
+ alignItems: 'center',
64
+ justifyContent: 'space-between'
65
+ });
66
+ const FlexContainer = (0, _styles.styled)('div')({
67
+ display: 'flex'
68
+ });
69
+ const AlternateBar = (0, _styles.styled)('div')({
70
+ display: 'flex',
71
+ alignItems: 'center',
72
+ justifyContent: 'space-between'
73
+ });
74
+ const ErrorText = (0, _styles.styled)('div')(({
75
+ theme
76
+ }) => ({
77
+ fontSize: theme.typography.fontSize - 2,
78
+ color: theme.palette.error.main,
79
+ paddingTop: theme.spacing(1)
80
+ }));
81
+ const CustomColorCheckbox = (0, _styles.styled)(_Checkbox.default)({
82
+ color: `${_renderUi.color.tertiary()} !important`
83
+ });
84
+ const AlternateButton = (0, _styles.styled)(_Button.default)(({
85
+ theme
86
+ }) => ({
87
+ border: `1px solid ${theme.palette.grey['A400']}`,
88
+ color: _renderUi.color.text()
89
+ }));
90
+ const RemoveAlternateButton = (0, _styles.styled)(_Button.default)(({
91
+ theme
92
+ }) => ({
93
+ marginLeft: theme.spacing(2),
94
+ border: `1px solid ${theme.palette.grey['A400']}`,
95
+ color: 'gray',
96
+ fontSize: '0.8rem'
97
+ }));
98
+
99
+ // CSS for MathToolbar classNames (used as strings)
100
+ if (typeof document !== 'undefined') {
101
+ const styleId = 'math-inline-response-styles';
102
+ if (!document.getElementById(styleId)) {
103
+ const style = document.createElement('style');
104
+ style.id = styleId;
105
+ style.textContent = `
106
+ .response-editor {
107
+ display: flex;
108
+ align-items: center;
109
+ justify-content: center;
110
+ width: 100%;
111
+ min-width: 500px;
112
+ max-width: 900px;
113
+ height: auto;
114
+ min-height: 40px;
115
+ }
116
+ .math-toolbar {
117
+ width: 100%;
118
+ }
119
+ `;
120
+ document.head.appendChild(style);
121
+ }
122
+ }
123
+ class Response extends React.Component {
124
+ constructor(props) {
125
+ super(props);
126
+ (0, _defineProperty2.default)(this, "onChange", name => evt => {
127
+ const {
128
+ response,
129
+ onResponseChange,
130
+ index
131
+ } = this.props;
132
+ const newResponse = {
133
+ ...response
155
134
  };
135
+ newResponse[name] = evt.target.value;
136
+ onResponseChange(newResponse, index);
156
137
  });
157
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChanged", function (name) {
158
- return function (evt) {
159
- var _this$props2 = _this.props,
160
- response = _this$props2.response,
161
- onResponseChange = _this$props2.onResponseChange,
162
- index = _this$props2.index;
163
-
164
- var newResponse = _objectSpread({}, response);
165
-
166
- newResponse[name] = evt.target.checked;
167
- onResponseChange(newResponse, index);
138
+ (0, _defineProperty2.default)(this, "onConfigChanged", name => evt => {
139
+ const {
140
+ response,
141
+ onResponseChange,
142
+ index
143
+ } = this.props;
144
+ const newResponse = {
145
+ ...response
168
146
  };
147
+ newResponse[name] = evt.target.checked;
148
+ onResponseChange(newResponse, index);
169
149
  });
170
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLiteralOptionsChange", function (name) {
171
- return function () {
172
- var _this$props3 = _this.props,
173
- response = _this$props3.response,
174
- onResponseChange = _this$props3.onResponseChange,
175
- index = _this$props3.index;
176
-
177
- var newResponse = _objectSpread({}, response);
178
-
179
- newResponse[name] = !response[name];
180
- onResponseChange(newResponse, index);
150
+ (0, _defineProperty2.default)(this, "onLiteralOptionsChange", name => () => {
151
+ const {
152
+ response,
153
+ onResponseChange,
154
+ index
155
+ } = this.props;
156
+ const newResponse = {
157
+ ...response
181
158
  };
159
+ newResponse[name] = !response[name];
160
+ onResponseChange(newResponse, index);
182
161
  });
183
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAnswerChange", function (answer) {
184
- var _this$props4 = _this.props,
185
- response = _this$props4.response,
186
- onResponseChange = _this$props4.onResponseChange,
187
- index = _this$props4.index;
188
-
189
- var newResponse = _objectSpread({}, response);
190
-
162
+ (0, _defineProperty2.default)(this, "onAnswerChange", answer => {
163
+ const {
164
+ response,
165
+ onResponseChange,
166
+ index
167
+ } = this.props;
168
+ const newResponse = {
169
+ ...response
170
+ };
191
171
  newResponse.answer = answer;
192
172
  onResponseChange(newResponse, index);
193
173
  });
194
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateAnswerChange", function (alternateId) {
195
- return function (answer) {
196
- var _this$props5 = _this.props,
197
- response = _this$props5.response,
198
- onResponseChange = _this$props5.onResponseChange,
199
- index = _this$props5.index;
200
-
201
- var newResponse = _objectSpread({}, response);
202
-
203
- newResponse.alternates[alternateId] = answer;
204
- onResponseChange(newResponse, index);
174
+ (0, _defineProperty2.default)(this, "onAlternateAnswerChange", alternateId => answer => {
175
+ const {
176
+ response,
177
+ onResponseChange,
178
+ index
179
+ } = this.props;
180
+ const newResponse = {
181
+ ...response
205
182
  };
183
+ newResponse.alternates[alternateId] = answer;
184
+ onResponseChange(newResponse, index);
206
185
  });
207
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAddAlternate", function () {
208
- var _this$props6 = _this.props,
209
- response = _this$props6.response,
210
- onResponseChange = _this$props6.onResponseChange,
211
- index = _this$props6.index;
212
- var alternateIdCounter = _this.state.alternateIdCounter;
213
-
214
- var newResponse = _objectSpread({}, response);
215
-
186
+ (0, _defineProperty2.default)(this, "onAddAlternate", () => {
187
+ const {
188
+ response,
189
+ onResponseChange,
190
+ index
191
+ } = this.props;
192
+ const {
193
+ alternateIdCounter
194
+ } = this.state;
195
+ const newResponse = {
196
+ ...response
197
+ };
216
198
  if (!newResponse.alternates) {
217
199
  newResponse.alternates = {};
218
200
  }
219
-
220
201
  newResponse.alternates[alternateIdCounter] = '';
221
202
  onResponseChange(newResponse, index);
222
-
223
- _this.setState({
203
+ this.setState({
224
204
  alternateIdCounter: alternateIdCounter + 1
225
205
  });
226
206
  });
227
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRemoveAlternate", function (alternateId) {
228
- return function () {
229
- var _this$props7 = _this.props,
230
- response = _this$props7.response,
231
- onResponseChange = _this$props7.onResponseChange,
232
- index = _this$props7.index;
233
-
234
- var newResponse = _objectSpread({}, response);
235
-
236
- delete newResponse.alternates[alternateId];
237
- onResponseChange(newResponse, index);
238
-
239
- _this.setState(function (state) {
240
- return {
241
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
242
- openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1
243
- })
244
- };
245
- });
207
+ (0, _defineProperty2.default)(this, "onRemoveAlternate", alternateId => () => {
208
+ const {
209
+ response,
210
+ onResponseChange,
211
+ index
212
+ } = this.props;
213
+ const newResponse = {
214
+ ...response
246
215
  };
216
+ delete newResponse.alternates[alternateId];
217
+ onResponseChange(newResponse, index);
218
+ this.setState(state => ({
219
+ showKeypad: {
220
+ ...state.showKeypad,
221
+ openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1
222
+ }
223
+ }));
247
224
  });
248
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
249
- _this.setState(function (state) {
250
- return {
251
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
252
- openCount: state.showKeypad.openCount - 1,
253
- main: false
254
- })
255
- };
256
- });
225
+ (0, _defineProperty2.default)(this, "onDone", () => {
226
+ this.setState(state => ({
227
+ showKeypad: {
228
+ ...state.showKeypad,
229
+ openCount: state.showKeypad.openCount - 1,
230
+ main: false
231
+ }
232
+ }));
257
233
  });
258
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function () {
259
- _this.setState(function (state) {
260
- return {
261
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
262
- openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,
263
- main: true
264
- })
265
- };
266
- });
234
+ (0, _defineProperty2.default)(this, "onFocus", () => {
235
+ this.setState(state => ({
236
+ showKeypad: {
237
+ ...state.showKeypad,
238
+ openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,
239
+ main: true
240
+ }
241
+ }));
267
242
  });
268
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateFocus", function (alternateId) {
269
- return function () {
270
- _this.setState(function (state) {
271
- return {
272
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, (0, _defineProperty2["default"])({
273
- openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount
274
- }, alternateId, true))
275
- };
276
- });
277
- };
243
+ (0, _defineProperty2.default)(this, "onAlternateFocus", alternateId => () => {
244
+ this.setState(state => ({
245
+ showKeypad: {
246
+ ...state.showKeypad,
247
+ openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,
248
+ [alternateId]: true
249
+ }
250
+ }));
278
251
  });
279
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateDone", function (alternateId) {
280
- return function () {
281
- _this.setState(function (state) {
282
- return {
283
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, (0, _defineProperty2["default"])({
284
- openCount: state.showKeypad.openCount - 1
285
- }, alternateId, false))
286
- };
287
- });
288
- };
252
+ (0, _defineProperty2.default)(this, "onAlternateDone", alternateId => () => {
253
+ this.setState(state => ({
254
+ showKeypad: {
255
+ ...state.showKeypad,
256
+ openCount: state.showKeypad.openCount - 1,
257
+ [alternateId]: false
258
+ }
259
+ }));
289
260
  });
290
-
291
- var _ref = props || {},
292
- _ref$response = _ref.response;
293
-
294
- _ref$response = _ref$response === void 0 ? {} : _ref$response;
295
- var alternates = _ref$response.alternates;
296
- var alternatesLength = Object.keys(alternates || {}).length;
297
- _this.state = {
261
+ const {
262
+ response: {
263
+ alternates
264
+ } = {}
265
+ } = props || {};
266
+ const alternatesLength = Object.keys(alternates || {}).length;
267
+ this.state = {
298
268
  alternateIdCounter: alternatesLength + 1,
299
269
  showKeypad: {
300
270
  openCount: 0,
301
271
  main: false
302
272
  }
303
273
  };
304
- return _this;
305
274
  }
306
-
307
- (0, _createClass2["default"])(Response, [{
308
- key: "render",
309
- value: function render() {
310
- var _this2 = this;
311
-
312
- var _this$props8 = this.props,
313
- classes = _this$props8.classes,
314
- mode = _this$props8.mode,
315
- defaultResponse = _this$props8.defaultResponse,
316
- index = _this$props8.index,
317
- response = _this$props8.response,
318
- cAllowTrailingZeros = _this$props8.cAllowTrailingZeros,
319
- cIgnoreOrder = _this$props8.cIgnoreOrder,
320
- error = _this$props8.error;
321
- var showKeypad = this.state.showKeypad;
322
- var validation = response.validation,
323
- answer = response.answer,
324
- alternates = response.alternates,
325
- ignoreOrder = response.ignoreOrder,
326
- allowTrailingZeros = response.allowTrailingZeros;
327
- var hasAlternates = Object.keys(alternates || {}).length > 0;
328
- var classNames = {
329
- editor: classes.responseEditor,
330
- mathToolbar: classes.mathToolbar
331
- };
332
- var styles = {
333
- minHeight: "".concat(showKeypad.openCount > 0 ? 430 : 230, "px")
334
- };
335
- return /*#__PURE__*/React.createElement(_Card["default"], {
336
- className: classes.responseContainer,
337
- style: styles
338
- }, /*#__PURE__*/React.createElement(_CardContent["default"], {
339
- className: classes.cardContent
340
- }, /*#__PURE__*/React.createElement("div", {
341
- className: classes.titleBar
342
- }, /*#__PURE__*/React.createElement(_Typography["default"], {
343
- className: classes.title,
344
- component: "div"
345
- }, "Response ", INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? defaultResponse ? '' : index + 1 : ''), /*#__PURE__*/React.createElement(_configUi.InputContainer, {
346
- label: "Validation",
347
- className: classes.selectContainer
348
- }, /*#__PURE__*/React.createElement(_Select["default"], {
349
- className: classes.select,
350
- onChange: this.onChange('validation'),
351
- value: validation || 'literal'
352
- }, /*#__PURE__*/React.createElement(_MenuItem["default"], {
353
- value: "literal"
354
- }, "Literal Validation"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
355
- value: "symbolic"
356
- }, "Symbolic Validation")))), validation === 'literal' && /*#__PURE__*/React.createElement("div", {
357
- className: classes.flexContainer
358
- }, cAllowTrailingZeros.enabled && /*#__PURE__*/React.createElement(_FormControlLabel["default"], {
359
- label: cAllowTrailingZeros.label,
360
- control: /*#__PURE__*/React.createElement(_Checkbox["default"], {
361
- className: classes.customColor,
362
- checked: allowTrailingZeros,
363
- onChange: this.onLiteralOptionsChange('allowTrailingZeros')
364
- })
365
- }), cIgnoreOrder.enabled && /*#__PURE__*/React.createElement(_FormControlLabel["default"], {
366
- label: cIgnoreOrder.label,
367
- control: /*#__PURE__*/React.createElement(_Checkbox["default"], {
368
- className: classes.customColor,
369
- checked: ignoreOrder,
370
- onChange: this.onLiteralOptionsChange('ignoreOrder')
371
- })
372
- })), /*#__PURE__*/React.createElement("div", {
373
- className: classes.inputContainer
374
- }, /*#__PURE__*/React.createElement(_InputLabel["default"], null, "Correct Answer"), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
375
- keypadMode: mode,
376
- classNames: classNames,
377
- controlledKeypad: true,
378
- showKeypad: showKeypad.main,
379
- latex: answer || '',
380
- onChange: this.onAnswerChange,
381
- onFocus: this.onFocus,
382
- onDone: this.onDone,
383
- error: error && error.answer
384
- }), error && error.answer ? /*#__PURE__*/React.createElement("div", {
385
- className: classes.errorText
386
- }, error.answer) : null), hasAlternates && Object.keys(alternates).map(function (alternateId, altIdx) {
387
- return /*#__PURE__*/React.createElement("div", {
388
- className: classes.inputContainer,
389
- key: alternateId
390
- }, /*#__PURE__*/React.createElement("div", {
391
- className: classes.alternateBar
392
- }, /*#__PURE__*/React.createElement(_InputLabel["default"], null, "Alternate", Object.keys(alternates).length > 1 ? " ".concat(altIdx + 1) : ''), /*#__PURE__*/React.createElement(_Button["default"], {
393
- className: classes.removeAlternateButton,
394
- type: "secondary",
395
- onClick: _this2.onRemoveAlternate(alternateId)
396
- }, "Remove")), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
397
- classNames: classNames,
398
- controlledKeypad: true,
399
- keypadMode: mode,
400
- showKeypad: showKeypad[alternateId] || false,
401
- latex: alternates[alternateId] || '',
402
- onChange: _this2.onAlternateAnswerChange(alternateId),
403
- onFocus: _this2.onAlternateFocus(alternateId),
404
- onDone: _this2.onAlternateDone(alternateId),
405
- error: error && error[alternateId]
406
- }), error && error[alternateId] ? /*#__PURE__*/React.createElement("div", {
407
- className: classes.errorText
408
- }, error[alternateId]) : null);
409
- }), /*#__PURE__*/React.createElement(_Button["default"], {
410
- className: classes.alternateButton,
411
- type: "primary",
412
- onClick: this.onAddAlternate
413
- }, "ADD ALTERNATE")));
414
- }
415
- }]);
416
- return Response;
417
- }(React.Component);
418
-
419
- (0, _defineProperty2["default"])(Response, "propTypes", {
420
- classes: _propTypes["default"].object.isRequired,
421
- defaultResponse: _propTypes["default"].bool,
422
- error: _propTypes["default"].object,
423
- mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
424
- index: _propTypes["default"].number,
425
- onResponseChange: _propTypes["default"].func.isRequired,
426
- response: _propTypes["default"].object.isRequired,
427
- cIgnoreOrder: _propTypes["default"].object.isRequired,
428
- cAllowTrailingZeros: _propTypes["default"].object.isRequired
275
+ render() {
276
+ const {
277
+ mode,
278
+ defaultResponse,
279
+ index,
280
+ response,
281
+ cAllowTrailingZeros,
282
+ cIgnoreOrder,
283
+ error
284
+ } = this.props;
285
+ const {
286
+ showKeypad
287
+ } = this.state;
288
+ const {
289
+ validation,
290
+ answer,
291
+ alternates,
292
+ ignoreOrder,
293
+ allowTrailingZeros
294
+ } = response;
295
+ const hasAlternates = Object.keys(alternates || {}).length > 0;
296
+ const classNames = {
297
+ editor: 'response-editor',
298
+ mathToolbar: 'math-toolbar'
299
+ };
300
+ const containerStyles = {
301
+ minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`
302
+ };
303
+ return /*#__PURE__*/React.createElement(ResponseContainer, {
304
+ style: containerStyles
305
+ }, /*#__PURE__*/React.createElement(StyledCardContent, null, /*#__PURE__*/React.createElement(TitleBar, null, /*#__PURE__*/React.createElement(Title, {
306
+ component: "div"
307
+ }, "Response ", INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? defaultResponse ? '' : index + 1 : ''), /*#__PURE__*/React.createElement(SelectContainer, {
308
+ label: "Validation"
309
+ }, /*#__PURE__*/React.createElement(_Select.default, {
310
+ onChange: this.onChange('validation'),
311
+ value: validation || 'literal',
312
+ MenuProps: {
313
+ transitionDuration: {
314
+ enter: 225,
315
+ exit: 195
316
+ }
317
+ }
318
+ }, /*#__PURE__*/React.createElement(_MenuItem.default, {
319
+ value: "literal"
320
+ }, "Literal Validation"), /*#__PURE__*/React.createElement(_MenuItem.default, {
321
+ value: "symbolic"
322
+ }, "Symbolic Validation")))), validation === 'literal' && /*#__PURE__*/React.createElement(FlexContainer, null, cAllowTrailingZeros.enabled && /*#__PURE__*/React.createElement(_FormControlLabel.default, {
323
+ label: cAllowTrailingZeros.label,
324
+ control: /*#__PURE__*/React.createElement(CustomColorCheckbox, {
325
+ checked: allowTrailingZeros,
326
+ onChange: this.onLiteralOptionsChange('allowTrailingZeros')
327
+ })
328
+ }), cIgnoreOrder.enabled && /*#__PURE__*/React.createElement(_FormControlLabel.default, {
329
+ label: cIgnoreOrder.label,
330
+ control: /*#__PURE__*/React.createElement(CustomColorCheckbox, {
331
+ checked: ignoreOrder,
332
+ onChange: this.onLiteralOptionsChange('ignoreOrder')
333
+ })
334
+ })), /*#__PURE__*/React.createElement(InputContainerWrapper, null, /*#__PURE__*/React.createElement(_InputLabel.default, null, "Correct Answer"), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
335
+ keypadMode: mode,
336
+ classNames: classNames,
337
+ controlledKeypad: true,
338
+ showKeypad: showKeypad.main,
339
+ latex: answer || '',
340
+ onChange: this.onAnswerChange,
341
+ onFocus: this.onFocus,
342
+ onDone: this.onDone,
343
+ error: error && error.answer
344
+ }), error && error.answer ? /*#__PURE__*/React.createElement(ErrorText, null, error.answer) : null), hasAlternates && Object.keys(alternates).map((alternateId, altIdx) => /*#__PURE__*/React.createElement(InputContainerWrapper, {
345
+ key: alternateId
346
+ }, /*#__PURE__*/React.createElement(AlternateBar, null, /*#__PURE__*/React.createElement(_InputLabel.default, null, "Alternate", Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''), /*#__PURE__*/React.createElement(RemoveAlternateButton, {
347
+ type: "secondary",
348
+ onClick: this.onRemoveAlternate(alternateId)
349
+ }, "Remove")), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
350
+ classNames: classNames,
351
+ controlledKeypad: true,
352
+ keypadMode: mode,
353
+ showKeypad: showKeypad[alternateId] || false,
354
+ latex: alternates[alternateId] || '',
355
+ onChange: this.onAlternateAnswerChange(alternateId),
356
+ onFocus: this.onAlternateFocus(alternateId),
357
+ onDone: this.onAlternateDone(alternateId),
358
+ error: error && error[alternateId]
359
+ }), error && error[alternateId] ? /*#__PURE__*/React.createElement(ErrorText, null, error[alternateId]) : null)), /*#__PURE__*/React.createElement(AlternateButton, {
360
+ type: "primary",
361
+ onClick: this.onAddAlternate
362
+ }, "ADD ALTERNATE")));
363
+ }
364
+ }
365
+ (0, _defineProperty2.default)(Response, "propTypes", {
366
+ defaultResponse: _propTypes.default.bool,
367
+ error: _propTypes.default.object,
368
+ mode: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
369
+ index: _propTypes.default.number,
370
+ onResponseChange: _propTypes.default.func.isRequired,
371
+ response: _propTypes.default.object.isRequired,
372
+ cIgnoreOrder: _propTypes.default.object.isRequired,
373
+ cAllowTrailingZeros: _propTypes.default.object.isRequired
429
374
  });
430
- (0, _defineProperty2["default"])(Response, "defaultProps", {
375
+ (0, _defineProperty2.default)(Response, "defaultProps", {
431
376
  defaultResponse: false,
432
377
  mode: 'miscellaneous'
433
378
  });
434
-
435
- var _default = (0, _styles.withStyles)(styles)(Response);
436
-
437
- exports["default"] = _default;
379
+ var _default = exports.default = Response;
438
380
  //# sourceMappingURL=response.js.map