@pie-element/math-inline 10.3.4-next.3 → 11.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.
Files changed (40) hide show
  1. package/configure/lib/configure.js +161 -239
  2. package/configure/lib/configure.js.map +1 -1
  3. package/configure/lib/defaults.js +5 -8
  4. package/configure/lib/defaults.js.map +1 -1
  5. package/configure/lib/general-config-block.js +445 -561
  6. package/configure/lib/general-config-block.js.map +1 -1
  7. package/configure/lib/index.js +110 -175
  8. package/configure/lib/index.js.map +1 -1
  9. package/configure/lib/response.js +330 -388
  10. package/configure/lib/response.js.map +1 -1
  11. package/configure/lib/utils.js +15 -30
  12. package/configure/lib/utils.js.map +1 -1
  13. package/configure/package.json +13 -11
  14. package/controller/lib/defaults.js +5 -8
  15. package/controller/lib/defaults.js.map +1 -1
  16. package/controller/lib/index.js +188 -277
  17. package/controller/lib/index.js.map +1 -1
  18. package/controller/lib/utils.js +1 -2
  19. package/controller/lib/utils.js.map +1 -1
  20. package/controller/package.json +5 -5
  21. package/lib/index.js +70 -123
  22. package/lib/index.js.map +1 -1
  23. package/lib/main.js +783 -890
  24. package/lib/main.js.map +1 -1
  25. package/lib/print.js +42 -83
  26. package/lib/print.js.map +1 -1
  27. package/lib/simple-question-block.js +125 -162
  28. package/lib/simple-question-block.js.map +1 -1
  29. package/lib/utils.js +1 -2
  30. package/lib/utils.js.map +1 -1
  31. package/package.json +15 -16
  32. package/module/configure.js +0 -1
  33. package/module/controller.js +0 -4278
  34. package/module/demo.js +0 -66
  35. package/module/element.js +0 -1
  36. package/module/index.html +0 -21
  37. package/module/manifest.json +0 -18
  38. package/module/print-demo.js +0 -104
  39. package/module/print.html +0 -18
  40. package/module/print.js +0 -1
@@ -1,185 +1,148 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = exports.SimpleQuestionBlockRaw = 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
-
7
+ exports.default = exports.SimpleQuestionBlock = void 0;
22
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
9
  var _react = _interopRequireDefault(require("react"));
25
-
26
10
  var _mathToolbar = require("@pie-lib/math-toolbar");
27
-
28
11
  var _mathInput = require("@pie-lib/math-input");
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
12
+ var _styles = require("@mui/material/styles");
34
13
  var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
14
  var _renderUi = require("@pie-lib/render-ui");
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 SimpleQuestionBlockRaw = /*#__PURE__*/function (_React$Component) {
43
- (0, _inherits2["default"])(SimpleQuestionBlockRaw, _React$Component);
44
-
45
- var _super = _createSuper(SimpleQuestionBlockRaw);
46
-
47
- function SimpleQuestionBlockRaw(props) {
48
- var _this;
49
-
50
- (0, _classCallCheck2["default"])(this, SimpleQuestionBlockRaw);
51
- _this = _super.call(this, props);
52
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "mathToolBarContainsTarget", function (e) {
53
- return document.getElementById(_this.mathToolBarId).contains(e.target);
54
- });
55
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function (e) {
15
+ const Expression = (0, _styles.styled)('div')(({
16
+ theme
17
+ }) => ({
18
+ marginTop: theme.spacing(2),
19
+ marginBottom: theme.spacing(2),
20
+ padding: theme.spacing(1)
21
+ }));
22
+ const Static = (0, _styles.styled)('div', {
23
+ shouldForwardProp: prop => !['isCorrect', 'isIncorrect'].includes(prop)
24
+ })(({
25
+ theme,
26
+ isCorrect,
27
+ isIncorrect
28
+ }) => ({
29
+ color: _renderUi.color.text(),
30
+ background: _renderUi.color.background(),
31
+ border: isCorrect ? `2px solid ${_renderUi.color.correct()} !important` : isIncorrect ? `2px solid ${_renderUi.color.incorrect()} !important` : `1px solid ${_renderUi.color.primaryLight()}`,
32
+ width: 'fit-content',
33
+ fontSize: '1rem',
34
+ padding: isCorrect || isIncorrect ? theme.spacing(1) : theme.spacing(0.5),
35
+ letterSpacing: isCorrect || isIncorrect ? '0.5px' : 'normal',
36
+ '& > .mq-math-mode': {
37
+ '& > .mq-hasCursor': {
38
+ '& > .mq-cursor': {
39
+ display: 'none'
40
+ }
41
+ }
42
+ }
43
+ }));
44
+
45
+ // CSS for MathToolbar classNames (used as strings)
46
+ if (typeof document !== 'undefined') {
47
+ const styleId = 'math-inline-simple-question-styles';
48
+ if (!document.getElementById(styleId)) {
49
+ const style = document.createElement('style');
50
+ style.id = styleId;
51
+ style.textContent = `
52
+ .response-editor {
53
+ display: flex;
54
+ justify-content: center;
55
+ width: auto;
56
+ max-width: fit-content;
57
+ height: auto;
58
+ text-align: left;
59
+ padding: 8px;
60
+ }
61
+ .response-editor.mq-math-mode {
62
+ border: 1px solid ${_renderUi.color.primaryLight()};
63
+ }
64
+ `;
65
+ document.head.appendChild(style);
66
+ }
67
+ }
68
+ class SimpleQuestionBlock extends _react.default.Component {
69
+ constructor(props) {
70
+ super(props);
71
+ (0, _defineProperty2.default)(this, "mathToolBarContainsTarget", e => document.getElementById(this.mathToolBarId).contains(e.target));
72
+ (0, _defineProperty2.default)(this, "handleClick", e => {
56
73
  try {
57
- if (!_this.mathToolBarContainsTarget(e)) {
58
- _this.setState({
74
+ if (!this.mathToolBarContainsTarget(e)) {
75
+ this.setState({
59
76
  showKeypad: false
60
77
  });
61
78
  }
62
- } catch (e) {// console.log(e.toString());
79
+ } catch (e) {
80
+ // console.log(e.toString());
63
81
  }
64
82
  });
65
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function () {
66
- var onSubFieldFocus = _this.props.onSubFieldFocus;
67
- onSubFieldFocus(_this.mathToolBarId);
83
+ (0, _defineProperty2.default)(this, "onFocus", () => {
84
+ const {
85
+ onSubFieldFocus
86
+ } = this.props;
87
+ onSubFieldFocus(this.mathToolBarId);
68
88
  });
69
- _this.mathToolBarId = "math-toolbar-".concat(new Date().getTime());
70
- return _this;
89
+ this.mathToolBarId = `math-toolbar-${new Date().getTime()}`;
71
90
  }
72
-
73
- (0, _createClass2["default"])(SimpleQuestionBlockRaw, [{
74
- key: "render",
75
- value: function render() {
76
- var _cx;
77
-
78
- var _this$props = this.props,
79
- classes = _this$props.classes,
80
- model = _this$props.model,
81
- showCorrect = _this$props.showCorrect,
82
- session = _this$props.session,
83
- emptyResponse = _this$props.emptyResponse,
84
- onSimpleResponseChange = _this$props.onSimpleResponseChange,
85
- showKeypad = _this$props.showKeypad;
86
-
87
- var _ref = model || {},
88
- config = _ref.config,
89
- disabled = _ref.disabled,
90
- correctness = _ref.correctness;
91
-
92
- if (!config) {
93
- return;
94
- }
95
-
96
- var correct = correctness && correctness.correct;
97
- var responses = config.responses,
98
- equationEditor = config.equationEditor;
99
- return /*#__PURE__*/_react["default"].createElement("div", {
100
- className: classes.expression,
101
- "data-keypad": true
102
- }, showCorrect || disabled ? /*#__PURE__*/_react["default"].createElement("div", {
103
- className: (0, _classnames["default"])(classes["static"], (_cx = {}, (0, _defineProperty2["default"])(_cx, classes.incorrect, !emptyResponse && !correct && !showCorrect), (0, _defineProperty2["default"])(_cx, classes.correct, !emptyResponse && (correct || showCorrect)), _cx))
104
- }, /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Static, {
105
- latex: showCorrect ? responses && responses.length && responses[0].answer : session.response || ''
106
- })) : /*#__PURE__*/_react["default"].createElement("div", {
107
- id: this.mathToolBarId
108
- }, /*#__PURE__*/_react["default"].createElement(_mathToolbar.MathToolbar, {
109
- classNames: {
110
- editor: classes.responseEditor
111
- },
112
- latex: session.response,
113
- keypadMode: equationEditor,
114
- onChange: onSimpleResponseChange,
115
- onDone: function onDone() {},
116
- onFocus: this.onFocus,
117
- controlledKeypad: true,
118
- showKeypad: showKeypad,
119
- hideDoneButton: true
120
- })));
91
+ render() {
92
+ const {
93
+ model,
94
+ showCorrect,
95
+ session,
96
+ emptyResponse,
97
+ onSimpleResponseChange,
98
+ showKeypad
99
+ } = this.props;
100
+ const {
101
+ config,
102
+ disabled,
103
+ correctness
104
+ } = model || {};
105
+ if (!config) {
106
+ return;
121
107
  }
122
- }]);
123
- return SimpleQuestionBlockRaw;
124
- }(_react["default"].Component);
125
-
126
- exports.SimpleQuestionBlockRaw = SimpleQuestionBlockRaw;
127
- (0, _defineProperty2["default"])(SimpleQuestionBlockRaw, "propTypes", {
128
- classes: _propTypes["default"].object,
129
- onSimpleResponseChange: _propTypes["default"].func,
130
- model: _propTypes["default"].object.isRequired,
131
- emptyResponse: _propTypes["default"].bool,
132
- session: _propTypes["default"].object.isRequired,
133
- showCorrect: _propTypes["default"].bool,
134
- onSubFieldFocus: _propTypes["default"].func.isRequired,
135
- showKeypad: _propTypes["default"].bool.isRequired
108
+ const correct = correctness && correctness.correct;
109
+ const {
110
+ responses,
111
+ equationEditor
112
+ } = config;
113
+ return /*#__PURE__*/_react.default.createElement(Expression, {
114
+ "data-keypad": true
115
+ }, showCorrect || disabled ? /*#__PURE__*/_react.default.createElement(Static, {
116
+ isIncorrect: !emptyResponse && !correct && !showCorrect,
117
+ isCorrect: !emptyResponse && (correct || showCorrect)
118
+ }, /*#__PURE__*/_react.default.createElement(_mathInput.mq.Static, {
119
+ latex: showCorrect ? responses && responses.length && responses[0].answer : session.response || ''
120
+ })) : /*#__PURE__*/_react.default.createElement("div", {
121
+ id: this.mathToolBarId
122
+ }, /*#__PURE__*/_react.default.createElement(_mathToolbar.MathToolbar, {
123
+ classNames: {
124
+ editor: 'response-editor'
125
+ },
126
+ latex: session.response,
127
+ keypadMode: equationEditor,
128
+ onChange: onSimpleResponseChange,
129
+ onDone: () => {},
130
+ onFocus: this.onFocus,
131
+ controlledKeypad: true,
132
+ showKeypad: showKeypad,
133
+ hideDoneButton: true
134
+ })));
135
+ }
136
+ }
137
+ exports.SimpleQuestionBlock = SimpleQuestionBlock;
138
+ (0, _defineProperty2.default)(SimpleQuestionBlock, "propTypes", {
139
+ onSimpleResponseChange: _propTypes.default.func,
140
+ model: _propTypes.default.object.isRequired,
141
+ emptyResponse: _propTypes.default.bool,
142
+ session: _propTypes.default.object.isRequired,
143
+ showCorrect: _propTypes.default.bool,
144
+ onSubFieldFocus: _propTypes.default.func.isRequired,
145
+ showKeypad: _propTypes.default.bool.isRequired
136
146
  });
137
- var SimpleQuestionBlock = (0, _styles.withStyles)(function (theme) {
138
- return {
139
- responseEditor: {
140
- display: 'flex',
141
- justifyContent: 'center',
142
- width: 'auto',
143
- maxWidth: 'fit-content',
144
- height: 'auto',
145
- textAlign: 'left',
146
- padding: theme.spacing.unit,
147
- '&.mq-math-mode': {
148
- border: "1px solid ".concat(_renderUi.color.primaryLight())
149
- }
150
- },
151
- expression: {
152
- marginTop: theme.spacing.unit * 2,
153
- marginBottom: theme.spacing.unit * 2,
154
- padding: theme.spacing.unit
155
- },
156
- "static": {
157
- color: _renderUi.color.text(),
158
- background: _renderUi.color.background(),
159
- border: "1px solid ".concat(_renderUi.color.primaryLight()),
160
- width: 'fit-content',
161
- fontSize: '1rem',
162
- padding: theme.spacing.unit / 2,
163
- '& > .mq-math-mode': {
164
- '& > .mq-hasCursor': {
165
- '& > .mq-cursor': {
166
- display: 'none'
167
- }
168
- }
169
- }
170
- },
171
- correct: {
172
- border: "2px solid ".concat(_renderUi.color.correct(), " !important"),
173
- padding: theme.spacing.unit,
174
- letterSpacing: '0.5px'
175
- },
176
- incorrect: {
177
- border: "2px solid ".concat(_renderUi.color.incorrect(), " !important"),
178
- padding: theme.spacing.unit,
179
- letterSpacing: '0.5px'
180
- }
181
- };
182
- })(SimpleQuestionBlockRaw);
183
- var _default = SimpleQuestionBlock;
184
- exports["default"] = _default;
147
+ var _default = exports.default = SimpleQuestionBlock;
185
148
  //# sourceMappingURL=simple-question-block.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/simple-question-block.jsx"],"names":["SimpleQuestionBlockRaw","props","e","document","getElementById","mathToolBarId","contains","target","mathToolBarContainsTarget","setState","showKeypad","onSubFieldFocus","Date","getTime","classes","model","showCorrect","session","emptyResponse","onSimpleResponseChange","config","disabled","correctness","correct","responses","equationEditor","expression","incorrect","length","answer","response","editor","responseEditor","onFocus","React","Component","PropTypes","object","func","isRequired","bool","SimpleQuestionBlock","theme","display","justifyContent","width","maxWidth","height","textAlign","padding","spacing","unit","border","color","primaryLight","marginTop","marginBottom","text","background","fontSize","letterSpacing"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport { mq } from '@pie-lib/math-input';\nimport cx from 'classnames';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\n\nexport class SimpleQuestionBlockRaw extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n onSimpleResponseChange: PropTypes.func,\n model: PropTypes.object.isRequired,\n emptyResponse: PropTypes.bool,\n session: PropTypes.object.isRequired,\n showCorrect: PropTypes.bool,\n onSubFieldFocus: PropTypes.func.isRequired,\n showKeypad: PropTypes.bool.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.mathToolBarId = `math-toolbar-${new Date().getTime()}`;\n }\n\n mathToolBarContainsTarget = (e) => document.getElementById(this.mathToolBarId).contains(e.target);\n\n handleClick = (e) => {\n try {\n if (!this.mathToolBarContainsTarget(e)) {\n this.setState({ showKeypad: false });\n }\n } catch (e) {\n // console.log(e.toString());\n }\n };\n\n onFocus = () => {\n const { onSubFieldFocus } = this.props;\n\n onSubFieldFocus(this.mathToolBarId);\n };\n\n render() {\n const { classes, model, showCorrect, session, emptyResponse, onSimpleResponseChange, showKeypad } = this.props;\n const { config, disabled, correctness } = model || {};\n\n if (!config) {\n return;\n }\n\n const correct = correctness && correctness.correct;\n const { responses, equationEditor } = config;\n\n return (\n <div className={classes.expression} data-keypad={true}>\n {showCorrect || disabled ? (\n <div\n className={cx(classes.static, {\n [classes.incorrect]: !emptyResponse && !correct && !showCorrect,\n [classes.correct]: !emptyResponse && (correct || showCorrect),\n })}\n >\n <mq.Static\n latex={showCorrect ? responses && responses.length && responses[0].answer : session.response || ''}\n />\n </div>\n ) : (\n <div id={this.mathToolBarId}>\n <MathToolbar\n classNames={{ editor: classes.responseEditor }}\n latex={session.response}\n keypadMode={equationEditor}\n onChange={onSimpleResponseChange}\n onDone={() => {}}\n onFocus={this.onFocus}\n controlledKeypad={true}\n showKeypad={showKeypad}\n hideDoneButton={true}\n />\n </div>\n )}\n </div>\n );\n }\n}\n\nconst SimpleQuestionBlock = withStyles((theme) => ({\n responseEditor: {\n display: 'flex',\n justifyContent: 'center',\n width: 'auto',\n maxWidth: 'fit-content',\n height: 'auto',\n textAlign: 'left',\n padding: theme.spacing.unit,\n '&.mq-math-mode': {\n border: `1px solid ${color.primaryLight()}`,\n },\n },\n expression: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n padding: theme.spacing.unit,\n },\n static: {\n color: color.text(),\n background: color.background(),\n border: `1px solid ${color.primaryLight()}`,\n width: 'fit-content',\n fontSize: '1rem',\n padding: theme.spacing.unit / 2,\n '& > .mq-math-mode': {\n '& > .mq-hasCursor': {\n '& > .mq-cursor': {\n display: 'none',\n },\n },\n },\n },\n correct: {\n border: `2px solid ${color.correct()} !important`,\n padding: theme.spacing.unit,\n letterSpacing: '0.5px',\n },\n incorrect: {\n border: `2px solid ${color.incorrect()} !important`,\n padding: theme.spacing.unit,\n letterSpacing: '0.5px',\n },\n}))(SimpleQuestionBlockRaw);\n\nexport default SimpleQuestionBlock;\n"],"file":"simple-question-block.js"}
1
+ {"version":3,"file":"simple-question-block.js","names":["_react","_interopRequireDefault","require","_mathToolbar","_mathInput","_styles","_propTypes","_renderUi","Expression","styled","theme","marginTop","spacing","marginBottom","padding","Static","shouldForwardProp","prop","includes","isCorrect","isIncorrect","color","text","background","border","correct","incorrect","primaryLight","width","fontSize","letterSpacing","display","document","styleId","getElementById","style","createElement","id","textContent","head","appendChild","SimpleQuestionBlock","React","Component","constructor","props","_defineProperty2","default","e","mathToolBarId","contains","target","mathToolBarContainsTarget","setState","showKeypad","onSubFieldFocus","Date","getTime","render","model","showCorrect","session","emptyResponse","onSimpleResponseChange","config","disabled","correctness","responses","equationEditor","mq","latex","length","answer","response","MathToolbar","classNames","editor","keypadMode","onChange","onDone","onFocus","controlledKeypad","hideDoneButton","exports","PropTypes","func","object","isRequired","bool","_default"],"sources":["../src/simple-question-block.jsx"],"sourcesContent":["import React from 'react';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport { mq } from '@pie-lib/math-input';\nimport { styled } from '@mui/material/styles';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\n\nconst Expression = styled('div')(({ theme }) => ({\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n padding: theme.spacing(1),\n}));\n\nconst Static = styled('div', {\n shouldForwardProp: (prop) => !['isCorrect', 'isIncorrect'].includes(prop),\n})(({ theme, isCorrect, isIncorrect }) => ({\n color: color.text(),\n background: color.background(),\n border: isCorrect\n ? `2px solid ${color.correct()} !important`\n : isIncorrect\n ? `2px solid ${color.incorrect()} !important`\n : `1px solid ${color.primaryLight()}`,\n width: 'fit-content',\n fontSize: '1rem',\n padding: isCorrect || isIncorrect ? theme.spacing(1) : theme.spacing(0.5),\n letterSpacing: (isCorrect || isIncorrect) ? '0.5px' : 'normal',\n '& > .mq-math-mode': {\n '& > .mq-hasCursor': {\n '& > .mq-cursor': {\n display: 'none',\n },\n },\n },\n}));\n\n// CSS for MathToolbar classNames (used as strings)\nif (typeof document !== 'undefined') {\n const styleId = 'math-inline-simple-question-styles';\n if (!document.getElementById(styleId)) {\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = `\n .response-editor {\n display: flex;\n justify-content: center;\n width: auto;\n max-width: fit-content;\n height: auto;\n text-align: left;\n padding: 8px;\n }\n .response-editor.mq-math-mode {\n border: 1px solid ${color.primaryLight()};\n }\n `;\n document.head.appendChild(style);\n }\n}\n\nexport class SimpleQuestionBlock extends React.Component {\n static propTypes = {\n onSimpleResponseChange: PropTypes.func,\n model: PropTypes.object.isRequired,\n emptyResponse: PropTypes.bool,\n session: PropTypes.object.isRequired,\n showCorrect: PropTypes.bool,\n onSubFieldFocus: PropTypes.func.isRequired,\n showKeypad: PropTypes.bool.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n this.mathToolBarId = `math-toolbar-${new Date().getTime()}`;\n }\n\n mathToolBarContainsTarget = (e) => document.getElementById(this.mathToolBarId).contains(e.target);\n\n handleClick = (e) => {\n try {\n if (!this.mathToolBarContainsTarget(e)) {\n this.setState({ showKeypad: false });\n }\n } catch (e) {\n // console.log(e.toString());\n }\n };\n\n onFocus = () => {\n const { onSubFieldFocus } = this.props;\n\n onSubFieldFocus(this.mathToolBarId);\n };\n\n render() {\n const { model, showCorrect, session, emptyResponse,onSimpleResponseChange, showKeypad } = this.props;\n const { config, disabled, correctness } = model || {};\n\n if (!config) {\n return;\n }\n\n const correct = correctness && correctness.correct;\n const { responses, equationEditor } = config;\n\n return (\n <Expression data-keypad={true}>\n {showCorrect || disabled ? (\n <Static\n isIncorrect={!emptyResponse && !correct && !showCorrect}\n isCorrect={!emptyResponse && (correct || showCorrect)}\n >\n <mq.Static\n latex={showCorrect ? responses && responses.length && responses[0].answer : session.response || ''}\n />\n </Static>\n ) : (\n <div id={this.mathToolBarId}>\n <MathToolbar\n classNames={{ editor: 'response-editor' }}\n latex={session.response}\n keypadMode={equationEditor}\n onChange={onSimpleResponseChange}\n onDone={() => {}}\n onFocus={this.onFocus}\n controlledKeypad={true}\n showKeypad={showKeypad}\n hideDoneButton={true}\n />\n </div>\n )}\n </Expression>\n );\n }\n}\n\nexport default SimpleQuestionBlock;\n"],"mappings":"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","ignoreList":[]}
package/lib/utils.js CHANGED
@@ -4,9 +4,8 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.ResponseTypes = void 0;
7
- var ResponseTypes = {
7
+ const ResponseTypes = exports.ResponseTypes = {
8
8
  advanced: 'Advanced Multi',
9
9
  simple: 'Simple'
10
10
  };
11
- exports.ResponseTypes = ResponseTypes;
12
11
  //# sourceMappingURL=utils.js.map
package/lib/utils.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.js"],"names":["ResponseTypes","advanced","simple"],"mappings":";;;;;;AAAO,IAAMA,aAAa,GAAG;AAC3BC,EAAAA,QAAQ,EAAE,gBADiB;AAE3BC,EAAAA,MAAM,EAAE;AAFmB,CAAtB","sourcesContent":["export const ResponseTypes = {\n advanced: 'Advanced Multi',\n simple: 'Simple',\n};\n"],"file":"utils.js"}
1
+ {"version":3,"file":"utils.js","names":["ResponseTypes","exports","advanced","simple"],"sources":["../src/utils.js"],"sourcesContent":["export const ResponseTypes = {\n advanced: 'Advanced Multi',\n simple: 'Simple',\n};\n"],"mappings":";;;;;;AAAO,MAAMA,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG;EAC3BE,QAAQ,EAAE,gBAAgB;EAC1BC,MAAM,EAAE;AACV,CAAC","ignoreList":[]}
package/package.json CHANGED
@@ -4,35 +4,34 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "10.3.4-next.3+1f5df43bb",
7
+ "version": "11.0.0-beta.0",
8
8
  "main": "lib/index.js",
9
9
  "description": "",
10
10
  "scripts": {
11
11
  "postpublish": "../../scripts/postpublish"
12
12
  },
13
13
  "dependencies": {
14
- "@material-ui/core": "^3.9.2",
14
+ "@emotion/react": "^11.14.0",
15
+ "@emotion/style": "^0.8.0",
16
+ "@mui/icons-material": "^7.3.4",
17
+ "@mui/material": "^7.3.4",
15
18
  "@pie-framework/mathquill": "^1.1.3",
16
19
  "@pie-framework/pie-player-events": "^0.1.0",
17
- "@pie-lib/correct-answer-toggle": "2.25.2",
18
- "@pie-lib/math-input": "6.31.1",
19
- "@pie-lib/math-rendering": "3.22.1",
20
- "@pie-lib/math-toolbar": "1.31.2",
21
- "@pie-lib/render-ui": "4.35.2",
22
- "@pie-lib/translator": "2.23.1",
20
+ "@pie-lib/correct-answer-toggle": "2.25.4-next.0",
21
+ "@pie-lib/math-input": "6.31.3-next.0",
22
+ "@pie-lib/math-rendering": "3.22.3-next.0",
23
+ "@pie-lib/math-toolbar": "1.31.4-next.0",
24
+ "@pie-lib/render-ui": "4.35.4-next.0",
25
+ "@pie-lib/translator": "2.23.3-next.0",
23
26
  "classnames": "^2.2.5",
24
27
  "debug": "^4.1.1",
25
28
  "lodash": "^4.17.10",
26
29
  "prop-types": "^15.6.1",
27
- "react": "^16.8.1",
28
- "react-dom": "^16.8.1"
30
+ "react": "18.2.0",
31
+ "react-dom": "18.2.0"
29
32
  },
30
33
  "author": "",
31
34
  "license": "ISC",
32
- "gitHead": "1f5df43bb21a7e04dbae9de66831b3d64d3ff5a8",
33
- "module": "src/index.js",
34
- "exports": {
35
- ".": "./src/index.js",
36
- "./print": "./src/print.js"
37
- }
35
+ "gitHead": "c47957cb243457f62111caf9d07deaad04b39545",
36
+ "module": "src/index.js"
38
37
  }
@@ -1 +0,0 @@
1
- import{_dll_react as e,_dll_prop_types as t,_dll_material_ui__core as n,_dll_material_ui__core_styles as a,_dll_pie_lib__render_ui as o,_dll_classnames as s,_dll_lodash as i,_dll_material_ui__icons as l,_dll_debug as r,_dll_react_dom as c}from"../../../@pie-lib/shared-module@^1.17.5/module/index.js";import{_dll_pie_lib__config_ui as p}from"../../../@pie-lib/config-module@^2.23.3/module/index.js";import{_dll_pie_lib__editable_html as d}from"../../../@pie-lib/editable-html-module@^5.9.5/module/index.js";import{_dll_pie_lib__math_toolbar as u,_dll_pie_framework__mathquill as m}from"../../../@pie-lib/math-edit-module@^2.8.5/module/index.js";const h=e,g=t,{Card:b}=n,{CardContent:_}=n,{Button:C}=n,{FormControlLabel:y}=n,{Typography:f}=n,{InputLabel:E}=n,{Checkbox:v}=n,{Select:x}=n,{MenuItem:S}=n,{withStyles:w}=a,{color:T}=o,{InputContainer:I}=p,{MathToolbar:A}=u;class k extends h.Component{static __initStatic(){this.propTypes={classes:g.object.isRequired,defaultResponse:g.bool,error:g.object,mode:g.oneOfType([g.string,g.number]),index:g.number,onResponseChange:g.func.isRequired,response:g.object.isRequired,cIgnoreOrder:g.object.isRequired,cAllowTrailingZeros:g.object.isRequired}}static __initStatic2(){this.defaultProps={defaultResponse:!1,mode:"miscellaneous"}}constructor(e){super(e),k.prototype.__init.call(this),k.prototype.__init2.call(this),k.prototype.__init3.call(this),k.prototype.__init4.call(this),k.prototype.__init5.call(this),k.prototype.__init6.call(this),k.prototype.__init7.call(this),k.prototype.__init8.call(this),k.prototype.__init9.call(this),k.prototype.__init10.call(this),k.prototype.__init11.call(this);const{response:{alternates:t}={}}=e||{},n=Object.keys(t||{}).length;this.state={alternateIdCounter:n+1,showKeypad:{openCount:0,main:!1}}}__init(){this.onChange=e=>t=>{const{response:n,onResponseChange:a,index:o}=this.props,s={...n};s[e]=t.target.value,a(s,o)}}__init2(){this.onConfigChanged=e=>t=>{const{response:n,onResponseChange:a,index:o}=this.props,s={...n};s[e]=t.target.checked,a(s,o)}}__init3(){this.onLiteralOptionsChange=e=>()=>{const{response:t,onResponseChange:n,index:a}=this.props,o={...t};o[e]=!t[e],n(o,a)}}__init4(){this.onAnswerChange=e=>{const{response:t,onResponseChange:n,index:a}=this.props,o={...t};o.answer=e,n(o,a)}}__init5(){this.onAlternateAnswerChange=e=>t=>{const{response:n,onResponseChange:a,index:o}=this.props,s={...n};s.alternates[e]=t,a(s,o)}}__init6(){this.onAddAlternate=()=>{const{response:e,onResponseChange:t,index:n}=this.props,{alternateIdCounter:a}=this.state,o={...e};o.alternates||(o.alternates={}),o.alternates[a]="",t(o,n),this.setState({alternateIdCounter:a+1})}}__init7(){this.onRemoveAlternate=e=>()=>{const{response:t,onResponseChange:n,index:a}=this.props,o={...t};delete o.alternates[e],n(o,a),this.setState((t=>({showKeypad:{...t.showKeypad,openCount:t.showKeypad[e]?t.showKeypad.openCount-1:t.showKeypad.openCount}})))}}__init8(){this.onDone=()=>{this.setState((e=>({showKeypad:{...e.showKeypad,openCount:e.showKeypad.openCount-1,main:!1}})))}}__init9(){this.onFocus=()=>{this.setState((e=>({showKeypad:{...e.showKeypad,openCount:e.showKeypad.main?e.showKeypad.openCount:e.showKeypad.openCount+1,main:!0}})))}}__init10(){this.onAlternateFocus=e=>()=>{this.setState((t=>({showKeypad:{...t.showKeypad,openCount:t.showKeypad[e]?t.showKeypad.openCount:t.showKeypad.openCount+1,[e]:!0}})))}}__init11(){this.onAlternateDone=e=>()=>{this.setState((t=>({showKeypad:{...t.showKeypad,openCount:t.showKeypad.openCount-1,[e]:!1}})))}}render(){const{classes:e,mode:t,defaultResponse:n,index:a,response:o,cAllowTrailingZeros:s,cIgnoreOrder:i,error:l}=this.props,{showKeypad:r}=this.state,{validation:c,answer:p,alternates:d,ignoreOrder:u,allowTrailingZeros:m}=o,g=Object.keys(d||{}).length>0,w={editor:e.responseEditor,mathToolbar:e.mathToolbar},T={minHeight:(r.openCount>0?430:230)+"px"};return h.createElement(b,{className:e.responseContainer,style:T},h.createElement(_,{className:e.cardContent},h.createElement("div",{className:e.titleBar},h.createElement(f,{className:e.title,component:"div"},"Response ",""),h.createElement(I,{label:"Validation",className:e.selectContainer},h.createElement(x,{className:e.select,onChange:this.onChange("validation"),value:c||"literal"},h.createElement(S,{value:"literal"},"Literal Validation"),h.createElement(S,{value:"symbolic"},"Symbolic Validation")))),"literal"===c&&h.createElement("div",{className:e.flexContainer},s.enabled&&h.createElement(y,{label:s.label,control:h.createElement(v,{className:e.customColor,checked:m,onChange:this.onLiteralOptionsChange("allowTrailingZeros")})}),i.enabled&&h.createElement(y,{label:i.label,control:h.createElement(v,{className:e.customColor,checked:u,onChange:this.onLiteralOptionsChange("ignoreOrder")})})),h.createElement("div",{className:e.inputContainer},h.createElement(E,null,"Correct Answer"),h.createElement(A,{keypadMode:t,classNames:w,controlledKeypad:!0,showKeypad:r.main,latex:p||"",onChange:this.onAnswerChange,onFocus:this.onFocus,onDone:this.onDone,error:l&&l.answer}),l&&l.answer?h.createElement("div",{className:e.errorText},l.answer):null),g&&Object.keys(d).map(((n,a)=>h.createElement("div",{className:e.inputContainer,key:n},h.createElement("div",{className:e.alternateBar},h.createElement(E,null,"Alternate",Object.keys(d).length>1?` ${a+1}`:""),h.createElement(C,{className:e.removeAlternateButton,type:"secondary",onClick:this.onRemoveAlternate(n)},"Remove")),h.createElement(A,{classNames:w,controlledKeypad:!0,keypadMode:t,showKeypad:r[n]||!1,latex:d[n]||"",onChange:this.onAlternateAnswerChange(n),onFocus:this.onAlternateFocus(n),onDone:this.onAlternateDone(n),error:l&&l[n]}),l&&l[n]?h.createElement("div",{className:e.errorText},l[n]):null))),h.createElement(C,{className:e.alternateButton,type:"primary",onClick:this.onAddAlternate},"ADD ALTERNATE")))}}k.__initStatic(),k.__initStatic2();var N=w((e=>({responseContainer:{marginBottom:2.5*e.spacing.unit,width:"100%",minWidth:"548px",border:`1px solid ${e.palette.grey[700]}`,display:"flex",flexDirection:"column",justifyContent:"space-between"},cardContent:{paddingBottom:2*e.spacing.unit+"px !important"},title:{fontWeight:700,fontSize:"1.2rem",flex:3},selectContainer:{flex:2},inputContainer:{marginBottom:2*e.spacing.unit},titleBar:{display:"flex",alignItems:"center",justifyContent:"space-between"},responseEditor:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",minWidth:"500px",maxWidth:"900px",height:"auto",minHeight:"40px"},mathToolbar:{width:"100%"},alternateButton:{border:`1px solid ${e.palette.grey.A100}`},removeAlternateButton:{marginLeft:2*e.spacing.unit,border:`1px solid ${e.palette.grey.A100}`,color:"gray",fontSize:"0.8rem"},errorText:{fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing.unit},customColor:{color:`${T.tertiary()} !important`}})))(k);const R="Advanced Multi",D="Simple",O=(e={},t={})=>({...t,...e}),j=e,M=t,K=s,{withStyles:P}=a,{InputLabel:q}=n,{Select:B}=n,{MenuItem:F}=n,{Tooltip:L}=n,{isEqual:H}=i,{Info:$}=l,z=d,{InputContainer:G}=p,{MathToolbar:Z}=u,W=m;function Y(e){let t,n=e[0],a=1;for(;a<e.length;){const o=e[a],s=e[a+1];if(a+=2,("optionalAccess"===o||"optionalCall"===o)&&null==n)return;"access"===o||"optionalAccess"===o?(t=n,n=s(n)):"call"!==o&&"optionalCall"!==o||(n=s(((...e)=>n.call(t,...e))),t=void 0)}return n}let U=!1;const V=/{{response}}/gm,J=/\\%response\\%/gm,Q=/\\embed\{answerBlock\}\[r\d*\]/g,X=/\\embed\{newLine\}\[\]/g,ee=/\\newline/g;function te(e){if(e){let t=1;return e.replace(V,(()=>`\\embed{answerBlock}[r${t++}]`)).replace(ee,"\\embed{newLine}[]")}}class ne extends j.Component{static __initStatic(){this.propTypes={classes:M.object.isRequired,model:M.object.isRequired,imageSupport:M.object,uploadSoundSupport:M.object,configuration:M.object,onChange:M.func.isRequired,promptEnabled:M.bool,rationaleEnabled:M.bool,toolbarOpts:M.object}}constructor(e){super(e),ne.prototype.__init.call(this),ne.prototype.__init2.call(this),ne.prototype.__init3.call(this),ne.prototype.__init4.call(this),ne.prototype.__init5.call(this),ne.prototype.__init6.call(this),ne.prototype.__init7.call(this);const t={};if(e.model&&e.model.expression){let n=1;e.model.expression.replace(V,(()=>{t["r"+n++]={value:""}}))}this.state={showKeypad:!1,responseAreas:t,responseIdCounter:Object.keys(t).length}}__init(){this.onChange=e=>t=>{const{model:n,onChange:a}=this.props,o={...n};o[e]="object"==typeof t?t.target.value:t,"expression"===e&&(o[e]=function(e){if(e)return e.replace(Q,(()=>"{{response}}")).replace(J,(()=>"{{response}}")).replace(X,(()=>"\\newline"))}(t)),a(o)}}__init2(){this.onDone=()=>{this.setState({showKeypad:!1})}}__init3(){this.onFocus=()=>{this.setState({showKeypad:!0})}}__init4(){this.onPromptFocus=()=>{this.setState({showKeypad:!1})}}UNSAFE_componentWillMount(){const{classes:e}=this.props;if("undefined"!=typeof window){let t=W.getInterface(2);U||(t.registerEmbed("answerBlock",(t=>({htmlString:`<div class="${K(e.blockContainer,e.blockContainerGeneric)}">\n <div class="${K(e.blockResponse,e.blockResponseGeneric)}" id="${t}Index">Response</div>\n </div>`,text:()=>"text",latex:()=>`\\embed{answerBlock}[${t}]`}))),U=!0)}}componentDidMount(){this.handleAnswerBlockDomUpdate()}componentDidUpdate(){this.handleAnswerBlockDomUpdate()}__init5(){this.handleAnswerBlockDomUpdate=()=>{const{model:e}=this.props,t={};if(e&&e.expression){let n=1;e.expression.replace(V,(()=>{t["r"+n++]={value:""}}))}H(t,this.state.responseAreas)||this.setState({responseAreas:t},(()=>{this.root&&Object.keys(t).length&&Object.keys(t).forEach(((e,t)=>{const n=this.root.querySelector(`#${e}`),a=this.root.querySelector(`#${e}Index`);n&&(W.getInterface(2).StaticMath(n),a.textContent=`R${t+1}`)}))}))}}__init6(){this.onAddResponse=()=>{const{model:e,onChange:t}=this.props,{responseIdCounter:n}=this.state,a={...e};let o=n;for(;e.responses.find((e=>e.id===o));)o++;const s={id:o,validation:"literal",answer:"",alternates:{}};a.responses=a.responses.concat(s),t(a),this.setState({responseIdCounter:s.id})}}__init7(){this.onResponseChange=(e,t)=>{const{model:n,onChange:a}=this.props,o={...n};o.responses[t]=e,a(o)}}render(){const{classes:e,model:t,imageSupport:n,uploadSoundSupport:a,configuration:o,promptEnabled:s,rationaleEnabled:i,toolbarOpts:l}=this.props,{showKeypad:r}=this.state,{prompt:c,expression:p,equationEditor:d,promptEquationEditor:u="8",responses:m,responseType:h,rationale:g,spellCheckEnabled:b,errors:_={}}=t,{baseInputConfiguration:C={},rationale:y={},prompt:f={},ignoreOrder:E={},allowTrailingZeros:v={},maxResponseAreas:x,maxImageWidth:S={},maxImageHeight:w={},mathMlOptions:T={}}=o||{},I=((e={},t={})=>{const{maxResponseAreas:n}=t,{responseType:a}=e;let o="";return"Advanced Multi"===a&&(o="\nThere should be at least 1 "+(n?`and at most ${n} `:"")+"response area"+(n?"s":"")+" defined."),"Validation requirements:\nAll correct answers (the primary and any alternates) should not be empty and should be unique."+o})(o,t),{prompt:A,rationale:k,responsesErrors:M,responseAreasError:K}=_,P=S&&S.prompt,H=w&&w.prompt,W={editor:e.responseEditor,mathToolbar:e.mathToolbar},U=h===R?m:m.slice(0,1),V=j.createElement(L,{classes:{tooltip:e.tooltip},disableFocusListener:!0,disableTouchListener:!0,placement:"right",title:I},j.createElement($,{fontSize:"small",color:"primary",style:{marginLeft:"5px"}}));return j.createElement("div",{ref:e=>this.root=e||this.root,className:e.container},s&&j.createElement(G,{label:f.label,className:e.promptHolder},j.createElement(z,{onFocus:this.onPromptFocus,className:e.prompt,markup:c||"",onChange:this.onChange("prompt"),imageSupport:n,nonEmpty:!1,error:A,toolbarOpts:l,pluginProps:O(Y([f,"optionalAccess",e=>e.inputConfiguration]),C),spellCheck:b,maxImageWidth:P,maxImageHeight:H,uploadSoundSupport:a,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:T}),A&&j.createElement("div",{className:e.errorText},A)),h===R&&j.createElement("div",{className:e.advancedResponse},j.createElement("div",{className:e.flexContainer,style:{justifyContent:"flex-start"}},j.createElement("div",{className:e.title},"Define Response"),V),j.createElement(G,{key:"templateEditorType",label:"Response Template Equation Editor",className:e.selectContainer},j.createElement(B,{className:e.select,onChange:this.onChange("promptEquationEditor"),value:u},j.createElement(F,{value:"non-negative-integers"},"Numeric - Non-Negative Integers"),j.createElement(F,{value:"integers"},"Numeric - Integers"),j.createElement(F,{value:"decimals"},"Numeric - Decimals"),j.createElement(F,{value:"fractions"},"Numeric - Fractions"),j.createElement(F,{value:1},"Grade 1 - 2"),j.createElement(F,{value:3},"Grade 3 - 5"),j.createElement(F,{value:6},"Grade 6 - 7"),j.createElement(F,{value:8},"Grade 8 - HS"),j.createElement(F,{value:"geometry"},"Geometry"),j.createElement(F,{value:"advanced-algebra"},"Advanced Algebra"),j.createElement(F,{value:"statistics"},"Statistics"),j.createElement(F,{value:"item-authoring"},"Item Authoring"))),j.createElement("div",{className:e.responseTemplate,key:"templateHolder"},j.createElement(q,{className:e.templateTitle},"RESPONSE TEMPLATE"),j.createElement(Z,{classNames:W,allowAnswerBlock:!0,keypadMode:u,controlledKeypad:!0,showKeypad:r,latex:te(p)||"",onChange:this.onChange("expression"),onFocus:this.onFocus,onDone:this.onDone,maxResponseAreas:x,error:K})),K&&j.createElement("div",{className:e.errorText},K)),j.createElement("div",{className:e.flexContainer,style:{justifyContent:"flex-start"}},j.createElement("div",{className:e.title},"Define Correct Response"),h===D?V:null),j.createElement(G,{label:"Equation Editor",className:e.selectContainer},j.createElement(B,{className:e.select,onChange:this.onChange("equationEditor"),value:d},j.createElement(F,{value:"non-negative-integers"},"Numeric - Non-Negative Integers"),j.createElement(F,{value:"integers"},"Numeric - Integers"),j.createElement(F,{value:"decimals"},"Numeric - Decimals"),j.createElement(F,{value:"fractions"},"Numeric - Fractions"),j.createElement(F,{value:1},"Grade 1 - 2"),j.createElement(F,{value:3},"Grade 3 - 5"),j.createElement(F,{value:6},"Grade 6 - 7"),j.createElement(F,{value:8},"Grade 8 - HS"),j.createElement(F,{value:"geometry"},"Geometry"),j.createElement(F,{value:"advanced-algebra"},"Advanced Algebra"),j.createElement(F,{value:"statistics"},"Statistics"),j.createElement(F,{value:"item-authoring"},"Item Authoring"))),U.map(((e,t)=>j.createElement(N,{key:e.id,mode:d,response:e,defaultResponse:h===D,onResponseChange:this.onResponseChange,index:t,cIgnoreOrder:E,cAllowTrailingZeros:v,error:M&&M[t]}))),i&&j.createElement(G,{label:y.label,className:e.promptHolder},j.createElement(z,{className:e.prompt,markup:g||"",onChange:this.onChange("rationale"),imageSupport:n,nonEmpty:!1,error:k,toolbarOpts:l,pluginProps:O(Y([y,"optionalAccess",e=>e.inputConfiguration]),{...C,math:{controlledKeypadMode:!1}}),spellCheck:b,maxImageWidth:S&&S.rationale||P,maxImageHeight:w&&w.rationale||H,uploadSoundSupport:a,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:T}),k&&j.createElement("div",{className:e.errorText},k)))}}ne.__initStatic();var ae=P((e=>({container:{display:"flex",flexDirection:"column"},templateTitle:{fontSize:"0.85rem"},title:{fontSize:"1.1rem"},addResponseButton:{border:`1px solid ${e.palette.grey.A100}`,float:"right",width:"150px"},flexContainer:{display:"flex",alignItems:"center",justifyContent:"space-between"},selectContainer:{flex:"initial",width:"40%",marginTop:2*e.spacing.unit,marginBottom:2*e.spacing.unit},responseTemplate:{display:"flex",flexDirection:"column"},responseEditor:{display:"flex",justifyContent:"center",width:"100%",maxWidth:"inherit",height:"auto",minHeight:"130px",textAlign:"left",padding:e.spacing.unit},promptHolder:{width:"100%",paddingTop:2*e.spacing.unit,marginBottom:2*e.spacing.unit},blockContainer:{margin:e.spacing.unit,display:"inline-flex",border:"2px solid grey"},blockContainerGeneric:{margin:e.spacing.unit/2},blockResponse:{flex:2,color:"grey",background:e.palette.grey.A100,fontSize:"0.8rem",padding:e.spacing.unit/2,display:"flex",alignItems:"center",justifyContent:"center",borderRight:"2px solid grey"},blockResponseGeneric:{borderRight:0},blockMath:{color:e.palette.grey[400],padding:e.spacing.unit/2,display:"flex",alignItems:"center",justifyContent:"center",flex:8,"& > .mq-math-mode":{"& > .mq-hasCursor":{"& > .mq-cursor":{display:"none"}}}},tooltip:{fontSize:e.typography.fontSize-2,whiteSpace:"pre-wrap"},errorText:{fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing.unit},advancedResponse:{marginBottom:2.5*e.spacing.unit}})))(ne);const oe=e,{withStyles:se}=a,ie=t,le=r,{FeedbackConfig:re}=p,{settings:ce}=p,{layout:pe}=p,{InputContainer:de}=p,ue=d;function me(e){let t,n=e[0],a=1;for(;a<e.length;){const o=e[a],s=e[a+1];if(a+=2,("optionalAccess"===o||"optionalCall"===o)&&null==n)return;"access"===o||"optionalAccess"===o?(t=n,n=s(n)):"call"!==o&&"optionalCall"!==o||(n=s(((...e)=>n.call(t,...e))),t=void 0)}return n}const he=le("@pie-element:math-inline:configure"),{Panel:ge,toggle:be,radio:_e,dropdown:Ce}=ce;class ye extends oe.Component{constructor(...e){super(...e),ye.prototype.__init.call(this),ye.prototype.__init2.call(this),ye.prototype.__init3.call(this)}static __initStatic(){this.propTypes={onModelChanged:ie.func,onConfigurationChanged:ie.func,classes:ie.object,model:ie.object.isRequired,configuration:ie.object.isRequired,imageSupport:ie.object,uploadSoundSupport:ie.object}}__init(){this.onChange=e=>{this.props.onModelChanged(e)}}__init2(){this.changeTeacherInstructions=e=>{this.props.onModelChanged({...this.props.model,teacherInstructions:e})}}__init3(){this.onFeedbackChange=e=>{const{model:t,onModelChanged:n}=this.props;t.feedback=e,n(t)}}render(){const{classes:e,model:t,imageSupport:n,onModelChanged:a,configuration:o,onConfigurationChanged:s,uploadSoundSupport:i}=this.props,{allowTrailingZeros:l={},baseInputConfiguration:r={},contentDimensions:c={},feedback:p={},ignoreOrder:d={},maxImageWidth:u={},maxImageHeight:m={},prompt:h={},rationale:g={},responseType:b={},scoringType:_={},settingsPanelDisabled:C,spellCheck:y={},studentInstructions:f={},teacherInstructions:E={},withRubric:v={},mathMlOptions:x={},language:S={},languageChoices:w={}}=o||{},{errors:T={},extraCSSRules:I,feedbackEnabled:A,promptEnabled:k,rationaleEnabled:N,spellCheckEnabled:j,teacherInstructionsEnabled:M,toolbarEditorPosition:K}=t||{},{teacherInstructions:P}=T;he("[render] model",t);const q={position:"top"===K?"top":"bottom"},B=u&&u.prompt,F=m&&m.prompt,L={responseType:b.settings&&_e(b.label,[D,R]),feedbackEnabled:p.settings&&be(p.label),promptEnabled:h.settings&&be(h.label),"language.enabled":S.settings&&be(S.label,!0),language:S.settings&&S.enabled&&Ce(w.label,w.options)},H={teacherInstructionsEnabled:E.settings&&be(E.label),studentInstructionsEnabled:f.settings&&be(f.label),rationaleEnabled:g.settings&&be(g.label),spellCheckEnabled:y.settings&&be(y.label),scoringType:_.settings&&_e(_.label,["auto","rubric"]),"ignoreOrder.enabled":d.settings&&be(d.label),"allowTrailingZeros.enabled":l.settings&&be(l.label),rubricEnabled:me([v,"optionalAccess",e=>e.settings])&&be(me([v,"optionalAccess",e=>e.label]))};return oe.createElement(pe.ConfigLayout,{extraCSSRules:I,dimensions:c,hideSettings:C,settings:oe.createElement(ge,{model:t,configuration:o,onChangeModel:e=>a(e),onChangeConfiguration:e=>s(e),groups:{Settings:L,Properties:H}})},M&&oe.createElement(de,{label:E.label,className:e.promptHolder},oe.createElement(ue,{className:e.prompt,markup:t.teacherInstructions||"",onChange:this.changeTeacherInstructions,imageSupport:n,nonEmpty:!1,error:P,toolbarOpts:q,pluginProps:O(me([E,"optionalAccess",e=>e.inputConfiguration]),r),spellCheck:j,maxImageWidth:u&&u.teacherInstructions||B,maxImageHeight:m&&m.teacherInstructions||F,uploadSoundSupport:i,languageCharactersProps:[{language:"spanish"},{language:"special"}],mathMlOptions:x}),P&&oe.createElement("div",{className:e.errorText},P)),oe.createElement(ae,{imageSupport:n,uploadSoundSupport:i,model:t,configuration:o,onChange:this.onChange,rationaleEnabled:N,promptEnabled:k,toolbarOpts:q,spellCheck:j}),A&&oe.createElement(re,{feedback:t.feedback,onChange:this.onFeedbackChange,toolbarOpts:q}))}}ye.__initStatic();var fe=se((e=>({promptHolder:{width:"100%",paddingTop:2*e.spacing.unit,marginBottom:2*e.spacing.unit},errorText:{fontSize:e.typography.fontSize-2,color:e.palette.error.main,paddingTop:e.spacing.unit}})))(ye),Ee={};Object.defineProperty(Ee,"__esModule",{value:!0});class ve extends CustomEvent{constructor(e,t=!1){super(ve.TYPE,{bubbles:!0,detail:{update:e,reset:t}}),this.update=e,this.reset=t}}ve.TYPE="model.updated";var xe=Ee.ModelUpdatedEvent=ve;class Se extends CustomEvent{constructor(e,t){super(Se.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}Se.TYPE="delete.image";var we=Ee.DeleteImageEvent=Se;class Te extends CustomEvent{constructor(e){super(Te.TYPE,{bubbles:!0,detail:e}),this.handler=e}}Te.TYPE="insert.image";var Ie=Ee.InsertImageEvent=Te;class Ae extends CustomEvent{constructor(e,t){super(Ae.TYPE,{bubbles:!0,detail:{src:e,done:t}}),this.src=e,this.done=t}}Ae.TYPE="delete.sound";var ke=Ee.DeleteSoundEvent=Ae;class Ne extends CustomEvent{constructor(e){super(Ne.TYPE,{bubbles:!0,detail:e}),this.handler=e}}Ne.TYPE="insert.sound";var Re=Ee.InsertSoundEvent=Ne,De={allowTrailingZerosDefault:!1,customKeys:[],equationEditor:"8",expression:"",feedback:{correct:{default:"Correct",type:"none"},incorrect:{default:"Incorrect",type:"none"},partial:{default:"Nearly",type:"none"}},feedbackEnabled:!1,ignoreOrderDefault:!1,partialScoring:!0,prompt:"",promptEnabled:!0,rationale:"",rationaleEnabled:!0,responseType:R,responses:[],scoringType:"auto",studentInstructionsEnabled:!0,teacherInstructions:"",teacherInstructionsEnabled:!0,toolbarEditorPosition:"bottom",validationDefault:"literal"},Oe={baseInputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1},textAlign:{disabled:!0},showParagraphs:{disabled:!1},separateParagraphs:{disabled:!0}},prompt:{settings:!0,label:"Prompt",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},feedback:{settings:!0,label:"Feedback"},responseType:{settings:!0,label:"Response type"},rationale:{settings:!0,label:"Rationale",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},settingsPanelDisabled:!1,spellCheck:{label:"Spellcheck",settings:!1,enabled:!0},scoringType:{settings:!1,label:"Scoring Type"},studentInstructions:{settings:!1,label:"Student Instructions"},teacherInstructions:{settings:!0,label:"Teacher Instructions",inputConfiguration:{audio:{disabled:!1},video:{disabled:!1},image:{disabled:!1}},required:!1},partialScoring:{settings:!1,label:"Allow Partial Scoring"},ignoreOrder:{settings:!1,label:"Ignore Order",enabled:!0},allowTrailingZeros:{settings:!1,label:"Allow Trailing Zeros",enabled:!0},maxImageWidth:{teacherInstructions:300,prompt:300,rationale:300},maxImageHeight:{teacherInstructions:300,prompt:300,rationale:300},withRubric:{settings:!1,label:"Add Rubric"},mathMlOptions:{mmlOutput:!1,mmlEditing:!1},language:{settings:!1,label:"Specify Language",enabled:!1},languageChoices:{label:"Language Choices",options:[]}};const je=e,Me=c,{isEmpty:Ke}=i;function Pe(e){let t,n=e[0],a=1;for(;a<e.length;){const o=e[a],s=e[a+1];if(a+=2,("optionalAccess"===o||"optionalCall"===o)&&null==n)return;"access"===o||"optionalAccess"===o?(t=n,n=s(n)):"call"!==o&&"optionalCall"!==o||(n=s(((...e)=>n.call(t,...e))),t=void 0)}return n}const qe=r("pie-elements:math-inline:configure");class Be extends HTMLElement{static __initStatic(){this.createDefaultModel=(e={})=>(Ke(e.responses)||(e.responses=e.responses.map((e=>({...e,validation:e.validation||De.validationDefault,allowTrailingZeros:e.allowTrailingZeros||De.allowTrailingZerosDefault,ignoreOrder:e.ignoreOrder||De.ignoreOrderDefault||!1})))),{...De,...e})}constructor(){super(),this._model=Be.createDefaultModel(),this._configuration=Oe}set model(e){this._model=Be.createDefaultModel(e),this._render()}set configuration(e){const t={...Oe,...e};this._configuration=t,Pe([t,"optionalAccess",e=>e.language,"optionalAccess",e=>e.enabled])?Pe([t,"optionalAccess",e=>e.languageChoices,"optionalAccess",e=>e.options,"optionalAccess",e=>e.length])&&(this._model.language=Pe([t,"optionalAccess",e=>e.languageChoices,"access",e=>e.options,"access",e=>e[0],"access",e=>e.value])):t.language.settings&&this._model.language?(this._configuration.language.enabled=!0,this._configuration.languageChoices.options&&this._configuration.languageChoices.options.length||(this._configuration.languageChoices.options=[]),this._configuration.languageChoices.options.find((e=>e.value===this._model.language))||this._configuration.languageChoices.options.push({value:this._model.language,label:this._model.language})):delete this._model.language,this._render()}onModelChanged(e){this._model=e,qe("[onModelChanged]: ",this._model),this._render(),this.dispatchEvent(new xe(this._model))}onConfigurationChanged(e){this._configuration=e,this._model&&this.onModelChanged(this._model),this._render()}insertImage(e){this.dispatchEvent(new Ie(e))}onDeleteImage(e,t){this.dispatchEvent(new we(e,t))}insertSound(e){this.dispatchEvent(new Re(e))}onDeleteSound(e,t){this.dispatchEvent(new ke(e,t))}_render(){if(this._model){const e=je.createElement(fe,{onModelChanged:this.onModelChanged.bind(this),onConfigurationChanged:this.onConfigurationChanged.bind(this),model:this._model,configuration:this._configuration,imageSupport:{add:this.insertImage.bind(this),delete:this.onDeleteImage.bind(this)},uploadSoundSupport:{add:this.insertSound.bind(this),delete:this.onDeleteSound.bind(this)}});Me.render(e,this)}}}Be.__initStatic();export{Be as default};