@pie-element/math-inline 11.0.5-esm.1 → 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 +0,0 @@
1
- {"version":3,"file":"configure.js","sources":["../configure/src/response.jsx","../configure/src/utils.js","../../../node_modules/@babel/runtime/helpers/interopRequireDefault.js","../../../node_modules/@babel/runtime/helpers/setPrototypeOf.js","../../../node_modules/@babel/runtime/helpers/inheritsLoose.js","../../../node_modules/recompose/setStatic.js","../../../node_modules/recompose/setDisplayName.js","../../../node_modules/recompose/getDisplayName.js","../../../node_modules/recompose/wrapDisplayName.js","../../../node_modules/recompose/shouldUpdate.js","../../../node_modules/fbjs/lib/shallowEqual.js","../../../node_modules/recompose/shallowEqual.js","../../../node_modules/recompose/pure.js","../../../node_modules/@material-ui/icons/utils/createSvgIcon.js","../../../node_modules/@material-ui/icons/Info.js","../configure/src/general-config-block.jsx","../configure/src/configure.jsx","../configure/src/defaults.js","../configure/src/index.js"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Button from '@material-ui/core/Button';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Typography from '@material-ui/core/Typography';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\n// TODO once we support individual response correctness, we need to remove this constant\nconst INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;\n\nconst styles = (theme) => ({\n responseContainer: {\n marginBottom: theme.spacing.unit * 2.5,\n width: '100%',\n minWidth: '548px',\n border: `1px solid ${theme.palette.grey[700]}`,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n },\n cardContent: {\n paddingBottom: `${theme.spacing.unit * 2}px !important`,\n },\n title: {\n fontWeight: 700,\n fontSize: '1.2rem',\n flex: 3,\n },\n selectContainer: {\n flex: 2,\n },\n inputContainer: {\n marginBottom: theme.spacing.unit * 2,\n },\n titleBar: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n responseEditor: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n minWidth: '500px',\n maxWidth: '900px',\n height: 'auto',\n minHeight: '40px',\n },\n mathToolbar: {\n width: '100%',\n },\n alternateButton: {\n border: `1px solid ${theme.palette.grey['A100']}`,\n },\n removeAlternateButton: {\n marginLeft: theme.spacing.unit * 2,\n border: `1px solid ${theme.palette.grey['A100']}`,\n color: 'gray',\n fontSize: '0.8rem',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n});\n\nclass Response extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n defaultResponse: PropTypes.bool,\n error: PropTypes.object,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n index: PropTypes.number,\n onResponseChange: PropTypes.func.isRequired,\n response: PropTypes.object.isRequired,\n cIgnoreOrder: PropTypes.object.isRequired,\n cAllowTrailingZeros: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n defaultResponse: false,\n mode: 'miscellaneous',\n };\n\n constructor(props) {\n super(props);\n\n const { response: { alternates } = {} } = props || {};\n const alternatesLength = Object.keys(alternates || {}).length;\n\n this.state = {\n alternateIdCounter: alternatesLength + 1,\n showKeypad: {\n openCount: 0,\n main: false,\n },\n };\n }\n\n onChange = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.value;\n\n onResponseChange(newResponse, index);\n };\n\n onConfigChanged = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.checked;\n\n onResponseChange(newResponse, index);\n };\n\n onLiteralOptionsChange = (name) => () => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = !response[name];\n\n onResponseChange(newResponse, index);\n };\n\n onAnswerChange = (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.answer = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAlternateAnswerChange = (alternateId) => (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.alternates[alternateId] = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAddAlternate = () => {\n const { response, onResponseChange, index } = this.props;\n const { alternateIdCounter } = this.state;\n const newResponse = { ...response };\n\n if (!newResponse.alternates) {\n newResponse.alternates = {};\n }\n\n newResponse.alternates[alternateIdCounter] = '';\n\n onResponseChange(newResponse, index);\n\n this.setState({\n alternateIdCounter: alternateIdCounter + 1,\n });\n };\n\n onRemoveAlternate = (alternateId) => () => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n delete newResponse.alternates[alternateId];\n\n onResponseChange(newResponse, index);\n\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1,\n },\n }));\n };\n\n onDone = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n main: false,\n },\n }));\n };\n\n onFocus = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n main: true,\n },\n }));\n };\n\n onAlternateFocus = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n [alternateId]: true,\n },\n }));\n };\n\n onAlternateDone = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n [alternateId]: false,\n },\n }));\n };\n\n render() {\n const { classes, mode, defaultResponse, index, response, cAllowTrailingZeros, cIgnoreOrder, error } = this.props;\n\n const { showKeypad } = this.state;\n const { validation, answer, alternates, ignoreOrder, allowTrailingZeros } = response;\n const hasAlternates = Object.keys(alternates || {}).length > 0;\n const classNames = {\n editor: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n const styles = {\n minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`,\n };\n\n return (\n <Card className={classes.responseContainer} style={styles}>\n <CardContent className={classes.cardContent}>\n <div className={classes.titleBar}>\n <Typography className={classes.title} component=\"div\">\n Response {INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? (defaultResponse ? '' : index + 1) : ''}\n </Typography>\n\n <InputContainer label=\"Validation\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('validation')} value={validation || 'literal'}>\n <MenuItem value=\"literal\">Literal Validation</MenuItem>\n <MenuItem value=\"symbolic\">Symbolic Validation</MenuItem>\n </Select>\n </InputContainer>\n </div>\n\n {validation === 'literal' && (\n <div className={classes.flexContainer}>\n {cAllowTrailingZeros.enabled && (\n <FormControlLabel\n label={cAllowTrailingZeros.label}\n control={\n <Checkbox\n className={classes.customColor}\n checked={allowTrailingZeros}\n onChange={this.onLiteralOptionsChange('allowTrailingZeros')}\n />\n }\n />\n )}\n\n {cIgnoreOrder.enabled && (\n <FormControlLabel\n label={cIgnoreOrder.label}\n control={\n <Checkbox\n className={classes.customColor}\n checked={ignoreOrder}\n onChange={this.onLiteralOptionsChange('ignoreOrder')}\n />\n }\n />\n )}\n </div>\n )}\n\n <div className={classes.inputContainer}>\n <InputLabel>Correct Answer</InputLabel>\n <MathToolbar\n keypadMode={mode}\n classNames={classNames}\n controlledKeypad\n showKeypad={showKeypad.main}\n latex={answer || ''}\n onChange={this.onAnswerChange}\n onFocus={this.onFocus}\n onDone={this.onDone}\n error={error && error.answer}\n />\n {error && error.answer ? <div className={classes.errorText}>{error.answer}</div> : null}\n </div>\n\n {hasAlternates &&\n Object.keys(alternates).map((alternateId, altIdx) => (\n <div className={classes.inputContainer} key={alternateId}>\n <div className={classes.alternateBar}>\n <InputLabel>\n Alternate\n {Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''}\n </InputLabel>\n <Button\n className={classes.removeAlternateButton}\n type=\"secondary\"\n onClick={this.onRemoveAlternate(alternateId)}\n >\n Remove\n </Button>\n </div>\n\n <MathToolbar\n classNames={classNames}\n controlledKeypad\n keypadMode={mode}\n showKeypad={showKeypad[alternateId] || false}\n latex={alternates[alternateId] || ''}\n onChange={this.onAlternateAnswerChange(alternateId)}\n onFocus={this.onAlternateFocus(alternateId)}\n onDone={this.onAlternateDone(alternateId)}\n error={error && error[alternateId]}\n />\n {error && error[alternateId] ? <div className={classes.errorText}>{error[alternateId]}</div> : null}\n </div>\n ))}\n\n <Button className={classes.alternateButton} type=\"primary\" onClick={this.onAddAlternate}>\n ADD ALTERNATE\n </Button>\n </CardContent>\n </Card>\n );\n }\n}\n\nexport default withStyles(styles)(Response);\n","export const ResponseTypes = {\n advanced: 'Advanced Multi',\n simple: 'Simple',\n};\n\nexport const generateValidationMessage = (model = {}, config = {}) => {\n const { maxResponseAreas } = config;\n const { responseType } = model;\n let responseAreasMessage = '';\n\n const answersMessage =\n '\\nAll correct answers (the primary and any alternates) should not be empty and should be unique.';\n\n if (responseType === 'Advanced Multi') {\n responseAreasMessage =\n '\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' +\n (maxResponseAreas ? 's' : '') +\n ' defined.';\n }\n\n return 'Validation requirements:' + answersMessage + responseAreasMessage;\n};\n\nexport const getPluginProps = (props = {}, baseInputConfiguration = {}) => ({\n ...baseInputConfiguration,\n ...props,\n});\n","function _interopRequireDefault(obj) {\n return obj && obj.__esModule ? obj : {\n \"default\": obj\n };\n}\n\nmodule.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","function _setPrototypeOf(o, p) {\n module.exports = _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n }, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;\n return _setPrototypeOf(o, p);\n}\n\nmodule.exports = _setPrototypeOf, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var setPrototypeOf = require(\"./setPrototypeOf.js\");\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}\n\nmodule.exports = _inheritsLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar setStatic = function setStatic(key, value) {\n return function (BaseComponent) {\n /* eslint-disable no-param-reassign */\n BaseComponent[key] = value;\n /* eslint-enable no-param-reassign */\n\n return BaseComponent;\n };\n};\n\nvar _default = setStatic;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _setStatic = _interopRequireDefault(require(\"./setStatic\"));\n\nvar setDisplayName = function setDisplayName(displayName) {\n return (0, _setStatic.default)('displayName', displayName);\n};\n\nvar _default = setDisplayName;\nexports.default = _default;","\"use strict\";\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar getDisplayName = function getDisplayName(Component) {\n if (typeof Component === 'string') {\n return Component;\n }\n\n if (!Component) {\n return undefined;\n }\n\n return Component.displayName || Component.name || 'Component';\n};\n\nvar _default = getDisplayName;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _getDisplayName = _interopRequireDefault(require(\"./getDisplayName\"));\n\nvar wrapDisplayName = function wrapDisplayName(BaseComponent, hocName) {\n return hocName + \"(\" + (0, _getDisplayName.default)(BaseComponent) + \")\";\n};\n\nvar _default = wrapDisplayName;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = require(\"react\");\n\nvar _setDisplayName = _interopRequireDefault(require(\"./setDisplayName\"));\n\nvar _wrapDisplayName = _interopRequireDefault(require(\"./wrapDisplayName\"));\n\nvar shouldUpdate = function shouldUpdate(test) {\n return function (BaseComponent) {\n var factory = (0, _react.createFactory)(BaseComponent);\n\n var ShouldUpdate =\n /*#__PURE__*/\n function (_Component) {\n (0, _inheritsLoose2.default)(ShouldUpdate, _Component);\n\n function ShouldUpdate() {\n return _Component.apply(this, arguments) || this;\n }\n\n var _proto = ShouldUpdate.prototype;\n\n _proto.shouldComponentUpdate = function shouldComponentUpdate(nextProps) {\n return test(this.props, nextProps);\n };\n\n _proto.render = function render() {\n return factory(this.props);\n };\n\n return ShouldUpdate;\n }(_react.Component);\n\n if (process.env.NODE_ENV !== 'production') {\n return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'shouldUpdate'))(ShouldUpdate);\n }\n\n return ShouldUpdate;\n };\n};\n\nvar _default = shouldUpdate;\nexports.default = _default;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _shallowEqual = _interopRequireDefault(require(\"fbjs/lib/shallowEqual\"));\n\nvar _default = _shallowEqual.default;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _shouldUpdate = _interopRequireDefault(require(\"./shouldUpdate\"));\n\nvar _shallowEqual = _interopRequireDefault(require(\"./shallowEqual\"));\n\nvar _setDisplayName = _interopRequireDefault(require(\"./setDisplayName\"));\n\nvar _wrapDisplayName = _interopRequireDefault(require(\"./wrapDisplayName\"));\n\nvar pure = function pure(BaseComponent) {\n var hoc = (0, _shouldUpdate.default)(function (props, nextProps) {\n return !(0, _shallowEqual.default)(props, nextProps);\n });\n\n if (process.env.NODE_ENV !== 'production') {\n return (0, _setDisplayName.default)((0, _wrapDisplayName.default)(BaseComponent, 'pure'))(hoc(BaseComponent));\n }\n\n return hoc(BaseComponent);\n};\n\nvar _default = pure;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _pure = _interopRequireDefault(require(\"recompose/pure\"));\n\nvar _SvgIcon = _interopRequireDefault(require(\"@material-ui/core/SvgIcon\"));\n\nfunction createSvgIcon(path, displayName) {\n var Icon = function Icon(props) {\n return _react.default.createElement(_SvgIcon.default, props, path);\n };\n\n Icon.displayName = \"\".concat(displayName, \"Icon\");\n Icon = (0, _pure.default)(Icon);\n Icon.muiName = 'SvgIcon';\n return Icon;\n}\n\n;\nvar _default = createSvgIcon;\nexports.default = _default;","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement(\"path\", {\n fill: \"none\",\n d: \"M0 0h24v24H0z\"\n}), _react.default.createElement(\"path\", {\n d: \"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z\"\n})), 'Info');\n\nexports.default = _default;","import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Response from './response';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport isEqual from 'lodash/isEqual';\nimport { ResponseTypes, generateValidationMessage, getPluginProps } from './utils';\nimport MathQuill from '@pie-framework/mathquill';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nlet registered = false;\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n },\n templateTitle: {\n fontSize: '0.85rem',\n },\n title: {\n fontSize: '1.1rem',\n },\n addResponseButton: {\n border: `1px solid ${theme.palette.grey['A100']}`,\n float: 'right',\n width: '150px',\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n selectContainer: {\n flex: 'initial',\n width: '40%',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n responseTemplate: {\n display: 'flex',\n flexDirection: 'column',\n },\n responseEditor: {\n display: 'flex',\n justifyContent: 'center',\n width: '100%',\n // minWidth: '500px',\n maxWidth: 'inherit',\n height: 'auto',\n minHeight: '130px',\n textAlign: 'left',\n padding: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n blockContainer: {\n margin: theme.spacing.unit,\n display: 'inline-flex',\n border: '2px solid grey',\n },\n blockContainerGeneric: {\n margin: theme.spacing.unit / 2,\n },\n blockResponse: {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n flex: 2,\n color: 'grey',\n background: theme.palette.grey['A100'],\n fontSize: '0.8rem',\n padding: theme.spacing.unit / 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRight: '2px solid grey',\n },\n blockResponseGeneric: {\n borderRight: 0,\n },\n blockMath: {\n color: theme.palette.grey[400],\n padding: theme.spacing.unit / 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flex: 8,\n '& > .mq-math-mode': {\n '& > .mq-hasCursor': {\n '& > .mq-cursor': {\n display: 'none',\n },\n },\n },\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre-wrap',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n advancedResponse: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nconst REGEX = /{{response}}/gm;\nconst TEMPORARY_RESPONSE_FIELD = /\\\\%response\\\\%/gm;\nconst ANSWER_BLOCK_REGEX = /\\\\embed\\{answerBlock\\}\\[r\\d*\\]/g;\nconst NEWLINE_BLOCK = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = /\\\\newline/g;\n\nfunction prepareForStatic(expression) {\n if (expression) {\n let answerBlocks = 1; // assume one at least\n\n return expression\n .replace(REGEX, () => `\\\\embed{answerBlock}[r${answerBlocks++}]`)\n .replace(NEWLINE_LATEX, '\\\\embed{newLine}[]');\n }\n}\n\nfunction prepareForModel(expression) {\n if (expression) {\n return expression\n .replace(ANSWER_BLOCK_REGEX, () => '{{response}}')\n .replace(TEMPORARY_RESPONSE_FIELD, () => '{{response}}')\n .replace(NEWLINE_BLOCK, () => '\\\\newline');\n }\n}\n\nclass GeneralConfigBlock extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n configuration: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n promptEnabled: PropTypes.bool,\n rationaleEnabled: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n const responseAreas = {};\n\n if (props.model && props.model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n props.model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n this.state = {\n showKeypad: false,\n responseAreas,\n responseIdCounter: Object.keys(responseAreas).length,\n };\n }\n\n onChange = (name) => (evtOrValue) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (typeof evtOrValue === 'object') {\n newModel[name] = evtOrValue.target.value;\n } else {\n newModel[name] = evtOrValue;\n }\n\n if (name === 'expression') {\n newModel[name] = prepareForModel(evtOrValue);\n }\n\n onChange(newModel);\n };\n\n onDone = () => {\n this.setState({ showKeypad: false });\n };\n\n onFocus = () => {\n this.setState({ showKeypad: true });\n };\n\n onPromptFocus = () => {\n this.setState({ showKeypad: false });\n };\n\n UNSAFE_componentWillMount() {\n const { classes } = this.props;\n\n if (typeof window !== 'undefined') {\n // const MathQuill = require('@pie-framework/mathquill');\n let MQ = MathQuill.getInterface(2);\n\n if (!registered) {\n MQ.registerEmbed('answerBlock', (data) => {\n // not used until we implement individual answer tracking\n // const individualAnswerBlock = `<div class=\"${classes.blockContainer}\">\n // <div class=\"${classes.blockResponse}\" id=\"${data}Index\">R</div>\n // <div class=\"${classes.blockMath}\">\n // <span id=\"${data}\"></span>\n // </div>\n // </div>`;\n\n const genericAnswerBlock = `<div class=\"${cx(classes.blockContainer, classes.blockContainerGeneric)}\">\n <div class=\"${cx(classes.blockResponse, classes.blockResponseGeneric)}\" id=\"${data}Index\">Response</div>\n </div>`;\n\n return {\n htmlString: genericAnswerBlock,\n text: () => 'text',\n latex: () => `\\\\embed{answerBlock}[${data}]`,\n };\n });\n\n registered = true;\n }\n }\n }\n\n componentDidMount() {\n this.handleAnswerBlockDomUpdate();\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n handleAnswerBlockDomUpdate = () => {\n const { model } = this.props;\n\n const responseAreas = {};\n\n if (model && model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n if (!isEqual(responseAreas, this.state.responseAreas)) {\n this.setState(\n {\n responseAreas,\n },\n () => {\n if (this.root && Object.keys(responseAreas).length) {\n Object.keys(responseAreas).forEach((responseId, idx) => {\n const el = this.root.querySelector(`#${responseId}`);\n const indexEl = this.root.querySelector(`#${responseId}Index`);\n\n if (el) {\n // const MathQuill = require('@pie-framework/mathquill');\n let MQ = MathQuill.getInterface(2);\n // We no longer have individual answers, so we cannot set text content of blocks\n // el.textContent = response.answer;\n MQ.StaticMath(el);\n indexEl.textContent = `R${idx + 1}`;\n }\n });\n }\n },\n );\n }\n };\n\n onAddResponse = () => {\n const { model, onChange } = this.props;\n const { responseIdCounter } = this.state;\n const newModel = { ...model };\n\n let newCounter = responseIdCounter;\n\n while (model.responses.find((response) => response.id === newCounter)) {\n newCounter++;\n }\n\n const response = {\n id: newCounter,\n validation: 'literal',\n answer: '',\n alternates: {},\n };\n\n newModel.responses = newModel.responses.concat(response);\n onChange(newModel);\n\n this.setState({\n responseIdCounter: response.id,\n });\n };\n\n onResponseChange = (response, index) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.responses[index] = response;\n onChange(newModel);\n };\n\n render() {\n const {\n classes,\n model,\n imageSupport,\n uploadSoundSupport,\n configuration,\n promptEnabled,\n rationaleEnabled,\n toolbarOpts,\n } = this.props;\n const { showKeypad } = this.state;\n const {\n prompt,\n expression,\n equationEditor,\n promptEquationEditor = '8',\n responses,\n responseType,\n rationale,\n spellCheckEnabled,\n errors = {},\n } = model;\n const {\n baseInputConfiguration = {},\n rationale: cRationale = {},\n prompt: cPrompt = {},\n ignoreOrder: cIgnoreOrder = {},\n allowTrailingZeros: cAllowTrailingZeros = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n } = configuration || {};\n const validationMessage = generateValidationMessage(configuration, model);\n const { prompt: promptError, rationale: rationaleError, responsesErrors, responseAreasError } = errors;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const classNames = {\n editor: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n\n const responsesToUse = responseType === ResponseTypes.advanced ? responses : responses.slice(0, 1);\n\n const validationTooltip = (\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }} />\n </Tooltip>\n );\n\n return (\n <div ref={(r) => (this.root = r || this.root)} className={classes.container}>\n {promptEnabled && (\n <InputContainer label={cPrompt.label} className={classes.promptHolder}>\n <EditableHtml\n onFocus={this.onPromptFocus}\n className={classes.prompt}\n markup={prompt || ''}\n onChange={this.onChange('prompt')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cPrompt?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n {responseType === ResponseTypes.advanced && (\n <div className={classes.advancedResponse}>\n <div className={classes.flexContainer} style={{ justifyContent: 'flex-start' }}>\n <div className={classes.title}>Define Response</div>\n {validationTooltip}\n </div>\n\n <InputContainer\n key=\"templateEditorType\"\n label=\"Response Template Equation Editor\"\n className={classes.selectContainer}\n >\n <Select\n className={classes.select}\n onChange={this.onChange('promptEquationEditor')}\n value={promptEquationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </InputContainer>\n\n <div className={classes.responseTemplate} key=\"templateHolder\">\n <InputLabel className={classes.templateTitle}>RESPONSE TEMPLATE</InputLabel>\n <MathToolbar\n classNames={classNames}\n allowAnswerBlock\n keypadMode={promptEquationEditor}\n controlledKeypad\n showKeypad={showKeypad}\n latex={prepareForStatic(expression) || ''}\n onChange={this.onChange('expression')}\n onFocus={this.onFocus}\n onDone={this.onDone}\n maxResponseAreas={maxResponseAreas}\n error={responseAreasError}\n />\n </div>\n\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n </div>\n )}\n\n <div className={classes.flexContainer} style={{ justifyContent: 'flex-start' }}>\n <div className={classes.title}>Define Correct Response</div>\n {responseType === ResponseTypes.simple ? validationTooltip : null}\n </div>\n\n <InputContainer label=\"Equation Editor\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('equationEditor')} value={equationEditor}>\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </InputContainer>\n\n {responsesToUse.map((response, idx) => (\n <Response\n key={response.id}\n mode={equationEditor}\n response={response}\n defaultResponse={responseType === ResponseTypes.simple}\n onResponseChange={this.onResponseChange}\n index={idx}\n cIgnoreOrder={cIgnoreOrder}\n cAllowTrailingZeros={cAllowTrailingZeros}\n error={responsesErrors && responsesErrors[idx]}\n />\n ))}\n\n {rationaleEnabled && (\n <InputContainer label={cRationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={rationale || ''}\n onChange={this.onChange('rationale')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cRationale?.inputConfiguration, {\n ...baseInputConfiguration,\n math: {\n controlledKeypadMode: false,\n },\n })}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GeneralConfigBlock);\n","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FeedbackConfig, settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport EditableHtml from '@pie-lib/editable-html';\nimport GeneralConfigBlock from './general-config-block';\nimport { getPluginProps, ResponseTypes } from './utils';\n\nconst log = debug('@pie-element:math-inline:configure');\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n };\n\n onChange = (model) => {\n this.props.onModelChanged(model);\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions,\n });\n };\n\n onFeedbackChange = (feedback) => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n onModelChanged(model);\n };\n\n render() {\n const { classes, model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport } =\n this.props;\n const {\n allowTrailingZeros = {},\n baseInputConfiguration = {},\n contentDimensions = {},\n feedback = {},\n ignoreOrder = {},\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n rationale = {},\n responseType = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const { teacherInstructions: teacherInstructionsError } = errors;\n\n log('[render] model', model);\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n responseType: responseType.settings && radio(responseType.label, [ResponseTypes.simple, ResponseTypes.advanced]),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n 'ignoreOrder.enabled': ignoreOrder.settings && toggle(ignoreOrder.label),\n 'allowTrailingZeros.enabled': allowTrailingZeros.settings && toggle(allowTrailingZeros.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n <GeneralConfigBlock\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n model={model}\n configuration={configuration}\n onChange={this.onChange}\n rationaleEnabled={rationaleEnabled}\n promptEnabled={promptEnabled}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.onFeedbackChange} toolbarOpts={toolbarOpts} />\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n","import { ResponseTypes } from './utils';\n\n/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\n\nexport default {\n model: {\n allowTrailingZerosDefault: false,\n customKeys: [],\n equationEditor: '8',\n expression: '',\n feedback: {\n correct: { default: 'Correct', type: 'none' },\n incorrect: { default: 'Incorrect', type: 'none' },\n partial: { default: 'Nearly', type: 'none' },\n },\n feedbackEnabled: false,\n ignoreOrderDefault: false,\n partialScoring: true,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n responseType: ResponseTypes.advanced,\n responses: [],\n scoringType: 'auto',\n studentInstructionsEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n validationDefault: 'literal',\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n feedback: {\n settings: true,\n label: 'Feedback',\n },\n responseType: {\n settings: true,\n label: 'Response type',\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type',\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions',\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring',\n },\n ignoreOrder: {\n settings: false,\n label: 'Ignore Order',\n enabled: true,\n },\n allowTrailingZeros: {\n settings: false,\n label: 'Allow Trailing Zeros',\n enabled: true,\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n withRubric: {\n settings: false,\n label: 'Add Rubric',\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n },\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport isEmpty from 'lodash/isEmpty';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\n\nimport defaults from './defaults';\n\nconst log = debug('pie-elements:math-inline:configure');\n\nexport default class MathInlineConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n // making sure that defaults are set\n if (!isEmpty(model.responses)) {\n model.responses = model.responses.map((correctResponse) => ({\n ...correctResponse,\n validation: correctResponse.validation || defaults.model.validationDefault,\n allowTrailingZeros: correctResponse.allowTrailingZeros || defaults.model.allowTrailingZerosDefault,\n ignoreOrder: correctResponse.ignoreOrder || defaults.model.ignoreOrderDefault || false,\n }));\n }\n\n return { ...defaults.model, ...model };\n };\n\n constructor() {\n super();\n this._model = MathInlineConfigure.createDefaultModel();\n this._configuration = defaults.configuration;\n }\n\n set model(m) {\n this._model = MathInlineConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaults.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this._render();\n }\n\n onModelChanged(model) {\n this._model = model;\n log('[onModelChanged]: ', this._model);\n this._render();\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n ReactDOM.render(el, this);\n }\n }\n}\n"],"names":["styles","theme","responseContainer","marginBottom","spacing","unit","width","minWidth","border","palette","grey","display","flexDirection","justifyContent","cardContent","paddingBottom","title","fontWeight","fontSize","flex","selectContainer","inputContainer","titleBar","alignItems","responseEditor","maxWidth","height","minHeight","mathToolbar","alternateButton","removeAlternateButton","marginLeft","color","errorText","typography","error","main","paddingTop","customColor","tertiary","Response","React","Component","constructor","props","onChange","name","evt","response","onResponseChange","index","newResponse","target","value","onConfigChanged","checked","onLiteralOptionsChange","onAnswerChange","answer","onAlternateAnswerChange","alternateId","alternates","onAddAlternate","alternateIdCounter","state","setState","onRemoveAlternate","showKeypad","openCount","onDone","onFocus","onAlternateFocus","onAlternateDone","alternatesLength","Object","keys","length","render","classes","mode","defaultResponse","cAllowTrailingZeros","cIgnoreOrder","validation","ignoreOrder","allowTrailingZeros","hasAlternates","classNames","editor","select","flexContainer","enabled","label","map","altIdx","alternateBar","propTypes","PropTypes","object","isRequired","bool","oneOfType","string","number","func","defaultProps","withStyles","ResponseTypes","advanced","simple","generateValidationMessage","model","config","maxResponseAreas","responseType","responseAreasMessage","answersMessage","getPluginProps","baseInputConfiguration","setPrototypeOf","require$$0","setStatic_1","_default","_interopRequireDefault","setDisplayName_1","require$$1","getDisplayName_1","wrapDisplayName_1","shouldUpdate_1","_react","require$$2","_setDisplayName","require$$3","_wrapDisplayName","require$$4","shallowEqual","_shallowEqual","pure_1","createSvgIcon_1","registered","container","templateTitle","addResponseButton","float","marginTop","responseTemplate","textAlign","padding","promptHolder","blockContainer","margin","blockContainerGeneric","blockResponse","fontFamily","background","borderRight","blockResponseGeneric","blockMath","tooltip","whiteSpace","advancedResponse","REGEX","TEMPORARY_RESPONSE_FIELD","ANSWER_BLOCK_REGEX","NEWLINE_BLOCK","NEWLINE_LATEX","prepareForStatic","expression","answerBlocks","replace","prepareForModel","GeneralConfigBlock","evtOrValue","newModel","onPromptFocus","handleAnswerBlockDomUpdate","responseAreas","isEqual","root","forEach","responseId","idx","el","querySelector","indexEl","MQ","MathQuill","getInterface","StaticMath","textContent","onAddResponse","responseIdCounter","newCounter","responses","find","id","concat","UNSAFE_componentWillMount","window","registerEmbed","data","genericAnswerBlock","cx","htmlString","text","latex","componentDidMount","componentDidUpdate","imageSupport","uploadSoundSupport","configuration","promptEnabled","rationaleEnabled","toolbarOpts","prompt","equationEditor","promptEquationEditor","rationale","spellCheckEnabled","errors","cRationale","cPrompt","maxImageWidth","maxImageHeight","mathMlOptions","validationMessage","promptError","rationaleError","responsesErrors","responseAreasError","defaultImageMaxWidth","defaultImageMaxHeight","responsesToUse","slice","validationTooltip","Info","r","inputConfiguration","language","math","controlledKeypadMode","log","debug","Panel","toggle","radio","dropdown","settings","Configure","onModelChanged","changeTeacherInstructions","teacherInstructions","onFeedbackChange","feedback","onConfigurationChanged","contentDimensions","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","withRubric","languageChoices","extraCSSRules","feedbackEnabled","teacherInstructionsEnabled","toolbarEditorPosition","teacherInstructionsError","position","panelSettings","options","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","allowTrailingZerosDefault","customKeys","correct","default","type","incorrect","partial","ignoreOrderDefault","partialScoring","validationDefault","audio","disabled","video","image","showParagraphs","separateParagraphs","required","mmlOutput","mmlEditing","MathInlineConfigure","HTMLElement","_model","createDefaultModel","_configuration","defaults","m","_render","c","newConfiguration","option","push","dispatchEvent","ModelUpdatedEvent","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","createElement","bind","add","delete","ReactDOM","isEmpty","correctResponse"],"mappings":"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"}