@pie-element/math-inline 6.5.1-beta.0 → 6.5.1-beta.3

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.
package/lib/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["registered","NEWLINE_LATEX","REGEX","DEFAULT_KEYPAD_VARIANT","IS_SAFARI","test","navigator","userAgent","generateAdditionalKeys","keyData","map","key","name","latex","write","label","getKeyPadWidth","additionalKeys","equationEditor","Math","floor","length","prepareForStatic","model","state","config","disabled","expression","responses","printMode","alwaysShowCorrect","modelExpression","showCorrect","answer","answerBlocks","replace","session","answers","blankSpace","repeat","value","Main","props","classes","root","Object","keys","forEach","answerId","el","querySelector","indexEl","MQ","MathQuill","getInterface","textContent","view","parentElement","classList","remove","correct","incorrect","StaticMath","response","setState","callOnSessionChange","id","activeAnswerBlock","data","type","input","c","toNodeData","clear","Array","isArray","vv","cmd","keystroke","focus","onSessionChange","show","handleAnswerBlockDomUpdate","subfieldValue","completeAnswer","mqStatic","mathField","changeField","fields","find","k","tf","e","relatedTarget","currentTarget","offsetParent","children","attributes","window","registerEmbed","htmlString","blockContainer","blockResponse","blockMath","text","nextProps","nextConfig","env","mode","newAnswers","nextState","sameModel","sameState","setTimeout","ref","div","document","firstChild","setAttribute","correctness","teacherInstructions","rationale","feedback","animationsDisabled","showNote","note","prompt","responseType","customKeys","role","displayNote","emptyResponse","showCorrectAnswerToggle","tooltipModeEnabled","staticLatex","viewMode","studentPrintMode","printView","printContainer","subFieldChanged","getFieldName","setInput","onSubFieldFocus","onBlur","midContent","main","content","inputAndKeypadContainer","ResponseTypes","simple","onSimpleResponseChange","advanced","showCorrectness","correctAnswerShown","printCorrect","setTooltipRef","tooltip","keypadTooltip","popper","keypadTooltipPopper","responseContainer","width","onClick","hidden","visible","__html","tooltipPopper","toggle","toggleShowCorrect","collapsible","mainContainer","r","React","Component","PropTypes","object","isRequired","func","styles","theme","display","background","color","primaryLight","padding","spacing","unit","border","secondary","fontSize","backgroundColor","opacity","marginTop","paddingTop","position","title","marginBottom","zIndex","minWidth","maxWidth","margin","top","lineHeight","left","right","borderTop","letterSpacing","borderColor","flex","alignItems","justifyContent","borderRight","pointerEvents"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { mq, HorizontalKeypad, updateSpans } from '@pie-lib/math-input';\nimport { Feedback, Collapsible, Readable, hasText, PreviewPrompt } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { ResponseTypes } from './utils';\nimport isEqual from 'lodash/isEqual';\nimport cx from 'classnames';\nimport SimpleQuestionBlock from './simple-question-block';\nimport MathQuill from '@pie-framework/mathquill';\nimport { color } from '@pie-lib/render-ui';\nimport isEmpty from 'lodash/isEmpty';\n\nlet registered = false;\n\nconst NEWLINE_LATEX = /\\\\newline/g;\nconst REGEX = /{{response}}/gm;\nconst DEFAULT_KEYPAD_VARIANT = 6;\n\nconst IS_SAFARI = /^((?!chrome|android).)*safari/i.test(navigator.userAgent);\n\nfunction generateAdditionalKeys(keyData = []) {\n return keyData.map((key) => ({\n name: key,\n latex: key,\n write: key,\n label: key,\n }));\n}\n\nfunction getKeyPadWidth(additionalKeys = [], equationEditor) {\n return Math.floor(additionalKeys.length / 5) * 30 + (equationEditor === 'miscellaneous' ? 600 : 500);\n}\n\nfunction prepareForStatic(model, state) {\n const { config, disabled } = model || {};\n const { expression, responses, printMode, alwaysShowCorrect } = config || {};\n\n if (config && expression) {\n const modelExpression = expression;\n\n if (state.showCorrect) {\n return responses && responses.length && responses[0].answer;\n }\n\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n return (modelExpression || '')\n .replace(REGEX, function () {\n const answer = state.session.answers[`r${answerBlocks}`];\n\n if (printMode && !alwaysShowCorrect) {\n const blankSpace = '\\\\ \\\\ '.repeat(30) + '\\\\newline ';\n\n return `\\\\MathQuillMathField[r${answerBlocks++}]{${blankSpace.repeat(3)}}`;\n }\n\n if (disabled) {\n return `\\\\embed{answerBlock}[r${answerBlocks++}]`;\n }\n\n return `\\\\MathQuillMathField[r${answerBlocks++}]{${(answer && answer.value) || ''}}`;\n })\n .replace(NEWLINE_LATEX, '\\\\embed{newLine}[]');\n }\n}\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func,\n model: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n\n const answers = {};\n\n if (props.model.config && props.model.config.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n (props.model.config.expression || '').replace(REGEX, () => {\n answers[`r${answerBlocks}`] = {\n value:\n (props.session &&\n props.session.answers &&\n props.session.answers[`r${answerBlocks}`] &&\n props.session.answers[`r${answerBlocks}`].value) ||\n '',\n };\n\n answerBlocks += 1;\n });\n }\n\n this.state = {\n session: { ...props.session, answers },\n activeAnswerBlock: '',\n showCorrect: this.props.model.config.alwaysShowCorrect || false,\n };\n }\n\n UNSAFE_componentWillMount() {\n const { classes } = this.props;\n\n if (typeof window !== 'undefined') {\n let MQ = MathQuill.getInterface(2);\n\n if (!registered) {\n MQ.registerEmbed('answerBlock', (data) => {\n return {\n htmlString: `<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 text: () => 'text',\n latex: () => `\\\\embed{answerBlock}[${data}]`,\n };\n });\n\n registered = true;\n }\n }\n }\n\n handleAnswerBlockDomUpdate = () => {\n const { model, classes } = this.props;\n const { session, showCorrect } = this.state;\n const answers = session.answers;\n\n if (this.root && model.disabled && !showCorrect) {\n Object.keys(answers).forEach((answerId) => {\n const el = this.root.querySelector(`#${answerId}`);\n const indexEl = this.root.querySelector(`#${answerId}Index`);\n // const correct = model.correctness && model.correctness.correct;\n\n if (el) {\n let MQ = MathQuill.getInterface(2);\n const answer = answers[answerId];\n\n el.textContent = (answer && answer.value) || '';\n\n if (!model.view) {\n // for now, we're not going to be showing individual response correctness\n // TODO re-attach the classes once we are\n // el.parentElement.parentElement.classList.add(\n // correct ? classes.correct : classes.incorrect\n // );\n } else {\n el.parentElement.parentElement.classList.remove(classes.correct);\n el.parentElement.parentElement.classList.remove(classes.incorrect);\n }\n\n MQ.StaticMath(el);\n\n // For now, we're not going to be indexing response blocks\n // TODO go back to indexing once we support individual response correctness\n // indexEl.textContent = `R${idx + 1}`;\n indexEl.textContent = 'R';\n }\n });\n }\n\n renderMath(this.root);\n };\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { config } = this.props.model;\n const { config: nextConfig = {} } = nextProps.model || {};\n\n if ((config.env && config.env.mode !== 'evaluate') || (nextConfig.env && nextConfig.env.mode !== 'evaluate')) {\n this.setState({ ...this.state.session, showCorrect: false });\n }\n\n if (nextConfig.alwaysShowCorrect) {\n this.setState({ showCorrect: true });\n }\n\n if (\n (config && config.responses && config.responses.length !== nextConfig.responses.length) ||\n (!config && nextConfig && nextConfig.responses) ||\n (config && nextConfig && config.expression !== nextConfig.expression)\n ) {\n const newAnswers = {};\n const answers = this.state.session.answers;\n\n let answerBlocks = 1; // assume one at least\n\n // build out local state model using responses declared in expression\n (nextConfig.expression || '').replace(REGEX, () => {\n newAnswers[`r${answerBlocks}`] = {\n value: (answers && answers[`r${answerBlocks}`] && answers[`r${answerBlocks}`].value) || '',\n };\n answerBlocks++;\n });\n\n this.setState(\n (state) => ({\n session: {\n ...state.session,\n completeAnswer: this.mqStatic && this.mqStatic.mathField.latex(),\n answers: newAnswers,\n },\n }),\n this.handleAnswerBlockDomUpdate,\n );\n }\n }\n\n shouldComponentUpdate(nextProps, nextState) {\n const sameModel = isEqual(this.props.model, nextProps.model);\n const sameState = isEqual(this.state, nextState);\n\n return !sameModel || !sameState;\n }\n\n componentDidMount() {\n this.handleAnswerBlockDomUpdate();\n setTimeout(() => renderMath(this.root), 100);\n }\n\n onDone = () => {};\n\n onSimpleResponseChange = (response) => {\n this.setState((state) => ({ session: { ...state.session, response } }), this.callOnSessionChange);\n };\n\n onSubFieldFocus = (id) => {\n this.setState({ activeAnswerBlock: id });\n };\n\n toNodeData = (data) => {\n if (!data) {\n return;\n }\n\n const { type, value } = data;\n\n if (type === 'command' || type === 'cursor') {\n return data;\n } else if (type === 'answer') {\n return { type: 'answer', ...data };\n } else if (value === 'clear') {\n return { type: 'clear' };\n } else {\n return { type: 'write', value };\n }\n };\n\n setInput = (input) => {\n this.input = input;\n };\n\n onClick = (data) => {\n const c = this.toNodeData(data);\n\n if (c.type === 'clear') {\n this.input.clear();\n } else if (c.type === 'command') {\n if (Array.isArray(c.value)) {\n c.value.forEach((vv) => {\n this.input.cmd(vv);\n });\n } else {\n this.input.cmd(c.value);\n }\n } else if (c.type === 'cursor') {\n this.input.keystroke(c.value);\n } else {\n this.input.write(c.value);\n }\n\n this.input.focus();\n };\n\n callOnSessionChange = () => {\n const { onSessionChange } = this.props;\n\n if (onSessionChange) {\n onSessionChange(this.state.session);\n }\n };\n\n toggleShowCorrect = (show) => {\n this.setState({ showCorrect: show }, this.handleAnswerBlockDomUpdate);\n };\n\n subFieldChanged = (name, subfieldValue) => {\n updateSpans();\n\n if (name) {\n this.setState(\n (state) => ({\n session: {\n ...state.session,\n completeAnswer: this.mqStatic && this.mqStatic.mathField.latex(),\n answers: {\n ...state.session.answers,\n [name]: { value: subfieldValue },\n },\n },\n }),\n this.callOnSessionChange,\n );\n }\n };\n\n getFieldName = (changeField, fields) => {\n const { answers } = this.state.session;\n\n if (Object.keys(answers || {}).length) {\n const keys = Object.keys(answers);\n\n return keys.find((k) => {\n const tf = fields[k];\n\n return tf && tf.id == changeField.id;\n });\n }\n };\n\n onBlur = (e) => {\n const { relatedTarget, currentTarget } = e || {};\n\n if (\n !relatedTarget ||\n !currentTarget ||\n (!IS_SAFARI && !relatedTarget?.offsetParent?.children[0]?.attributes?.['data-keypad']) ||\n (IS_SAFARI && !relatedTarget?.offsetParent?.children[0]?.children[0]?.attributes?.['data-keypad'])\n ) {\n this.setState({ activeAnswerBlock: '' });\n }\n };\n\n setTooltipRef(ref) {\n // Safari Hack: https://stackoverflow.com/a/42764495/5757635\n setTimeout(() => {\n if (ref && IS_SAFARI) {\n const div = document.querySelector(\"[role='tooltip']\");\n\n if (div) {\n const el = div.firstChild;\n el.setAttribute('tabindex', '-1');\n }\n }\n }, 1);\n }\n\n render() {\n const { model, classes } = this.props;\n const { activeAnswerBlock, showCorrect, session } = this.state;\n const {\n config,\n correctness,\n disabled,\n view,\n teacherInstructions,\n rationale,\n feedback,\n animationsDisabled,\n printMode,\n alwaysShowCorrect,\n } = model || {};\n\n if (!config) {\n return null;\n }\n\n const {\n showNote,\n note,\n prompt,\n responses,\n responseType,\n equationEditor,\n customKeys,\n env: { mode, role } = {},\n } = config || {};\n const displayNote = (showCorrect || (mode === 'view' && role === 'instructor')) && showNote && note;\n const emptyResponse = isEmpty(responses);\n const showCorrectAnswerToggle = !emptyResponse && correctness && correctness.correctness !== 'correct';\n const tooltipModeEnabled = disabled && correctness;\n const additionalKeys = generateAdditionalKeys(customKeys);\n const correct = correctness && correctness.correct;\n const staticLatex = prepareForStatic(model, this.state) || '';\n const viewMode = disabled && !correctness;\n const studentPrintMode = printMode && !alwaysShowCorrect;\n\n const printView = (\n <div className={classes.printContainer}>\n <mq.Static\n ref={(mqStatic) => (this.mqStatic = mqStatic || this.mqStatic)}\n latex={staticLatex}\n onSubFieldChange={this.subFieldChanged}\n getFieldName={this.getFieldName}\n setInput={this.setInput}\n onSubFieldFocus={this.onSubFieldFocus}\n onBlur={this.onBlur}\n />\n </div>\n );\n\n const midContent = (\n <div className={classes.main}>\n {prompt && (\n <div className={classes.content}>\n <PreviewPrompt prompt={prompt} />\n </div>\n )}\n\n {studentPrintMode ? (\n printView\n ) : (\n <Readable false>\n <div className={classes.inputAndKeypadContainer}>\n {responseType === ResponseTypes.simple && (\n <SimpleQuestionBlock\n onSimpleResponseChange={this.onSimpleResponseChange}\n showCorrect={showCorrect}\n emptyResponse={emptyResponse}\n model={model}\n session={session}\n />\n )}\n\n {responseType === ResponseTypes.advanced && (\n <div\n className={cx(classes.expression, {\n [classes.incorrect]: !emptyResponse && !correct && !showCorrect,\n [classes.correct]: !emptyResponse && (correct || showCorrect),\n [classes.showCorrectness]: !emptyResponse && disabled && correctness && !view,\n [classes.correctAnswerShown]: showCorrect,\n [classes.printCorrect]: printMode && alwaysShowCorrect,\n })}\n >\n <Tooltip\n ref={(ref) => this.setTooltipRef(ref)}\n interactive\n open={!!activeAnswerBlock}\n classes={{\n tooltip: classes.keypadTooltip,\n popper: classes.keypadTooltipPopper,\n }}\n title={Object.keys(session.answers).map(\n (answerId) =>\n (answerId === activeAnswerBlock && !(showCorrect || disabled) && (\n <div\n data-keypad={true}\n key={answerId}\n className={classes.responseContainer}\n style={{\n // marginTop: this.mqStatic && this.mqStatic.input.offsetHeight - 20,\n width: getKeyPadWidth(additionalKeys, equationEditor),\n }}\n >\n <HorizontalKeypad\n additionalKeys={additionalKeys}\n mode={equationEditor || DEFAULT_KEYPAD_VARIANT}\n onClick={this.onClick}\n />\n </div>\n )) ||\n null,\n )}\n >\n <mq.Static\n ref={(mqStatic) => (this.mqStatic = mqStatic || this.mqStatic)}\n latex={staticLatex}\n onSubFieldChange={this.subFieldChanged}\n getFieldName={this.getFieldName}\n setInput={this.setInput}\n onSubFieldFocus={this.onSubFieldFocus}\n onBlur={this.onBlur}\n />\n </Tooltip>\n </div>\n )}\n </div>\n </Readable>\n )}\n\n {viewMode && teacherInstructions && hasText(teacherInstructions) && (\n <React.Fragment>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}>\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }} />\n </Collapsible>\n ) : (\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }} />\n )}\n <br />\n </React.Fragment>\n )}\n\n {viewMode && rationale && hasText(rationale) && (\n <React.Fragment>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <div dangerouslySetInnerHTML={{ __html: rationale }} />\n </Collapsible>\n ) : (\n <div dangerouslySetInnerHTML={{ __html: rationale }} />\n )}\n </React.Fragment>\n )}\n\n {viewMode && displayNote && (\n <div className={classes.note} dangerouslySetInnerHTML={{ __html: `<strong>Note:</strong> ${note}` }} />\n )}\n </div>\n );\n\n if (\n tooltipModeEnabled &&\n (showCorrectAnswerToggle ||\n (teacherInstructions && hasText(teacherInstructions)) ||\n (rationale && hasText(rationale)) ||\n feedback)\n ) {\n return (\n <Tooltip\n interactive\n classes={{\n tooltip: classes.tooltip,\n popper: classes.tooltipPopper,\n }}\n title={\n <div>\n <div className={classes.main}>\n {showCorrectAnswerToggle && (\n <CorrectAnswerToggle\n className={classes.toggle}\n show\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n />\n )}\n </div>\n\n {teacherInstructions &&\n hasText(teacherInstructions) && [\n <Collapsible\n key=\"collapsible\"\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>,\n <br key=\"br\" />,\n ]}\n\n {rationale &&\n hasText(rationale) && [\n <Collapsible\n key=\"collapsible\"\n labels={{\n hidden: 'Show Rationale',\n visible: 'Hide Rationale',\n }}\n >\n <PreviewPrompt prompt={rationale} />\n </Collapsible>,\n <br key=\"br\" />,\n ]}\n\n {displayNote &&\n hasText(note) && [\n <Collapsible\n key=\"collapsible\"\n labels={{\n hidden: 'Show Note',\n visible: 'Hide Note',\n }}\n >\n <PreviewPrompt prompt={note} />\n </Collapsible>,\n <br key=\"br\" />,\n ]}\n\n {feedback && <Feedback correctness={correctness.correctness} feedback={feedback} />}\n </div>\n }\n >\n <div className={classes.mainContainer} ref={(r) => (this.root = r || this.root)}>\n {midContent}\n </div>\n </Tooltip>\n );\n }\n\n return (\n <div className={classes.mainContainer} ref={(r) => (this.root = r || this.root)}>\n {midContent}\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n display: 'inline-block',\n },\n tooltip: {\n background: `${color.primaryLight()} !important`,\n color: color.text(),\n padding: theme.spacing.unit * 2,\n border: `1px solid ${color.secondary()}`,\n fontSize: '16px',\n '& :not(.MathJax) > table tr': {\n '&:nth-child(2n)': {\n backgroundColor: 'unset !important',\n },\n },\n },\n tooltipPopper: {\n opacity: 1,\n },\n keypadTooltip: {\n fontSize: 'initial',\n background: 'transparent',\n width: '600px',\n marginTop: 0,\n paddingTop: 0,\n },\n keypadTooltipPopper: {\n background: 'transparent',\n width: '650px',\n opacity: 1,\n },\n main: {\n width: '100%',\n position: 'relative',\n padding: theme.spacing.unit / 2,\n backgroundColor: color.background(),\n color: color.text(),\n },\n title: {\n fontSize: '1.1rem',\n display: 'block',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit,\n },\n content: {\n marginTop: theme.spacing.unit * 2,\n },\n note: {\n paddingTop: '15px',\n },\n collapsible: {\n marginTop: theme.spacing.unit * 2,\n },\n responseContainer: {\n zIndex: 10,\n // position: 'absolute',\n // right: 0,\n minWidth: '400px',\n marginTop: theme.spacing.unit * 2,\n },\n expression: {\n maxWidth: 'fit-content',\n '& > .mq-math-mode': {\n '& > .mq-root-block': {\n '& > .mq-editable-field': {\n minWidth: '10px',\n margin: (theme.spacing.unit * 2) / 3,\n padding: theme.spacing.unit / 4,\n },\n },\n '& sup': {\n top: 0,\n },\n },\n },\n inputAndKeypadContainer: {\n position: 'relative',\n '& .mq-overarrow-inner': {\n border: 'none !important',\n padding: '0 !important',\n },\n '& .mq-overarrow-inner-right': {\n display: 'none !important',\n },\n '& .mq-overarrow-inner-left': {\n display: 'none !important',\n },\n '& .mq-overarrow.mq-arrow-both': {\n minWidth: '1.23em',\n '& *': {\n lineHeight: '1 !important',\n },\n '&:before': {\n top: '-0.4em',\n left: '-1px',\n },\n '&:after': {\n top: '-2.4em',\n right: '-1px',\n },\n '&.mq-empty:after': {\n top: '-0.45em',\n },\n },\n '& .mq-overarrow.mq-arrow-right': {\n '&:before': {\n top: '-0.4em',\n right: '-1px',\n },\n },\n '& .mq-longdiv-inner': {\n borderTop: '1px solid !important',\n paddingTop: '1.5px !important',\n },\n '& .mq-parallelogram': {\n lineHeight: 0.85,\n },\n },\n showCorrectness: {\n border: '2px solid',\n },\n correctAnswerShown: {\n padding: theme.spacing.unit,\n letterSpacing: '0.5px',\n },\n printCorrect: {\n border: `2px solid ${color.correct()} !important`,\n },\n correct: {\n borderColor: `${color.correct()} !important`,\n },\n incorrect: {\n borderColor: `${color.incorrect()} !important`,\n },\n blockContainer: {\n margin: `${theme.spacing.unit}px !important`,\n display: 'inline-flex',\n border: '2px solid grey !important',\n },\n blockResponse: {\n flex: 2,\n color: 'grey',\n background: 'lightgrey',\n fontSize: '0.8rem !important',\n padding: `${theme.spacing.unit / 2}px !important`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRight: `2px solid ${color.disabled()} !important`,\n },\n toggle: {\n color: color.text(),\n },\n blockMath: {\n color: color.text(),\n backgroundColor: color.background(),\n padding: `${theme.spacing.unit / 2}px !important`,\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 printContainer: {\n marginBottom: '10px',\n pointerEvents: 'none',\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
package/lib/print.js DELETED
@@ -1,133 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _reactDom = _interopRequireDefault(require("react-dom"));
29
-
30
- var _debounce = _interopRequireDefault(require("lodash/debounce"));
31
-
32
- var _main = _interopRequireDefault(require("./main"));
33
-
34
- var _mathRendering = require("@pie-lib/math-rendering");
35
-
36
- var _debug = _interopRequireDefault(require("debug"));
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
-
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
-
42
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
43
-
44
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
45
-
46
- var log = (0, _debug["default"])('pie-element:math-inline:print');
47
- /**
48
- * Live in same package as main element - so we can access some of the shared comps!
49
- *
50
- * - update pslb to build print if src/print.js is there
51
- * - update demo el
52
- * - get configure/controller building
53
- */
54
-
55
- var preparePrintModel = function preparePrintModel(model, opts) {
56
- var instr = opts.role === 'instructor';
57
- model.prompt = model.promptEnabled !== false ? model.prompt : undefined;
58
- model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;
59
- model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;
60
- model.showTeacherInstructions = instr;
61
- model.alwaysShowCorrect = instr;
62
- model.printMode = true;
63
- model.feedback = undefined;
64
- model.expression = model.expression || '{{response}}';
65
- model.animationsDisabled = true;
66
- return _objectSpread(_objectSpread({}, model), {}, {
67
- disabled: true,
68
- config: _objectSpread(_objectSpread({}, model), {}, {
69
- env: {
70
- mode: instr ? 'evaluate' : model.mode,
71
- role: opts.role
72
- }
73
- })
74
- });
75
- };
76
-
77
- var MathInlinePrint = /*#__PURE__*/function (_HTMLElement) {
78
- (0, _inherits2["default"])(MathInlinePrint, _HTMLElement);
79
-
80
- var _super = _createSuper(MathInlinePrint);
81
-
82
- function MathInlinePrint() {
83
- var _this;
84
-
85
- (0, _classCallCheck2["default"])(this, MathInlinePrint);
86
- _this = _super.call(this);
87
- _this._options = null;
88
- _this._model = null;
89
- _this._session = [];
90
- _this._rerender = (0, _debounce["default"])(function () {
91
- if (_this._model && _this._session) {
92
- var printModel = preparePrintModel(_this._model, _this._options);
93
-
94
- var element = _this._options && /*#__PURE__*/_react["default"].createElement(_main["default"], {
95
- model: printModel,
96
- session: {}
97
- });
98
-
99
- _reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
100
- log('render complete - render math');
101
- (0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
102
- });
103
- } else {
104
- log('skip');
105
- }
106
- }, 50, {
107
- leading: false,
108
- trailing: true
109
- });
110
- return _this;
111
- }
112
-
113
- (0, _createClass2["default"])(MathInlinePrint, [{
114
- key: "options",
115
- set: function set(o) {
116
- this._options = o;
117
- }
118
- }, {
119
- key: "model",
120
- set: function set(s) {
121
- this._model = s;
122
-
123
- this._rerender();
124
- }
125
- }, {
126
- key: "connectedCallback",
127
- value: function connectedCallback() {}
128
- }]);
129
- return MathInlinePrint;
130
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
131
-
132
- exports["default"] = MathInlinePrint;
133
- //# sourceMappingURL=print.js.map
package/lib/print.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","showTeacherInstructions","alwaysShowCorrect","printMode","feedback","expression","animationsDisabled","disabled","config","env","mode","MathInlinePrint","_options","_model","_session","_rerender","printModel","element","React","createElement","Main","session","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,+BAAN,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;AAEAH,EAAAA,KAAK,CAACI,MAAN,GAAeJ,KAAK,CAACK,aAAN,KAAwB,KAAxB,GAAgCL,KAAK,CAACI,MAAtC,GAA+CE,SAA9D;AACAN,EAAAA,KAAK,CAACO,mBAAN,GACEL,KAAK,IAAIF,KAAK,CAACQ,0BAAN,KAAqC,KAA9C,GAAsDR,KAAK,CAACO,mBAA5D,GAAkFD,SADpF;AAEAN,EAAAA,KAAK,CAACS,SAAN,GAAkBP,KAAK,IAAIF,KAAK,CAACU,gBAAN,KAA2B,KAApC,GAA4CV,KAAK,CAACS,SAAlD,GAA8DH,SAAhF;AACAN,EAAAA,KAAK,CAACW,uBAAN,GAAgCT,KAAhC;AACAF,EAAAA,KAAK,CAACY,iBAAN,GAA0BV,KAA1B;AACAF,EAAAA,KAAK,CAACa,SAAN,GAAkB,IAAlB;AACAb,EAAAA,KAAK,CAACc,QAAN,GAAiBR,SAAjB;AACAN,EAAAA,KAAK,CAACe,UAAN,GAAmBf,KAAK,CAACe,UAAN,IAAoB,cAAvC;AAEAf,EAAAA,KAAK,CAACgB,kBAAN,GAA2B,IAA3B;AACA,yCACKhB,KADL;AAEEiB,IAAAA,QAAQ,EAAE,IAFZ;AAGEC,IAAAA,MAAM,kCACDlB,KADC;AAEJmB,MAAAA,GAAG,EAAE;AAAEC,QAAAA,IAAI,EAAElB,KAAK,GAAG,UAAH,GAAgBF,KAAK,CAACoB,IAAnC;AAAyCjB,QAAAA,IAAI,EAAEF,IAAI,CAACE;AAApD;AAFD;AAHR;AAQD,CAtBD;;IAwBqBkB,e;;;;;AACnB,6BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKF,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAME,UAAU,GAAG3B,iBAAiB,CAAC,MAAKwB,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMK,OAAO,GACX,MAAKL,QAAL,iBACAM,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxB9B,UAAAA,KAAK,EAAE0B,UADiB;AAExBK,UAAAA,OAAO,EAAE;AAFe,SAA1B,CAFF;;AAOAC,6BAASC,MAAT,CAAgBN,OAAhB,kDAA+B,YAAM;AACnC7B,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAdD,MAcO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAnBc,EAoBf,EApBe,EAqBf;AAAEoC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KArBe,CAAjB;AALY;AA4Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKd,QAAL,GAAgBc,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKd,MAAL,GAAcc,CAAd;;AACA,WAAKZ,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAvCqBa,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:math-inline:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions =\n instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;\n model.showTeacherInstructions = instr;\n model.alwaysShowCorrect = instr;\n model.printMode = true;\n model.feedback = undefined;\n model.expression = model.expression || '{{response}}';\n\n model.animationsDisabled = true;\n return {\n ...model,\n disabled: true,\n config: {\n ...model,\n env: { mode: instr ? 'evaluate' : model.mode, role: opts.role },\n },\n };\n};\n\nexport default class MathInlinePrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: {},\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
@@ -1,195 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = 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
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _mathToolbar = require("@pie-lib/math-toolbar");
27
-
28
- var _mathInput = require("@pie-lib/math-input");
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- var _propTypes = _interopRequireDefault(require("prop-types"));
35
-
36
- 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) {
56
- try {
57
- if (!_this.mathToolBarContainsTarget(e)) {
58
- _this.setState({
59
- showKeypad: false
60
- });
61
- }
62
- } catch (e) {// console.log(e.toString());
63
- }
64
- });
65
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onFocus", function () {
66
- return _this.setState({
67
- showKeypad: true
68
- });
69
- });
70
- _this.state = {
71
- showKeypad: true
72
- };
73
- _this.mathToolBarId = "math-toolbar-".concat(new Date().getTime());
74
- return _this;
75
- }
76
-
77
- (0, _createClass2["default"])(SimpleQuestionBlockRaw, [{
78
- key: "componentDidMount",
79
- value: function componentDidMount() {
80
- window.addEventListener('click', this.handleClick);
81
- }
82
- }, {
83
- key: "componentWillUnmount",
84
- value: function componentWillUnmount() {
85
- window.removeEventListener('click', this.handleClick);
86
- }
87
- }, {
88
- key: "render",
89
- value: function render() {
90
- var _cx;
91
-
92
- var _this$props = this.props,
93
- classes = _this$props.classes,
94
- model = _this$props.model,
95
- showCorrect = _this$props.showCorrect,
96
- session = _this$props.session,
97
- emptyResponse = _this$props.emptyResponse,
98
- onSimpleResponseChange = _this$props.onSimpleResponseChange;
99
-
100
- var _ref = model || {},
101
- config = _ref.config,
102
- disabled = _ref.disabled,
103
- correctness = _ref.correctness;
104
-
105
- if (!config) {
106
- return;
107
- }
108
-
109
- var correct = correctness && correctness.correct;
110
- var responses = config.responses,
111
- equationEditor = config.equationEditor;
112
- return /*#__PURE__*/_react["default"].createElement("div", {
113
- className: classes.expression
114
- }, showCorrect || disabled ? /*#__PURE__*/_react["default"].createElement("div", {
115
- 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))
116
- }, /*#__PURE__*/_react["default"].createElement(_mathInput.mq.Static, {
117
- latex: showCorrect ? responses && responses.length && responses[0].answer : session.response || ''
118
- })) : /*#__PURE__*/_react["default"].createElement("div", {
119
- id: this.mathToolBarId
120
- }, /*#__PURE__*/_react["default"].createElement(_mathToolbar.MathToolbar, {
121
- classNames: {
122
- editor: classes.responseEditor
123
- },
124
- latex: session.response || '',
125
- keypadMode: equationEditor,
126
- onChange: onSimpleResponseChange,
127
- onDone: function onDone() {},
128
- onFocus: this.onFocus,
129
- controlledKeypad: true,
130
- showKeypad: this.state.showKeypad,
131
- hideDoneButton: true
132
- })));
133
- }
134
- }]);
135
- return SimpleQuestionBlockRaw;
136
- }(_react["default"].Component);
137
-
138
- exports.SimpleQuestionBlockRaw = SimpleQuestionBlockRaw;
139
- (0, _defineProperty2["default"])(SimpleQuestionBlockRaw, "propTypes", {
140
- classes: _propTypes["default"].object,
141
- onSimpleResponseChange: _propTypes["default"].func,
142
- model: _propTypes["default"].object.isRequired,
143
- emptyResponse: _propTypes["default"].bool,
144
- session: _propTypes["default"].object.isRequired,
145
- showCorrect: _propTypes["default"].bool
146
- });
147
- var SimpleQuestionBlock = (0, _styles.withStyles)(function (theme) {
148
- return {
149
- responseEditor: {
150
- display: 'flex',
151
- justifyContent: 'center',
152
- width: 'auto',
153
- maxWidth: 'fit-content',
154
- height: 'auto',
155
- textAlign: 'left',
156
- padding: theme.spacing.unit,
157
- '&.mq-math-mode': {
158
- border: "1px solid ".concat(_renderUi.color.primaryLight())
159
- }
160
- },
161
- expression: {
162
- marginTop: theme.spacing.unit * 2,
163
- marginBottom: theme.spacing.unit * 2,
164
- padding: theme.spacing.unit
165
- },
166
- "static": {
167
- color: _renderUi.color.text(),
168
- background: _renderUi.color.background(),
169
- border: "1px solid ".concat(_renderUi.color.primaryLight()),
170
- width: 'fit-content',
171
- fontSize: '1rem',
172
- padding: theme.spacing.unit / 2,
173
- '& > .mq-math-mode': {
174
- '& > .mq-hasCursor': {
175
- '& > .mq-cursor': {
176
- display: 'none'
177
- }
178
- }
179
- }
180
- },
181
- correct: {
182
- border: "2px solid ".concat(_renderUi.color.correct(), " !important"),
183
- padding: theme.spacing.unit,
184
- letterSpacing: '0.5px'
185
- },
186
- incorrect: {
187
- border: "2px solid ".concat(_renderUi.color.incorrect(), " !important"),
188
- padding: theme.spacing.unit,
189
- letterSpacing: '0.5px'
190
- }
191
- };
192
- })(SimpleQuestionBlockRaw);
193
- var _default = SimpleQuestionBlock;
194
- exports["default"] = _default;
195
- //# sourceMappingURL=simple-question-block.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/simple-question-block.jsx"],"names":["SimpleQuestionBlockRaw","props","e","document","getElementById","mathToolBarId","contains","target","mathToolBarContainsTarget","setState","showKeypad","state","Date","getTime","window","addEventListener","handleClick","removeEventListener","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 };\n\n constructor(props) {\n super(props);\n\n this.state = {\n showKeypad: true,\n };\n this.mathToolBarId = `math-toolbar-${new Date().getTime()}`;\n }\n\n componentDidMount() {\n window.addEventListener('click', this.handleClick);\n }\n\n componentWillUnmount() {\n window.removeEventListener('click', this.handleClick);\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 = () => this.setState({ showKeypad: true });\n\n render() {\n const { classes, model, showCorrect, session, emptyResponse, onSimpleResponseChange } = 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}>\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={this.state.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"}
package/lib/utils.js DELETED
@@ -1,12 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.ResponseTypes = void 0;
7
- var ResponseTypes = {
8
- advanced: 'Advanced Multi',
9
- simple: 'Simple'
10
- };
11
- exports.ResponseTypes = ResponseTypes;
12
- //# sourceMappingURL=utils.js.map
package/lib/utils.js.map DELETED
@@ -1 +0,0 @@
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"}