@pie-element/math-templated 5.3.4-next.3 → 6.0.0-beta.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.
@@ -1,457 +1,394 @@
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"] = exports.Response = 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 = exports.Response = 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
-
54
- var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
55
-
56
- var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
57
-
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");
23
+ var _IconButton = _interopRequireDefault(require("@mui/material/IconButton"));
24
+ var _Delete = _interopRequireDefault(require("@mui/icons-material/Delete"));
58
25
  var _renderUi = require("@pie-lib/render-ui");
26
+ 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); }
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 StyledTitle = (0, _styles.styled)(_Typography.default)({
44
+ fontWeight: 700,
45
+ fontSize: '1.2rem',
46
+ flex: 3
47
+ });
48
+ const StyledSelectContainer = (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 AlternateButton = (0, _styles.styled)(_Button.default)(({
70
+ theme
71
+ }) => ({
72
+ border: `1px solid ${theme.palette.grey['A400']}`,
73
+ color: _renderUi.color.text()
74
+ }));
75
+ const RemoveAlternateButton = (0, _styles.styled)(_IconButton.default)(({
76
+ theme
77
+ }) => ({
78
+ marginLeft: theme.spacing(1)
79
+ }));
80
+ const ErrorText = (0, _styles.styled)('div')(({
81
+ theme
82
+ }) => ({
83
+ fontSize: theme.typography.fontSize - 2,
84
+ color: theme.palette.error.main,
85
+ paddingTop: theme.spacing(1)
86
+ }));
87
+ const ResponseBox = (0, _styles.styled)('div')(({
88
+ theme
89
+ }) => ({
90
+ background: theme.palette.grey['A100'],
91
+ color: theme.palette.grey['A700'],
92
+ display: 'inline',
93
+ minWidth: '50px',
94
+ padding: '8px',
95
+ border: '1px solid #C0C3CF'
96
+ }));
97
+ const AlternateBar = (0, _styles.styled)('div')({
98
+ display: 'flex',
99
+ justifyContent: 'space-between',
100
+ alignItems: 'center'
101
+ });
102
+ const CustomColorCheckbox = (0, _styles.styled)(_Checkbox.default)({
103
+ color: `${_renderUi.color.tertiary()} !important`
104
+ });
59
105
 
60
- 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); }
61
-
62
- 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; }
63
-
64
- 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; }
65
-
66
- 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; }
67
-
68
- 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); }; }
69
-
70
- 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; } }
71
-
72
- var Response = /*#__PURE__*/function (_React$Component) {
73
- (0, _inherits2["default"])(Response, _React$Component);
74
-
75
- var _super = _createSuper(Response);
76
-
77
- function Response(props) {
78
- var _this;
79
-
80
- (0, _classCallCheck2["default"])(this, Response);
81
- _this = _super.call(this, props);
82
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChange", function (name) {
83
- return function (evt) {
84
- var _this$props = _this.props,
85
- response = _this$props.response,
86
- onResponseChange = _this$props.onResponseChange,
87
- responseKey = _this$props.responseKey;
88
-
89
- var newResponse = _objectSpread({}, response);
90
-
91
- newResponse[name] = evt.target.value;
92
- onResponseChange(newResponse, responseKey);
106
+ // CSS for MathToolbar classNames (used as strings)
107
+ if (typeof document !== 'undefined') {
108
+ const styleId = 'math-templated-response-styles';
109
+ if (!document.getElementById(styleId)) {
110
+ const style = document.createElement('style');
111
+ style.id = styleId;
112
+ style.textContent = `
113
+ .response-editor {
114
+ display: flex;
115
+ align-items: center;
116
+ justify-content: center;
117
+ width: 100%;
118
+ min-width: 500px;
119
+ max-width: 900px;
120
+ height: auto;
121
+ min-height: 40px;
122
+ }
123
+ .math-toolbar {
124
+ width: 100%;
125
+ }
126
+ `;
127
+ document.head.appendChild(style);
128
+ }
129
+ }
130
+ class Response extends React.Component {
131
+ constructor(props) {
132
+ super(props);
133
+ (0, _defineProperty2.default)(this, "onChange", name => evt => {
134
+ const {
135
+ response,
136
+ onResponseChange,
137
+ responseKey
138
+ } = this.props;
139
+ const newResponse = {
140
+ ...response
93
141
  };
142
+ newResponse[name] = evt.target.value;
143
+ onResponseChange(newResponse, responseKey);
94
144
  });
95
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChanged", function (name) {
96
- return function (evt) {
97
- var _this$props2 = _this.props,
98
- response = _this$props2.response,
99
- onResponseChange = _this$props2.onResponseChange,
100
- responseKey = _this$props2.responseKey;
101
-
102
- var newResponse = _objectSpread({}, response);
103
-
104
- newResponse[name] = evt.target.checked;
105
- onResponseChange(newResponse, responseKey);
145
+ (0, _defineProperty2.default)(this, "onConfigChanged", name => evt => {
146
+ const {
147
+ response,
148
+ onResponseChange,
149
+ responseKey
150
+ } = this.props;
151
+ const newResponse = {
152
+ ...response
106
153
  };
154
+ newResponse[name] = evt.target.checked;
155
+ onResponseChange(newResponse, responseKey);
107
156
  });
108
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onLiteralOptionsChange", function (name) {
109
- return function () {
110
- var _this$props3 = _this.props,
111
- response = _this$props3.response,
112
- onResponseChange = _this$props3.onResponseChange,
113
- responseKey = _this$props3.responseKey;
114
-
115
- var newResponse = _objectSpread({}, response);
116
-
117
- newResponse[name] = !response[name];
118
- onResponseChange(newResponse, responseKey);
157
+ (0, _defineProperty2.default)(this, "onLiteralOptionsChange", name => () => {
158
+ const {
159
+ response,
160
+ onResponseChange,
161
+ responseKey
162
+ } = this.props;
163
+ const newResponse = {
164
+ ...response
119
165
  };
166
+ newResponse[name] = !response[name];
167
+ onResponseChange(newResponse, responseKey);
120
168
  });
121
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAnswerChange", function (answer) {
122
- var _this$props4 = _this.props,
123
- response = _this$props4.response,
124
- onResponseChange = _this$props4.onResponseChange,
125
- responseKey = _this$props4.responseKey;
126
-
127
- var newResponse = _objectSpread({}, response);
128
-
169
+ (0, _defineProperty2.default)(this, "onAnswerChange", answer => {
170
+ const {
171
+ response,
172
+ onResponseChange,
173
+ responseKey
174
+ } = this.props;
175
+ const newResponse = {
176
+ ...response
177
+ };
129
178
  newResponse.answer = answer;
130
179
  onResponseChange(newResponse, responseKey);
131
180
  });
132
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateAnswerChange", function (alternateId) {
133
- return function (answer) {
134
- var _this$props5 = _this.props,
135
- response = _this$props5.response,
136
- onResponseChange = _this$props5.onResponseChange,
137
- responseKey = _this$props5.responseKey;
138
-
139
- var newResponse = _objectSpread({}, response);
140
-
141
- newResponse.alternates[alternateId] = answer;
142
- onResponseChange(newResponse, responseKey);
181
+ (0, _defineProperty2.default)(this, "onAlternateAnswerChange", alternateId => answer => {
182
+ const {
183
+ response,
184
+ onResponseChange,
185
+ responseKey
186
+ } = this.props;
187
+ const newResponse = {
188
+ ...response
143
189
  };
190
+ newResponse.alternates[alternateId] = answer;
191
+ onResponseChange(newResponse, responseKey);
144
192
  });
145
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAddAlternate", function () {
146
- var _this$props6 = _this.props,
147
- response = _this$props6.response,
148
- onResponseChange = _this$props6.onResponseChange,
149
- responseKey = _this$props6.responseKey;
150
- var alternateIdCounter = _this.state.alternateIdCounter;
151
-
152
- var newResponse = _objectSpread({}, response);
153
-
193
+ (0, _defineProperty2.default)(this, "onAddAlternate", () => {
194
+ const {
195
+ response,
196
+ onResponseChange,
197
+ responseKey
198
+ } = this.props;
199
+ const {
200
+ alternateIdCounter
201
+ } = this.state;
202
+ const newResponse = {
203
+ ...response
204
+ };
154
205
  if (!newResponse.alternates) {
155
206
  newResponse.alternates = {};
156
207
  }
157
-
158
208
  newResponse.alternates[alternateIdCounter] = '';
159
209
  onResponseChange(newResponse, responseKey);
160
-
161
- _this.setState({
210
+ this.setState({
162
211
  alternateIdCounter: alternateIdCounter + 1
163
212
  });
164
213
  });
165
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRemoveAlternate", function (alternateId) {
166
- return function () {
167
- var _this$props7 = _this.props,
168
- response = _this$props7.response,
169
- onResponseChange = _this$props7.onResponseChange,
170
- responseKey = _this$props7.responseKey;
171
-
172
- var newResponse = _objectSpread({}, response);
173
-
174
- delete newResponse.alternates[alternateId];
175
- onResponseChange(newResponse, responseKey);
176
-
177
- _this.setState(function (state) {
178
- return {
179
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
180
- openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1
181
- })
182
- };
183
- });
214
+ (0, _defineProperty2.default)(this, "onRemoveAlternate", alternateId => () => {
215
+ const {
216
+ response,
217
+ onResponseChange,
218
+ responseKey
219
+ } = this.props;
220
+ const newResponse = {
221
+ ...response
184
222
  };
223
+ delete newResponse.alternates[alternateId];
224
+ onResponseChange(newResponse, responseKey);
225
+ this.setState(state => ({
226
+ showKeypad: {
227
+ ...state.showKeypad,
228
+ openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1
229
+ }
230
+ }));
185
231
  });
186
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {
187
- var onResponseDone = _this.props.onResponseDone;
188
-
189
- _this.setState(function (state) {
190
- return {
191
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
192
- openCount: state.showKeypad.openCount - 1,
193
- main: false
194
- })
195
- };
196
- });
197
-
232
+ (0, _defineProperty2.default)(this, "onDone", () => {
233
+ const {
234
+ onResponseDone
235
+ } = this.props;
236
+ this.setState(state => ({
237
+ showKeypad: {
238
+ ...state.showKeypad,
239
+ openCount: state.showKeypad.openCount - 1,
240
+ main: false
241
+ }
242
+ }));
198
243
  onResponseDone();
199
244
  });
200
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function () {
201
- _this.setState(function (state) {
202
- return {
203
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, {
204
- openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,
205
- main: true
206
- })
207
- };
208
- });
245
+ (0, _defineProperty2.default)(this, "onFocus", () => {
246
+ this.setState(state => ({
247
+ showKeypad: {
248
+ ...state.showKeypad,
249
+ openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,
250
+ main: true
251
+ }
252
+ }));
209
253
  });
210
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateFocus", function (alternateId) {
211
- return function () {
212
- _this.setState(function (state) {
213
- return {
214
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, (0, _defineProperty2["default"])({
215
- openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount
216
- }, alternateId, true))
217
- };
218
- });
219
- };
254
+ (0, _defineProperty2.default)(this, "onAlternateFocus", alternateId => () => {
255
+ this.setState(state => ({
256
+ showKeypad: {
257
+ ...state.showKeypad,
258
+ openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,
259
+ [alternateId]: true
260
+ }
261
+ }));
220
262
  });
221
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onAlternateDone", function (alternateId) {
222
- return function () {
223
- _this.setState(function (state) {
224
- return {
225
- showKeypad: _objectSpread(_objectSpread({}, state.showKeypad), {}, (0, _defineProperty2["default"])({
226
- openCount: state.showKeypad.openCount - 1
227
- }, alternateId, false))
228
- };
229
- });
230
- };
263
+ (0, _defineProperty2.default)(this, "onAlternateDone", alternateId => () => {
264
+ this.setState(state => ({
265
+ showKeypad: {
266
+ ...state.showKeypad,
267
+ openCount: state.showKeypad.openCount - 1,
268
+ [alternateId]: false
269
+ }
270
+ }));
231
271
  });
232
-
233
- var _ref = props || {},
234
- _ref$response = _ref.response;
235
-
236
- _ref$response = _ref$response === void 0 ? {} : _ref$response;
237
- var alternates = _ref$response.alternates;
238
- var alternatesLength = Object.keys(alternates || {}).length;
239
- _this.state = {
272
+ const {
273
+ response: {
274
+ alternates
275
+ } = {}
276
+ } = props || {};
277
+ const alternatesLength = Object.keys(alternates || {}).length;
278
+ this.state = {
240
279
  alternateIdCounter: alternatesLength + 1,
241
280
  showKeypad: {
242
281
  openCount: 0,
243
282
  main: false
244
283
  }
245
284
  };
246
- return _this;
247
285
  }
248
-
249
- (0, _createClass2["default"])(Response, [{
250
- key: "render",
251
- value: function render() {
252
- var _this2 = this;
253
-
254
- var _this$props8 = this.props,
255
- classes = _this$props8.classes,
256
- mode = _this$props8.mode,
257
- responseKey = _this$props8.responseKey,
258
- response = _this$props8.response,
259
- cAllowTrailingZeros = _this$props8.cAllowTrailingZeros,
260
- cIgnoreOrder = _this$props8.cIgnoreOrder,
261
- error = _this$props8.error;
262
- var showKeypad = this.state.showKeypad;
263
- var validation = response.validation,
264
- answer = response.answer,
265
- alternates = response.alternates,
266
- ignoreOrder = response.ignoreOrder,
267
- allowTrailingZeros = response.allowTrailingZeros;
268
- var hasAlternates = Object.keys(alternates || {}).length > 0;
269
- var classNames = {
270
- editor: classes.responseEditor,
271
- mathToolbar: classes.mathToolbar
272
- };
273
- var styles = {
274
- minHeight: "".concat(showKeypad.openCount > 0 ? 430 : 230, "px")
275
- }; // add 1 to index to display R 1 instead of R 0
276
-
277
- var keyToDisplay = "R ".concat(parseInt(responseKey) + 1);
278
- return /*#__PURE__*/React.createElement(_Card["default"], {
279
- className: classes.responseContainer,
280
- style: styles
281
- }, /*#__PURE__*/React.createElement(_CardContent["default"], {
282
- className: classes.cardContent
283
- }, /*#__PURE__*/React.createElement("div", {
284
- className: classes.titleBar
285
- }, /*#__PURE__*/React.createElement(_Typography["default"], {
286
- className: classes.title,
287
- component: "div"
288
- }, "Response for ", /*#__PURE__*/React.createElement("div", {
289
- className: classes.responseBox
290
- }, keyToDisplay)), /*#__PURE__*/React.createElement(_configUi.InputContainer, {
291
- label: "Validation",
292
- className: classes.selectContainer
293
- }, /*#__PURE__*/React.createElement(_Select["default"], {
294
- className: classes.select,
295
- onChange: this.onChange('validation'),
296
- value: validation || 'literal'
297
- }, /*#__PURE__*/React.createElement(_MenuItem["default"], {
298
- value: "literal"
299
- }, "Literal Validation"), /*#__PURE__*/React.createElement(_MenuItem["default"], {
300
- value: "symbolic"
301
- }, "Symbolic Validation")))), validation === 'literal' && /*#__PURE__*/React.createElement("div", {
302
- className: classes.flexContainer
303
- }, cAllowTrailingZeros.enabled && /*#__PURE__*/React.createElement(_FormControlLabel["default"], {
304
- label: cAllowTrailingZeros.label,
305
- control: /*#__PURE__*/React.createElement(_Checkbox["default"], {
306
- className: classes.customColor,
307
- checked: allowTrailingZeros,
308
- onChange: this.onLiteralOptionsChange('allowTrailingZeros')
309
- })
310
- }), cIgnoreOrder.enabled && /*#__PURE__*/React.createElement(_FormControlLabel["default"], {
311
- label: cIgnoreOrder.label,
312
- control: /*#__PURE__*/React.createElement(_Checkbox["default"], {
313
- className: classes.customColor,
314
- checked: ignoreOrder,
315
- onChange: this.onLiteralOptionsChange('ignoreOrder')
316
- })
317
- })), /*#__PURE__*/React.createElement("div", {
318
- className: classes.inputContainer
319
- }, /*#__PURE__*/React.createElement(_InputLabel["default"], null, "Correct Answer"), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
320
- keypadMode: mode,
321
- classNames: classNames,
322
- controlledKeypad: true,
323
- showKeypad: showKeypad.main,
324
- latex: answer || '',
325
- onChange: this.onAnswerChange,
326
- onFocus: this.onFocus,
327
- onDone: this.onDone,
328
- error: error && error.answer
329
- }), error && error.answer ? /*#__PURE__*/React.createElement("div", {
330
- className: classes.errorText
331
- }, error.answer) : null), hasAlternates && Object.keys(alternates).map(function (alternateId, altIdx) {
332
- return /*#__PURE__*/React.createElement("div", {
333
- className: classes.inputContainer,
334
- key: alternateId
335
- }, /*#__PURE__*/React.createElement(_InputLabel["default"], null, "Alternate", Object.keys(alternates).length > 1 ? " ".concat(altIdx + 1) : ''), /*#__PURE__*/React.createElement("div", {
336
- className: classes.alternateBar
337
- }, /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
338
- classNames: classNames,
339
- controlledKeypad: true,
340
- keypadMode: mode,
341
- showKeypad: showKeypad[alternateId] || false,
342
- latex: alternates[alternateId] || '',
343
- onChange: _this2.onAlternateAnswerChange(alternateId),
344
- onFocus: _this2.onAlternateFocus(alternateId),
345
- onDone: _this2.onAlternateDone(alternateId),
346
- error: error && error[alternateId]
347
- }), /*#__PURE__*/React.createElement(_IconButton["default"], {
348
- className: classes.removeAlternateButton,
349
- onClick: _this2.onRemoveAlternate(alternateId)
350
- }, /*#__PURE__*/React.createElement(_Delete["default"], null))), error && error[alternateId] ? /*#__PURE__*/React.createElement("div", {
351
- className: classes.errorText
352
- }, error[alternateId]) : null);
353
- }), /*#__PURE__*/React.createElement(_Button["default"], {
354
- className: classes.alternateButton,
355
- type: "primary",
356
- onClick: this.onAddAlternate
357
- }, "ADD ALTERNATE")));
358
- }
359
- }]);
360
- return Response;
361
- }(React.Component);
362
-
286
+ render() {
287
+ const {
288
+ mode,
289
+ responseKey,
290
+ response,
291
+ cAllowTrailingZeros,
292
+ cIgnoreOrder,
293
+ error
294
+ } = this.props;
295
+ const {
296
+ showKeypad
297
+ } = this.state;
298
+ const {
299
+ validation,
300
+ answer,
301
+ alternates,
302
+ ignoreOrder,
303
+ allowTrailingZeros
304
+ } = response;
305
+ const hasAlternates = Object.keys(alternates || {}).length > 0;
306
+ const classNames = {
307
+ editor: 'response-editor',
308
+ mathToolbar: 'math-toolbar'
309
+ };
310
+ const styles = {
311
+ minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`
312
+ };
313
+ // add 1 to index to display R 1 instead of R 0
314
+ const keyToDisplay = `R ${parseInt(responseKey) + 1}`;
315
+ return /*#__PURE__*/React.createElement(ResponseContainer, {
316
+ style: styles
317
+ }, /*#__PURE__*/React.createElement(StyledCardContent, null, /*#__PURE__*/React.createElement(TitleBar, null, /*#__PURE__*/React.createElement(StyledTitle, {
318
+ component: "div"
319
+ }, "Response for ", /*#__PURE__*/React.createElement(ResponseBox, null, keyToDisplay)), /*#__PURE__*/React.createElement(StyledSelectContainer, {
320
+ label: "Validation"
321
+ }, /*#__PURE__*/React.createElement(_Select.default, {
322
+ onChange: this.onChange('validation'),
323
+ value: validation || 'literal',
324
+ MenuProps: {
325
+ transitionDuration: {
326
+ enter: 225,
327
+ exit: 195
328
+ }
329
+ }
330
+ }, /*#__PURE__*/React.createElement(_MenuItem.default, {
331
+ value: "literal"
332
+ }, "Literal Validation"), /*#__PURE__*/React.createElement(_MenuItem.default, {
333
+ value: "symbolic"
334
+ }, "Symbolic Validation")))), validation === 'literal' && /*#__PURE__*/React.createElement(FlexContainer, null, cAllowTrailingZeros.enabled && /*#__PURE__*/React.createElement(_FormControlLabel.default, {
335
+ label: cAllowTrailingZeros.label,
336
+ control: /*#__PURE__*/React.createElement(CustomColorCheckbox, {
337
+ checked: allowTrailingZeros,
338
+ onChange: this.onLiteralOptionsChange('allowTrailingZeros')
339
+ })
340
+ }), cIgnoreOrder.enabled && /*#__PURE__*/React.createElement(_FormControlLabel.default, {
341
+ label: cIgnoreOrder.label,
342
+ control: /*#__PURE__*/React.createElement(CustomColorCheckbox, {
343
+ checked: ignoreOrder,
344
+ onChange: this.onLiteralOptionsChange('ignoreOrder')
345
+ })
346
+ })), /*#__PURE__*/React.createElement(InputContainerWrapper, null, /*#__PURE__*/React.createElement(_InputLabel.default, null, "Correct Answer"), /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
347
+ keypadMode: mode,
348
+ classNames: classNames,
349
+ controlledKeypad: true,
350
+ showKeypad: showKeypad.main,
351
+ latex: answer || '',
352
+ onChange: this.onAnswerChange,
353
+ onFocus: this.onFocus,
354
+ onDone: this.onDone,
355
+ error: error && error.answer
356
+ }), error && error.answer ? /*#__PURE__*/React.createElement(ErrorText, null, error.answer) : null), hasAlternates && Object.keys(alternates).map((alternateId, altIdx) => /*#__PURE__*/React.createElement(InputContainerWrapper, {
357
+ key: alternateId
358
+ }, /*#__PURE__*/React.createElement(_InputLabel.default, null, "Alternate", Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''), /*#__PURE__*/React.createElement(AlternateBar, null, /*#__PURE__*/React.createElement(_mathToolbar.MathToolbar, {
359
+ classNames: classNames,
360
+ controlledKeypad: true,
361
+ keypadMode: mode,
362
+ showKeypad: showKeypad[alternateId] || false,
363
+ latex: alternates[alternateId] || '',
364
+ onChange: this.onAlternateAnswerChange(alternateId),
365
+ onFocus: this.onAlternateFocus(alternateId),
366
+ onDone: this.onAlternateDone(alternateId),
367
+ error: error && error[alternateId]
368
+ }), /*#__PURE__*/React.createElement(RemoveAlternateButton, {
369
+ onClick: this.onRemoveAlternate(alternateId),
370
+ size: "large"
371
+ }, /*#__PURE__*/React.createElement(_Delete.default, null))), error && error[alternateId] ? /*#__PURE__*/React.createElement(ErrorText, null, error[alternateId]) : null)), /*#__PURE__*/React.createElement(AlternateButton, {
372
+ type: "primary",
373
+ onClick: this.onAddAlternate
374
+ }, "ADD ALTERNATE")));
375
+ }
376
+ }
363
377
  exports.Response = Response;
364
- (0, _defineProperty2["default"])(Response, "propTypes", {
365
- classes: _propTypes["default"].object.isRequired,
366
- defaultResponse: _propTypes["default"].bool,
367
- error: _propTypes["default"].object,
368
- mode: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]),
369
- onResponseChange: _propTypes["default"].func.isRequired,
370
- onResponseDone: _propTypes["default"].func.isRequired,
371
- response: _propTypes["default"].object.isRequired,
372
- cIgnoreOrder: _propTypes["default"].object.isRequired,
373
- cAllowTrailingZeros: _propTypes["default"].object.isRequired,
374
- responseKey: _propTypes["default"].number.isRequired
378
+ (0, _defineProperty2.default)(Response, "propTypes", {
379
+ defaultResponse: _propTypes.default.bool,
380
+ error: _propTypes.default.object,
381
+ mode: _propTypes.default.oneOfType([_propTypes.default.string, _propTypes.default.number]),
382
+ onResponseChange: _propTypes.default.func.isRequired,
383
+ onResponseDone: _propTypes.default.func.isRequired,
384
+ response: _propTypes.default.object.isRequired,
385
+ cIgnoreOrder: _propTypes.default.object.isRequired,
386
+ cAllowTrailingZeros: _propTypes.default.object.isRequired,
387
+ responseKey: _propTypes.default.number.isRequired
375
388
  });
376
- (0, _defineProperty2["default"])(Response, "defaultProps", {
389
+ (0, _defineProperty2.default)(Response, "defaultProps", {
377
390
  defaultResponse: false,
378
391
  mode: '8'
379
392
  });
380
-
381
- var styles = function styles(theme) {
382
- return {
383
- responseContainer: {
384
- marginBottom: theme.spacing.unit * 2.5,
385
- width: '100%',
386
- minWidth: '548px',
387
- border: "1px solid ".concat(theme.palette.grey[700]),
388
- display: 'flex',
389
- flexDirection: 'column',
390
- justifyContent: 'space-between'
391
- },
392
- cardContent: {
393
- paddingBottom: "".concat(theme.spacing.unit * 2, "px !important")
394
- },
395
- title: {
396
- fontWeight: 700,
397
- fontSize: '1.2rem',
398
- flex: 3
399
- },
400
- selectContainer: {
401
- flex: 2
402
- },
403
- inputContainer: {
404
- marginBottom: theme.spacing.unit * 2
405
- },
406
- titleBar: {
407
- display: 'flex',
408
- alignItems: 'center',
409
- justifyContent: 'space-between'
410
- },
411
- responseEditor: {
412
- display: 'flex',
413
- alignItems: 'center',
414
- justifyContent: 'center',
415
- width: '100%',
416
- minWidth: '500px',
417
- maxWidth: '900px',
418
- height: 'auto',
419
- minHeight: '40px'
420
- },
421
- mathToolbar: {
422
- width: '100%'
423
- },
424
- alternateButton: {
425
- border: "1px solid ".concat(theme.palette.grey['A100'])
426
- },
427
- removeAlternateButton: {
428
- marginLeft: theme.spacing.unit
429
- },
430
- errorText: {
431
- fontSize: theme.typography.fontSize - 2,
432
- color: theme.palette.error.main,
433
- paddingTop: theme.spacing.unit
434
- },
435
- responseBox: {
436
- background: theme.palette.grey['A100'],
437
- color: theme.palette.grey['A700'],
438
- display: 'inline',
439
- minWidth: '50px',
440
- padding: '8px',
441
- border: '1px solid #C0C3CF'
442
- },
443
- alternateBar: {
444
- display: 'flex',
445
- justifyContent: 'space-between',
446
- alignItems: 'center'
447
- },
448
- customColor: {
449
- color: "".concat(_renderUi.color.tertiary(), " !important")
450
- }
451
- };
452
- };
453
-
454
- var _default = (0, _styles.withStyles)(styles)(Response);
455
-
456
- exports["default"] = _default;
393
+ var _default = exports.default = Response;
457
394
  //# sourceMappingURL=response.js.map