@pie-element/math-inline 7.4.1-next.17 → 7.4.1-next.5
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 +6 -17
- package/lib/main.js.map +1 -1
- package/module/element.js +48 -59
- package/module/print.js +48 -59
- package/package.json +2 -2
package/lib/main.js
CHANGED
|
@@ -175,15 +175,6 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
175
175
|
|
|
176
176
|
(0, _mathRendering.renderMath)(_this.root);
|
|
177
177
|
});
|
|
178
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "updateAriaHidden", function () {
|
|
179
|
-
if (_this.root) {
|
|
180
|
-
var selectableElements = _this.root.querySelectorAll('.mq-selectable');
|
|
181
|
-
|
|
182
|
-
(selectableElements || []).forEach(function (elem) {
|
|
183
|
-
return elem.setAttribute('aria-hidden', 'true');
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
});
|
|
187
178
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {});
|
|
188
179
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onSimpleResponseChange", function (response) {
|
|
189
180
|
_this.setState(function (state) {
|
|
@@ -348,6 +339,11 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
348
339
|
}
|
|
349
340
|
}
|
|
350
341
|
}
|
|
342
|
+
}, {
|
|
343
|
+
key: "componentDidUpdate",
|
|
344
|
+
value: function componentDidUpdate() {
|
|
345
|
+
this.handleAnswerBlockDomUpdate();
|
|
346
|
+
}
|
|
351
347
|
}, {
|
|
352
348
|
key: "UNSAFE_componentWillReceiveProps",
|
|
353
349
|
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
@@ -417,24 +413,17 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
417
413
|
var _this3 = this;
|
|
418
414
|
|
|
419
415
|
this.handleAnswerBlockDomUpdate();
|
|
420
|
-
this.updateAriaHidden();
|
|
421
416
|
setTimeout(function () {
|
|
422
417
|
return (0, _mathRendering.renderMath)(_this3.root);
|
|
423
418
|
}, 100);
|
|
424
419
|
}
|
|
425
|
-
}, {
|
|
426
|
-
key: "componentDidUpdate",
|
|
427
|
-
value: function componentDidUpdate() {
|
|
428
|
-
this.handleAnswerBlockDomUpdate();
|
|
429
|
-
this.updateAriaHidden();
|
|
430
|
-
}
|
|
431
420
|
}, {
|
|
432
421
|
key: "setTooltipRef",
|
|
433
422
|
value: function setTooltipRef(ref) {
|
|
434
423
|
// Safari Hack: https://stackoverflow.com/a/42764495/5757635
|
|
435
424
|
setTimeout(function () {
|
|
436
425
|
if (ref && IS_SAFARI) {
|
|
437
|
-
var div = document.querySelector(
|
|
426
|
+
var div = document.querySelector('[role=\'tooltip\']');
|
|
438
427
|
|
|
439
428
|
if (div) {
|
|
440
429
|
var el = div.firstChild;
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["translator","Translator","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","selectableElements","querySelectorAll","elem","setAttribute","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","note","language","t","lng","env","mode","newAnswers","nextState","sameModel","sameState","updateAriaHidden","setTimeout","ref","div","document","firstChild","correctness","teacherInstructions","rationale","feedback","animationsDisabled","showNote","prompt","responseType","customKeys","role","displayNote","emptyResponse","showCorrectAnswerToggle","tooltipModeEnabled","staticLatex","viewMode","studentPrintMode","printView","printContainer","subFieldChanged","getFieldName","setInput","onSubFieldFocus","onBlur","midContent","main","srOnly","collapsible","hidden","visible","__html","content","inputAndKeypadContainer","ResponseTypes","simple","onSimpleResponseChange","advanced","showCorrectness","correctAnswerShown","printCorrect","setTooltipRef","tooltip","keypadTooltip","popper","keypadTooltipPopper","responseContainer","width","onClick","tooltipPopper","toggle","toggleShowCorrect","mainContainer","r","React","Component","PropTypes","object","isRequired","func","styles","theme","color","backgroundColor","background","display","primaryLight","padding","spacing","unit","border","secondary","fontSize","opacity","marginTop","paddingTop","position","title","marginBottom","paddingBottom","zIndex","minWidth","maxWidth","margin","top","borderColor","lineHeight","left","right","borderTop","letterSpacing","flex","palette","grey","alignItems","justifyContent","borderRight","pointerEvents","height","overflow"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { CorrectAnswerToggle } from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { mq, HorizontalKeypad, updateSpans } from '@pie-lib/pie-toolbox/math-input';\nimport { Feedback, Collapsible, Readable, hasText, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport { renderMath } from '@pie-lib/pie-toolbox/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/pie-toolbox/render-ui';\nimport isEmpty from 'lodash/isEmpty';\nimport Translator from '@pie-lib/pie-toolbox/translator';\nconst { translator } = Translator;\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 UNSAFE_componentWillReceiveProps(nextProps) {\n const { config } = this.props.model;\n const { config: nextConfig = {} } = nextProps.model || {};\n\n // check if the note is the default one for prev language and change to the default one for new language\n // this check is necessary in order to diferanciate between default and authour defined note\n // and only change between languages for default ones\n if (\n config.note &&\n config.language &&\n config.language !== nextConfig.language &&\n config.note === translator.t('mathInline.primaryCorrectWithAlternates', { lng: config.language })\n ) {\n config.note = translator.t('mathInline.primaryCorrectWithAlternates', { lng: nextConfig.language });\n }\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 this.updateAriaHidden();\n setTimeout(() => renderMath(this.root), 100);\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n this.updateAriaHidden();\n }\n\n updateAriaHidden = () => {\n if (this.root) {\n const selectableElements = this.root.querySelectorAll('.mq-selectable');\n (selectableElements || []).forEach((elem) => elem.setAttribute('aria-hidden', 'true'));\n }\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 language,\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 className={classes.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 {mode === 'gather' && <h2 className={classes.srOnly}>Math Equation Response Question</h2>}\n\n {viewMode &&\n teacherInstructions &&\n hasText(teacherInstructions) &&\n (!animationsDisabled ? (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }} />\n </Collapsible>\n ) : (\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }} />\n ))}\n\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 className={classes.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 && displayNote && (\n <div className={classes.note} dangerouslySetInnerHTML={{ __html: `<strong>Note:</strong> ${note}` }} />\n )}\n\n {viewMode &&\n rationale &&\n hasText(rationale) &&\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 </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 language={language}\n className={classes.toggle}\n show\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n />\n )}\n </div>\n\n {teacherInstructions && hasText(teacherInstructions) && (\n <Collapsible\n className={classes.collapsible}\n key=\"collapsible-teacher-instructions\"\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n {displayNote && hasText(note) && (\n <Collapsible\n className={classes.collapsible}\n key=\"collapsible-note\"\n labels={{\n hidden: translator.t('common:showNote', { lng: language }),\n visible: translator.t('common:hideNote', { lng: language }),\n }}\n >\n <PreviewPrompt prompt={note} />\n </Collapsible>\n )}\n\n {rationale && hasText(rationale) && (\n <Collapsible\n className={classes.collapsible}\n key=\"collapsible-rationale\"\n labels={{\n hidden: 'Show Rationale',\n visible: 'Hide Rationale',\n }}\n >\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\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 color: color.text(),\n backgroundColor: color.background(),\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 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 note: {\n paddingBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: 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 static: {\n '& > .mq-root-block': {\n '& > .mq-editable-field': {\n borderColor: color.text(),\n },\n },\n },\n inputAndKeypadContainer: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\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: theme.palette.grey['A100'],\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 marginBottom: theme.spacing.unit * 2,\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: theme.spacing.unit,\n pointerEvents: 'none',\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["translator","Translator","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","note","language","t","lng","env","mode","newAnswers","nextState","sameModel","sameState","setTimeout","ref","div","document","firstChild","setAttribute","correctness","teacherInstructions","rationale","feedback","animationsDisabled","showNote","prompt","responseType","customKeys","role","displayNote","emptyResponse","showCorrectAnswerToggle","tooltipModeEnabled","staticLatex","viewMode","studentPrintMode","printView","printContainer","subFieldChanged","getFieldName","setInput","onSubFieldFocus","onBlur","midContent","main","srOnly","collapsible","hidden","visible","__html","content","inputAndKeypadContainer","ResponseTypes","simple","onSimpleResponseChange","advanced","showCorrectness","correctAnswerShown","printCorrect","setTooltipRef","tooltip","keypadTooltip","popper","keypadTooltipPopper","responseContainer","width","onClick","tooltipPopper","toggle","toggleShowCorrect","mainContainer","r","React","Component","PropTypes","object","isRequired","func","styles","theme","color","backgroundColor","background","display","primaryLight","padding","spacing","unit","border","secondary","fontSize","opacity","marginTop","paddingTop","position","title","marginBottom","paddingBottom","zIndex","minWidth","maxWidth","margin","top","borderColor","lineHeight","left","right","borderTop","letterSpacing","flex","palette","grey","alignItems","justifyContent","borderRight","pointerEvents","height","overflow"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {CorrectAnswerToggle} from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { mq, HorizontalKeypad, updateSpans } from '@pie-lib/pie-toolbox/math-input';\nimport { Feedback, Collapsible, Readable, hasText, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport { renderMath } from '@pie-lib/pie-toolbox/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/pie-toolbox/render-ui';\nimport isEmpty from 'lodash/isEmpty';\nimport Translator from '@pie-lib/pie-toolbox/translator';\nconst { translator } = Translator;\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 // check if the note is the default one for prev language and change to the default one for new language\n // this check is necessary in order to diferanciate between default and authour defined note\n // and only change between languages for default ones\n if (config.note && config.language && config.language !== nextConfig.language && config.note === translator.t('mathInline.primaryCorrectWithAlternates', { lng: config.language })) {\n config.note = translator.t('mathInline.primaryCorrectWithAlternates', { lng: nextConfig.language });\n }\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 language\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 className={classes.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 {mode === 'gather' && <h2 className={classes.srOnly}>Math Equation Response Question</h2>}\n\n {viewMode &&\n teacherInstructions &&\n hasText(teacherInstructions) &&\n (!animationsDisabled ? (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }} />\n </Collapsible>\n ) : (\n <div dangerouslySetInnerHTML={{ __html: teacherInstructions }} />\n ))}\n\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 className={classes.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 && displayNote && (\n <div className={classes.note} dangerouslySetInnerHTML={{ __html: `<strong>Note:</strong> ${note}` }} />\n )}\n\n {viewMode &&\n rationale &&\n hasText(rationale) &&\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 </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 language={language}\n className={classes.toggle}\n show\n toggled={showCorrect}\n onToggle={this.toggleShowCorrect}\n />\n )}\n </div>\n\n {teacherInstructions && hasText(teacherInstructions) && (\n <Collapsible\n className={classes.collapsible}\n key=\"collapsible-teacher-instructions\"\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n {displayNote && hasText(note) && (\n <Collapsible\n className={classes.collapsible}\n key=\"collapsible-note\"\n labels={{\n hidden: translator.t('common:showNote', { lng: language }),\n visible: translator.t('common:hideNote', { lng: language }),\n }}\n >\n <PreviewPrompt prompt={note} />\n </Collapsible>\n )}\n\n {rationale && hasText(rationale) && (\n <Collapsible\n className={classes.collapsible}\n key=\"collapsible-rationale\"\n labels={{\n hidden: 'Show Rationale',\n visible: 'Hide Rationale',\n }}\n >\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\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 color: color.text(),\n backgroundColor: color.background(),\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 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 note: {\n paddingBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: 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 static: {\n '& > .mq-root-block': {\n '& > .mq-editable-field': {\n borderColor: color.text(),\n },\n },\n },\n inputAndKeypadContainer: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\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: theme.palette.grey['A100'],\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 marginBottom: theme.spacing.unit * 2,\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: theme.spacing.unit,\n pointerEvents: 'none',\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
package/module/element.js
CHANGED
|
@@ -11611,7 +11611,6 @@ class Main extends React$1.Component {
|
|
|
11611
11611
|
Main.prototype.__init10.call(this);
|
|
11612
11612
|
Main.prototype.__init11.call(this);
|
|
11613
11613
|
Main.prototype.__init12.call(this);
|
|
11614
|
-
Main.prototype.__init13.call(this);
|
|
11615
11614
|
const answers = {};
|
|
11616
11615
|
if (props.model.config && props.model.config.expression) {
|
|
11617
11616
|
let answerBlocks = 1;
|
|
@@ -11677,6 +11676,9 @@ class Main extends React$1.Component {
|
|
|
11677
11676
|
renderMath(this.root);
|
|
11678
11677
|
};
|
|
11679
11678
|
}
|
|
11679
|
+
componentDidUpdate() {
|
|
11680
|
+
this.handleAnswerBlockDomUpdate();
|
|
11681
|
+
}
|
|
11680
11682
|
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
11681
11683
|
const {config} = this.props.model;
|
|
11682
11684
|
const {config: nextConfig = {}} = nextProps.model || ({});
|
|
@@ -11724,25 +11726,12 @@ class Main extends React$1.Component {
|
|
|
11724
11726
|
}
|
|
11725
11727
|
componentDidMount() {
|
|
11726
11728
|
this.handleAnswerBlockDomUpdate();
|
|
11727
|
-
this.updateAriaHidden();
|
|
11728
11729
|
setTimeout(() => renderMath(this.root), 100);
|
|
11729
11730
|
}
|
|
11730
|
-
componentDidUpdate() {
|
|
11731
|
-
this.handleAnswerBlockDomUpdate();
|
|
11732
|
-
this.updateAriaHidden();
|
|
11733
|
-
}
|
|
11734
11731
|
__init2() {
|
|
11735
|
-
this.updateAriaHidden = () => {
|
|
11736
|
-
if (this.root) {
|
|
11737
|
-
const selectableElements = this.root.querySelectorAll('.mq-selectable');
|
|
11738
|
-
(selectableElements || []).forEach(elem => elem.setAttribute('aria-hidden', 'true'));
|
|
11739
|
-
}
|
|
11740
|
-
};
|
|
11741
|
-
}
|
|
11742
|
-
__init3() {
|
|
11743
11732
|
this.onDone = () => {};
|
|
11744
11733
|
}
|
|
11745
|
-
|
|
11734
|
+
__init3() {
|
|
11746
11735
|
this.onSimpleResponseChange = response => {
|
|
11747
11736
|
this.setState(state => ({
|
|
11748
11737
|
session: {
|
|
@@ -11752,14 +11741,14 @@ class Main extends React$1.Component {
|
|
|
11752
11741
|
}), this.callOnSessionChange);
|
|
11753
11742
|
};
|
|
11754
11743
|
}
|
|
11755
|
-
|
|
11744
|
+
__init4() {
|
|
11756
11745
|
this.onSubFieldFocus = id => {
|
|
11757
11746
|
this.setState({
|
|
11758
11747
|
activeAnswerBlock: id
|
|
11759
11748
|
});
|
|
11760
11749
|
};
|
|
11761
11750
|
}
|
|
11762
|
-
|
|
11751
|
+
__init5() {
|
|
11763
11752
|
this.toNodeData = data => {
|
|
11764
11753
|
if (!data) {
|
|
11765
11754
|
return;
|
|
@@ -11784,12 +11773,12 @@ class Main extends React$1.Component {
|
|
|
11784
11773
|
}
|
|
11785
11774
|
};
|
|
11786
11775
|
}
|
|
11787
|
-
|
|
11776
|
+
__init6() {
|
|
11788
11777
|
this.setInput = input => {
|
|
11789
11778
|
this.input = input;
|
|
11790
11779
|
};
|
|
11791
11780
|
}
|
|
11792
|
-
|
|
11781
|
+
__init7() {
|
|
11793
11782
|
this.onClick = data => {
|
|
11794
11783
|
const c = this.toNodeData(data);
|
|
11795
11784
|
if (c.type === 'clear') {
|
|
@@ -11810,7 +11799,7 @@ class Main extends React$1.Component {
|
|
|
11810
11799
|
this.input.focus();
|
|
11811
11800
|
};
|
|
11812
11801
|
}
|
|
11813
|
-
|
|
11802
|
+
__init8() {
|
|
11814
11803
|
this.callOnSessionChange = () => {
|
|
11815
11804
|
const {onSessionChange} = this.props;
|
|
11816
11805
|
if (onSessionChange) {
|
|
@@ -11818,14 +11807,14 @@ class Main extends React$1.Component {
|
|
|
11818
11807
|
}
|
|
11819
11808
|
};
|
|
11820
11809
|
}
|
|
11821
|
-
|
|
11810
|
+
__init9() {
|
|
11822
11811
|
this.toggleShowCorrect = show => {
|
|
11823
11812
|
this.setState({
|
|
11824
11813
|
showCorrect: show
|
|
11825
11814
|
}, this.handleAnswerBlockDomUpdate);
|
|
11826
11815
|
};
|
|
11827
11816
|
}
|
|
11828
|
-
|
|
11817
|
+
__init10() {
|
|
11829
11818
|
this.subFieldChanged = (name, subfieldValue) => {
|
|
11830
11819
|
updateSpans();
|
|
11831
11820
|
if (name) {
|
|
@@ -11844,7 +11833,7 @@ class Main extends React$1.Component {
|
|
|
11844
11833
|
}
|
|
11845
11834
|
};
|
|
11846
11835
|
}
|
|
11847
|
-
|
|
11836
|
+
__init11() {
|
|
11848
11837
|
this.getFieldName = (changeField, fields) => {
|
|
11849
11838
|
const {answers} = this.state.session;
|
|
11850
11839
|
if (Object.keys(answers || ({})).length) {
|
|
@@ -11856,7 +11845,7 @@ class Main extends React$1.Component {
|
|
|
11856
11845
|
}
|
|
11857
11846
|
};
|
|
11858
11847
|
}
|
|
11859
|
-
|
|
11848
|
+
__init12() {
|
|
11860
11849
|
this.onBlur = e => {
|
|
11861
11850
|
const {relatedTarget, currentTarget} = e || ({});
|
|
11862
11851
|
if (!relatedTarget || !currentTarget || !IS_SAFARI && !_optionalChain([relatedTarget, 'optionalAccess', _13 => _13.offsetParent, 'optionalAccess', _14 => _14.children, 'access', _15 => _15[0], 'optionalAccess', _16 => _16.attributes, 'optionalAccess', _17 => _17['data-keypad']]) || IS_SAFARI && !_optionalChain([relatedTarget, 'optionalAccess', _18 => _18.offsetParent, 'optionalAccess', _19 => _19.children, 'access', _20 => _20[0], 'optionalAccess', _21 => _21.children, 'access', _22 => _22[0], 'optionalAccess', _23 => _23.attributes, 'optionalAccess', _24 => _24['data-keypad']])) {
|
|
@@ -11869,7 +11858,7 @@ class Main extends React$1.Component {
|
|
|
11869
11858
|
setTooltipRef(ref) {
|
|
11870
11859
|
setTimeout(() => {
|
|
11871
11860
|
if (ref && IS_SAFARI) {
|
|
11872
|
-
const div = document.querySelector(
|
|
11861
|
+
const div = document.querySelector('[role=\'tooltip\']');
|
|
11873
11862
|
if (div) {
|
|
11874
11863
|
const el = div.firstChild;
|
|
11875
11864
|
el.setAttribute('tabindex', '-1');
|
|
@@ -11899,7 +11888,7 @@ class Main extends React$1.Component {
|
|
|
11899
11888
|
__self: this,
|
|
11900
11889
|
__source: {
|
|
11901
11890
|
fileName: _jsxFileName,
|
|
11902
|
-
lineNumber:
|
|
11891
|
+
lineNumber: 412
|
|
11903
11892
|
}
|
|
11904
11893
|
}, React$1.createElement(mq.Static, {
|
|
11905
11894
|
className: classes.static,
|
|
@@ -11913,7 +11902,7 @@ class Main extends React$1.Component {
|
|
|
11913
11902
|
__self: this,
|
|
11914
11903
|
__source: {
|
|
11915
11904
|
fileName: _jsxFileName,
|
|
11916
|
-
lineNumber:
|
|
11905
|
+
lineNumber: 413
|
|
11917
11906
|
}
|
|
11918
11907
|
}));
|
|
11919
11908
|
const midContent = React$1.createElement('div', {
|
|
@@ -11921,14 +11910,14 @@ class Main extends React$1.Component {
|
|
|
11921
11910
|
__self: this,
|
|
11922
11911
|
__source: {
|
|
11923
11912
|
fileName: _jsxFileName,
|
|
11924
|
-
lineNumber:
|
|
11913
|
+
lineNumber: 427
|
|
11925
11914
|
}
|
|
11926
11915
|
}, mode === 'gather' && React$1.createElement('h2', {
|
|
11927
11916
|
className: classes.srOnly,
|
|
11928
11917
|
__self: this,
|
|
11929
11918
|
__source: {
|
|
11930
11919
|
fileName: _jsxFileName,
|
|
11931
|
-
lineNumber:
|
|
11920
|
+
lineNumber: 428
|
|
11932
11921
|
}
|
|
11933
11922
|
}, "Math Equation Response Question"), viewMode && teacherInstructions && hasText(teacherInstructions) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
11934
11923
|
className: classes.collapsible,
|
|
@@ -11939,7 +11928,7 @@ class Main extends React$1.Component {
|
|
|
11939
11928
|
__self: this,
|
|
11940
11929
|
__source: {
|
|
11941
11930
|
fileName: _jsxFileName,
|
|
11942
|
-
lineNumber:
|
|
11931
|
+
lineNumber: 434
|
|
11943
11932
|
}
|
|
11944
11933
|
}, React$1.createElement('div', {
|
|
11945
11934
|
dangerouslySetInnerHTML: {
|
|
@@ -11948,7 +11937,7 @@ class Main extends React$1.Component {
|
|
|
11948
11937
|
__self: this,
|
|
11949
11938
|
__source: {
|
|
11950
11939
|
fileName: _jsxFileName,
|
|
11951
|
-
lineNumber:
|
|
11940
|
+
lineNumber: 438
|
|
11952
11941
|
}
|
|
11953
11942
|
})) : React$1.createElement('div', {
|
|
11954
11943
|
dangerouslySetInnerHTML: {
|
|
@@ -11957,35 +11946,35 @@ class Main extends React$1.Component {
|
|
|
11957
11946
|
__self: this,
|
|
11958
11947
|
__source: {
|
|
11959
11948
|
fileName: _jsxFileName,
|
|
11960
|
-
lineNumber:
|
|
11949
|
+
lineNumber: 441
|
|
11961
11950
|
}
|
|
11962
11951
|
})), prompt && React$1.createElement('div', {
|
|
11963
11952
|
className: classes.content,
|
|
11964
11953
|
__self: this,
|
|
11965
11954
|
__source: {
|
|
11966
11955
|
fileName: _jsxFileName,
|
|
11967
|
-
lineNumber:
|
|
11956
|
+
lineNumber: 445
|
|
11968
11957
|
}
|
|
11969
11958
|
}, React$1.createElement(PreviewPrompt, {
|
|
11970
11959
|
prompt: prompt,
|
|
11971
11960
|
__self: this,
|
|
11972
11961
|
__source: {
|
|
11973
11962
|
fileName: _jsxFileName,
|
|
11974
|
-
lineNumber:
|
|
11963
|
+
lineNumber: 446
|
|
11975
11964
|
}
|
|
11976
11965
|
})), studentPrintMode ? printView : React$1.createElement(Readable, {
|
|
11977
11966
|
false: true,
|
|
11978
11967
|
__self: this,
|
|
11979
11968
|
__source: {
|
|
11980
11969
|
fileName: _jsxFileName,
|
|
11981
|
-
lineNumber:
|
|
11970
|
+
lineNumber: 453
|
|
11982
11971
|
}
|
|
11983
11972
|
}, React$1.createElement('div', {
|
|
11984
11973
|
className: classes.inputAndKeypadContainer,
|
|
11985
11974
|
__self: this,
|
|
11986
11975
|
__source: {
|
|
11987
11976
|
fileName: _jsxFileName,
|
|
11988
|
-
lineNumber:
|
|
11977
|
+
lineNumber: 454
|
|
11989
11978
|
}
|
|
11990
11979
|
}, responseType === ResponseTypes$1.simple && React$1.createElement(SimpleQuestionBlock, {
|
|
11991
11980
|
onSimpleResponseChange: this.onSimpleResponseChange,
|
|
@@ -11996,7 +11985,7 @@ class Main extends React$1.Component {
|
|
|
11996
11985
|
__self: this,
|
|
11997
11986
|
__source: {
|
|
11998
11987
|
fileName: _jsxFileName,
|
|
11999
|
-
lineNumber:
|
|
11988
|
+
lineNumber: 456
|
|
12000
11989
|
}
|
|
12001
11990
|
}), responseType === ResponseTypes$1.advanced && React$1.createElement('div', {
|
|
12002
11991
|
className: cx(classes.expression, {
|
|
@@ -12009,7 +11998,7 @@ class Main extends React$1.Component {
|
|
|
12009
11998
|
__self: this,
|
|
12010
11999
|
__source: {
|
|
12011
12000
|
fileName: _jsxFileName,
|
|
12012
|
-
lineNumber:
|
|
12001
|
+
lineNumber: 466
|
|
12013
12002
|
}
|
|
12014
12003
|
}, React$1.createElement(Tooltip, {
|
|
12015
12004
|
ref: ref => this.setTooltipRef(ref),
|
|
@@ -12029,7 +12018,7 @@ class Main extends React$1.Component {
|
|
|
12029
12018
|
__self: this,
|
|
12030
12019
|
__source: {
|
|
12031
12020
|
fileName: _jsxFileName,
|
|
12032
|
-
lineNumber:
|
|
12021
|
+
lineNumber: 486
|
|
12033
12022
|
}
|
|
12034
12023
|
}, React$1.createElement(HorizontalKeypad, {
|
|
12035
12024
|
additionalKeys: additionalKeys,
|
|
@@ -12038,13 +12027,13 @@ class Main extends React$1.Component {
|
|
|
12038
12027
|
__self: this,
|
|
12039
12028
|
__source: {
|
|
12040
12029
|
fileName: _jsxFileName,
|
|
12041
|
-
lineNumber:
|
|
12030
|
+
lineNumber: 495
|
|
12042
12031
|
}
|
|
12043
12032
|
})) || null),
|
|
12044
12033
|
__self: this,
|
|
12045
12034
|
__source: {
|
|
12046
12035
|
fileName: _jsxFileName,
|
|
12047
|
-
lineNumber:
|
|
12036
|
+
lineNumber: 475
|
|
12048
12037
|
}
|
|
12049
12038
|
}, React$1.createElement(mq.Static, {
|
|
12050
12039
|
className: classes.static,
|
|
@@ -12058,7 +12047,7 @@ class Main extends React$1.Component {
|
|
|
12058
12047
|
__self: this,
|
|
12059
12048
|
__source: {
|
|
12060
12049
|
fileName: _jsxFileName,
|
|
12061
|
-
lineNumber:
|
|
12050
|
+
lineNumber: 505
|
|
12062
12051
|
}
|
|
12063
12052
|
}))))), viewMode && displayNote && React$1.createElement('div', {
|
|
12064
12053
|
className: classes.note,
|
|
@@ -12068,7 +12057,7 @@ class Main extends React$1.Component {
|
|
|
12068
12057
|
__self: this,
|
|
12069
12058
|
__source: {
|
|
12070
12059
|
fileName: _jsxFileName,
|
|
12071
|
-
lineNumber:
|
|
12060
|
+
lineNumber: 523
|
|
12072
12061
|
}
|
|
12073
12062
|
}), viewMode && rationale && hasText(rationale) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
12074
12063
|
labels: {
|
|
@@ -12078,7 +12067,7 @@ class Main extends React$1.Component {
|
|
|
12078
12067
|
__self: this,
|
|
12079
12068
|
__source: {
|
|
12080
12069
|
fileName: _jsxFileName,
|
|
12081
|
-
lineNumber:
|
|
12070
|
+
lineNumber: 530
|
|
12082
12071
|
}
|
|
12083
12072
|
}, React$1.createElement('div', {
|
|
12084
12073
|
dangerouslySetInnerHTML: {
|
|
@@ -12087,7 +12076,7 @@ class Main extends React$1.Component {
|
|
|
12087
12076
|
__self: this,
|
|
12088
12077
|
__source: {
|
|
12089
12078
|
fileName: _jsxFileName,
|
|
12090
|
-
lineNumber:
|
|
12079
|
+
lineNumber: 531
|
|
12091
12080
|
}
|
|
12092
12081
|
})) : React$1.createElement('div', {
|
|
12093
12082
|
dangerouslySetInnerHTML: {
|
|
@@ -12096,7 +12085,7 @@ class Main extends React$1.Component {
|
|
|
12096
12085
|
__self: this,
|
|
12097
12086
|
__source: {
|
|
12098
12087
|
fileName: _jsxFileName,
|
|
12099
|
-
lineNumber:
|
|
12088
|
+
lineNumber: 534
|
|
12100
12089
|
}
|
|
12101
12090
|
})));
|
|
12102
12091
|
if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && hasText(teacherInstructions) || rationale && hasText(rationale) || feedback)) {
|
|
@@ -12110,14 +12099,14 @@ class Main extends React$1.Component {
|
|
|
12110
12099
|
__self: this,
|
|
12111
12100
|
__source: {
|
|
12112
12101
|
fileName: _jsxFileName,
|
|
12113
|
-
lineNumber:
|
|
12102
|
+
lineNumber: 554
|
|
12114
12103
|
}
|
|
12115
12104
|
}, React$1.createElement('div', {
|
|
12116
12105
|
className: classes.main,
|
|
12117
12106
|
__self: this,
|
|
12118
12107
|
__source: {
|
|
12119
12108
|
fileName: _jsxFileName,
|
|
12120
|
-
lineNumber:
|
|
12109
|
+
lineNumber: 555
|
|
12121
12110
|
}
|
|
12122
12111
|
}, showCorrectAnswerToggle && React$1.createElement(CorrectAnswerToggle, {
|
|
12123
12112
|
language: language,
|
|
@@ -12128,7 +12117,7 @@ class Main extends React$1.Component {
|
|
|
12128
12117
|
__self: this,
|
|
12129
12118
|
__source: {
|
|
12130
12119
|
fileName: _jsxFileName,
|
|
12131
|
-
lineNumber:
|
|
12120
|
+
lineNumber: 557
|
|
12132
12121
|
}
|
|
12133
12122
|
})), teacherInstructions && hasText(teacherInstructions) && React$1.createElement(Collapsible, {
|
|
12134
12123
|
className: classes.collapsible,
|
|
@@ -12140,14 +12129,14 @@ class Main extends React$1.Component {
|
|
|
12140
12129
|
__self: this,
|
|
12141
12130
|
__source: {
|
|
12142
12131
|
fileName: _jsxFileName,
|
|
12143
|
-
lineNumber:
|
|
12132
|
+
lineNumber: 568
|
|
12144
12133
|
}
|
|
12145
12134
|
}, React$1.createElement(PreviewPrompt, {
|
|
12146
12135
|
prompt: teacherInstructions,
|
|
12147
12136
|
__self: this,
|
|
12148
12137
|
__source: {
|
|
12149
12138
|
fileName: _jsxFileName,
|
|
12150
|
-
lineNumber:
|
|
12139
|
+
lineNumber: 576
|
|
12151
12140
|
}
|
|
12152
12141
|
})), displayNote && hasText(note) && React$1.createElement(Collapsible, {
|
|
12153
12142
|
className: classes.collapsible,
|
|
@@ -12163,14 +12152,14 @@ class Main extends React$1.Component {
|
|
|
12163
12152
|
__self: this,
|
|
12164
12153
|
__source: {
|
|
12165
12154
|
fileName: _jsxFileName,
|
|
12166
|
-
lineNumber:
|
|
12155
|
+
lineNumber: 580
|
|
12167
12156
|
}
|
|
12168
12157
|
}, React$1.createElement(PreviewPrompt, {
|
|
12169
12158
|
prompt: note,
|
|
12170
12159
|
__self: this,
|
|
12171
12160
|
__source: {
|
|
12172
12161
|
fileName: _jsxFileName,
|
|
12173
|
-
lineNumber:
|
|
12162
|
+
lineNumber: 588
|
|
12174
12163
|
}
|
|
12175
12164
|
})), rationale && hasText(rationale) && React$1.createElement(Collapsible, {
|
|
12176
12165
|
className: classes.collapsible,
|
|
@@ -12182,14 +12171,14 @@ class Main extends React$1.Component {
|
|
|
12182
12171
|
__self: this,
|
|
12183
12172
|
__source: {
|
|
12184
12173
|
fileName: _jsxFileName,
|
|
12185
|
-
lineNumber:
|
|
12174
|
+
lineNumber: 593
|
|
12186
12175
|
}
|
|
12187
12176
|
}, React$1.createElement(PreviewPrompt, {
|
|
12188
12177
|
prompt: rationale,
|
|
12189
12178
|
__self: this,
|
|
12190
12179
|
__source: {
|
|
12191
12180
|
fileName: _jsxFileName,
|
|
12192
|
-
lineNumber:
|
|
12181
|
+
lineNumber: 601
|
|
12193
12182
|
}
|
|
12194
12183
|
})), feedback && React$1.createElement(Feedback, {
|
|
12195
12184
|
correctness: correctness.correctness,
|
|
@@ -12197,13 +12186,13 @@ class Main extends React$1.Component {
|
|
|
12197
12186
|
__self: this,
|
|
12198
12187
|
__source: {
|
|
12199
12188
|
fileName: _jsxFileName,
|
|
12200
|
-
lineNumber:
|
|
12189
|
+
lineNumber: 605
|
|
12201
12190
|
}
|
|
12202
12191
|
})),
|
|
12203
12192
|
__self: this,
|
|
12204
12193
|
__source: {
|
|
12205
12194
|
fileName: _jsxFileName,
|
|
12206
|
-
lineNumber:
|
|
12195
|
+
lineNumber: 547
|
|
12207
12196
|
}
|
|
12208
12197
|
}, React$1.createElement('div', {
|
|
12209
12198
|
className: classes.mainContainer,
|
|
@@ -12211,7 +12200,7 @@ class Main extends React$1.Component {
|
|
|
12211
12200
|
__self: this,
|
|
12212
12201
|
__source: {
|
|
12213
12202
|
fileName: _jsxFileName,
|
|
12214
|
-
lineNumber:
|
|
12203
|
+
lineNumber: 609
|
|
12215
12204
|
}
|
|
12216
12205
|
}, midContent));
|
|
12217
12206
|
}
|
|
@@ -12221,7 +12210,7 @@ class Main extends React$1.Component {
|
|
|
12221
12210
|
__self: this,
|
|
12222
12211
|
__source: {
|
|
12223
12212
|
fileName: _jsxFileName,
|
|
12224
|
-
lineNumber:
|
|
12213
|
+
lineNumber: 617
|
|
12225
12214
|
}
|
|
12226
12215
|
}, midContent);
|
|
12227
12216
|
}
|
package/module/print.js
CHANGED
|
@@ -11611,7 +11611,6 @@ class Main extends React$1.Component {
|
|
|
11611
11611
|
Main.prototype.__init10.call(this);
|
|
11612
11612
|
Main.prototype.__init11.call(this);
|
|
11613
11613
|
Main.prototype.__init12.call(this);
|
|
11614
|
-
Main.prototype.__init13.call(this);
|
|
11615
11614
|
const answers = {};
|
|
11616
11615
|
if (props.model.config && props.model.config.expression) {
|
|
11617
11616
|
let answerBlocks = 1;
|
|
@@ -11677,6 +11676,9 @@ class Main extends React$1.Component {
|
|
|
11677
11676
|
renderMath$1(this.root);
|
|
11678
11677
|
};
|
|
11679
11678
|
}
|
|
11679
|
+
componentDidUpdate() {
|
|
11680
|
+
this.handleAnswerBlockDomUpdate();
|
|
11681
|
+
}
|
|
11680
11682
|
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
11681
11683
|
const {config} = this.props.model;
|
|
11682
11684
|
const {config: nextConfig = {}} = nextProps.model || ({});
|
|
@@ -11724,25 +11726,12 @@ class Main extends React$1.Component {
|
|
|
11724
11726
|
}
|
|
11725
11727
|
componentDidMount() {
|
|
11726
11728
|
this.handleAnswerBlockDomUpdate();
|
|
11727
|
-
this.updateAriaHidden();
|
|
11728
11729
|
setTimeout(() => renderMath$1(this.root), 100);
|
|
11729
11730
|
}
|
|
11730
|
-
componentDidUpdate() {
|
|
11731
|
-
this.handleAnswerBlockDomUpdate();
|
|
11732
|
-
this.updateAriaHidden();
|
|
11733
|
-
}
|
|
11734
11731
|
__init2() {
|
|
11735
|
-
this.updateAriaHidden = () => {
|
|
11736
|
-
if (this.root) {
|
|
11737
|
-
const selectableElements = this.root.querySelectorAll('.mq-selectable');
|
|
11738
|
-
(selectableElements || []).forEach(elem => elem.setAttribute('aria-hidden', 'true'));
|
|
11739
|
-
}
|
|
11740
|
-
};
|
|
11741
|
-
}
|
|
11742
|
-
__init3() {
|
|
11743
11732
|
this.onDone = () => {};
|
|
11744
11733
|
}
|
|
11745
|
-
|
|
11734
|
+
__init3() {
|
|
11746
11735
|
this.onSimpleResponseChange = response => {
|
|
11747
11736
|
this.setState(state => ({
|
|
11748
11737
|
session: {
|
|
@@ -11752,14 +11741,14 @@ class Main extends React$1.Component {
|
|
|
11752
11741
|
}), this.callOnSessionChange);
|
|
11753
11742
|
};
|
|
11754
11743
|
}
|
|
11755
|
-
|
|
11744
|
+
__init4() {
|
|
11756
11745
|
this.onSubFieldFocus = id => {
|
|
11757
11746
|
this.setState({
|
|
11758
11747
|
activeAnswerBlock: id
|
|
11759
11748
|
});
|
|
11760
11749
|
};
|
|
11761
11750
|
}
|
|
11762
|
-
|
|
11751
|
+
__init5() {
|
|
11763
11752
|
this.toNodeData = data => {
|
|
11764
11753
|
if (!data) {
|
|
11765
11754
|
return;
|
|
@@ -11784,12 +11773,12 @@ class Main extends React$1.Component {
|
|
|
11784
11773
|
}
|
|
11785
11774
|
};
|
|
11786
11775
|
}
|
|
11787
|
-
|
|
11776
|
+
__init6() {
|
|
11788
11777
|
this.setInput = input => {
|
|
11789
11778
|
this.input = input;
|
|
11790
11779
|
};
|
|
11791
11780
|
}
|
|
11792
|
-
|
|
11781
|
+
__init7() {
|
|
11793
11782
|
this.onClick = data => {
|
|
11794
11783
|
const c = this.toNodeData(data);
|
|
11795
11784
|
if (c.type === 'clear') {
|
|
@@ -11810,7 +11799,7 @@ class Main extends React$1.Component {
|
|
|
11810
11799
|
this.input.focus();
|
|
11811
11800
|
};
|
|
11812
11801
|
}
|
|
11813
|
-
|
|
11802
|
+
__init8() {
|
|
11814
11803
|
this.callOnSessionChange = () => {
|
|
11815
11804
|
const {onSessionChange} = this.props;
|
|
11816
11805
|
if (onSessionChange) {
|
|
@@ -11818,14 +11807,14 @@ class Main extends React$1.Component {
|
|
|
11818
11807
|
}
|
|
11819
11808
|
};
|
|
11820
11809
|
}
|
|
11821
|
-
|
|
11810
|
+
__init9() {
|
|
11822
11811
|
this.toggleShowCorrect = show => {
|
|
11823
11812
|
this.setState({
|
|
11824
11813
|
showCorrect: show
|
|
11825
11814
|
}, this.handleAnswerBlockDomUpdate);
|
|
11826
11815
|
};
|
|
11827
11816
|
}
|
|
11828
|
-
|
|
11817
|
+
__init10() {
|
|
11829
11818
|
this.subFieldChanged = (name, subfieldValue) => {
|
|
11830
11819
|
updateSpans();
|
|
11831
11820
|
if (name) {
|
|
@@ -11844,7 +11833,7 @@ class Main extends React$1.Component {
|
|
|
11844
11833
|
}
|
|
11845
11834
|
};
|
|
11846
11835
|
}
|
|
11847
|
-
|
|
11836
|
+
__init11() {
|
|
11848
11837
|
this.getFieldName = (changeField, fields) => {
|
|
11849
11838
|
const {answers} = this.state.session;
|
|
11850
11839
|
if (Object.keys(answers || ({})).length) {
|
|
@@ -11856,7 +11845,7 @@ class Main extends React$1.Component {
|
|
|
11856
11845
|
}
|
|
11857
11846
|
};
|
|
11858
11847
|
}
|
|
11859
|
-
|
|
11848
|
+
__init12() {
|
|
11860
11849
|
this.onBlur = e => {
|
|
11861
11850
|
const {relatedTarget, currentTarget} = e || ({});
|
|
11862
11851
|
if (!relatedTarget || !currentTarget || !IS_SAFARI && !_optionalChain([relatedTarget, 'optionalAccess', _13 => _13.offsetParent, 'optionalAccess', _14 => _14.children, 'access', _15 => _15[0], 'optionalAccess', _16 => _16.attributes, 'optionalAccess', _17 => _17['data-keypad']]) || IS_SAFARI && !_optionalChain([relatedTarget, 'optionalAccess', _18 => _18.offsetParent, 'optionalAccess', _19 => _19.children, 'access', _20 => _20[0], 'optionalAccess', _21 => _21.children, 'access', _22 => _22[0], 'optionalAccess', _23 => _23.attributes, 'optionalAccess', _24 => _24['data-keypad']])) {
|
|
@@ -11869,7 +11858,7 @@ class Main extends React$1.Component {
|
|
|
11869
11858
|
setTooltipRef(ref) {
|
|
11870
11859
|
setTimeout(() => {
|
|
11871
11860
|
if (ref && IS_SAFARI) {
|
|
11872
|
-
const div = document.querySelector(
|
|
11861
|
+
const div = document.querySelector('[role=\'tooltip\']');
|
|
11873
11862
|
if (div) {
|
|
11874
11863
|
const el = div.firstChild;
|
|
11875
11864
|
el.setAttribute('tabindex', '-1');
|
|
@@ -11899,7 +11888,7 @@ class Main extends React$1.Component {
|
|
|
11899
11888
|
__self: this,
|
|
11900
11889
|
__source: {
|
|
11901
11890
|
fileName: _jsxFileName,
|
|
11902
|
-
lineNumber:
|
|
11891
|
+
lineNumber: 412
|
|
11903
11892
|
}
|
|
11904
11893
|
}, React$1.createElement(mq.Static, {
|
|
11905
11894
|
className: classes.static,
|
|
@@ -11913,7 +11902,7 @@ class Main extends React$1.Component {
|
|
|
11913
11902
|
__self: this,
|
|
11914
11903
|
__source: {
|
|
11915
11904
|
fileName: _jsxFileName,
|
|
11916
|
-
lineNumber:
|
|
11905
|
+
lineNumber: 413
|
|
11917
11906
|
}
|
|
11918
11907
|
}));
|
|
11919
11908
|
const midContent = React$1.createElement('div', {
|
|
@@ -11921,14 +11910,14 @@ class Main extends React$1.Component {
|
|
|
11921
11910
|
__self: this,
|
|
11922
11911
|
__source: {
|
|
11923
11912
|
fileName: _jsxFileName,
|
|
11924
|
-
lineNumber:
|
|
11913
|
+
lineNumber: 427
|
|
11925
11914
|
}
|
|
11926
11915
|
}, mode === 'gather' && React$1.createElement('h2', {
|
|
11927
11916
|
className: classes.srOnly,
|
|
11928
11917
|
__self: this,
|
|
11929
11918
|
__source: {
|
|
11930
11919
|
fileName: _jsxFileName,
|
|
11931
|
-
lineNumber:
|
|
11920
|
+
lineNumber: 428
|
|
11932
11921
|
}
|
|
11933
11922
|
}, "Math Equation Response Question"), viewMode && teacherInstructions && hasText(teacherInstructions) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
11934
11923
|
className: classes.collapsible,
|
|
@@ -11939,7 +11928,7 @@ class Main extends React$1.Component {
|
|
|
11939
11928
|
__self: this,
|
|
11940
11929
|
__source: {
|
|
11941
11930
|
fileName: _jsxFileName,
|
|
11942
|
-
lineNumber:
|
|
11931
|
+
lineNumber: 434
|
|
11943
11932
|
}
|
|
11944
11933
|
}, React$1.createElement('div', {
|
|
11945
11934
|
dangerouslySetInnerHTML: {
|
|
@@ -11948,7 +11937,7 @@ class Main extends React$1.Component {
|
|
|
11948
11937
|
__self: this,
|
|
11949
11938
|
__source: {
|
|
11950
11939
|
fileName: _jsxFileName,
|
|
11951
|
-
lineNumber:
|
|
11940
|
+
lineNumber: 438
|
|
11952
11941
|
}
|
|
11953
11942
|
})) : React$1.createElement('div', {
|
|
11954
11943
|
dangerouslySetInnerHTML: {
|
|
@@ -11957,35 +11946,35 @@ class Main extends React$1.Component {
|
|
|
11957
11946
|
__self: this,
|
|
11958
11947
|
__source: {
|
|
11959
11948
|
fileName: _jsxFileName,
|
|
11960
|
-
lineNumber:
|
|
11949
|
+
lineNumber: 441
|
|
11961
11950
|
}
|
|
11962
11951
|
})), prompt && React$1.createElement('div', {
|
|
11963
11952
|
className: classes.content,
|
|
11964
11953
|
__self: this,
|
|
11965
11954
|
__source: {
|
|
11966
11955
|
fileName: _jsxFileName,
|
|
11967
|
-
lineNumber:
|
|
11956
|
+
lineNumber: 445
|
|
11968
11957
|
}
|
|
11969
11958
|
}, React$1.createElement(PreviewPrompt, {
|
|
11970
11959
|
prompt: prompt,
|
|
11971
11960
|
__self: this,
|
|
11972
11961
|
__source: {
|
|
11973
11962
|
fileName: _jsxFileName,
|
|
11974
|
-
lineNumber:
|
|
11963
|
+
lineNumber: 446
|
|
11975
11964
|
}
|
|
11976
11965
|
})), studentPrintMode ? printView : React$1.createElement(Readable, {
|
|
11977
11966
|
false: true,
|
|
11978
11967
|
__self: this,
|
|
11979
11968
|
__source: {
|
|
11980
11969
|
fileName: _jsxFileName,
|
|
11981
|
-
lineNumber:
|
|
11970
|
+
lineNumber: 453
|
|
11982
11971
|
}
|
|
11983
11972
|
}, React$1.createElement('div', {
|
|
11984
11973
|
className: classes.inputAndKeypadContainer,
|
|
11985
11974
|
__self: this,
|
|
11986
11975
|
__source: {
|
|
11987
11976
|
fileName: _jsxFileName,
|
|
11988
|
-
lineNumber:
|
|
11977
|
+
lineNumber: 454
|
|
11989
11978
|
}
|
|
11990
11979
|
}, responseType === ResponseTypes.simple && React$1.createElement(SimpleQuestionBlock, {
|
|
11991
11980
|
onSimpleResponseChange: this.onSimpleResponseChange,
|
|
@@ -11996,7 +11985,7 @@ class Main extends React$1.Component {
|
|
|
11996
11985
|
__self: this,
|
|
11997
11986
|
__source: {
|
|
11998
11987
|
fileName: _jsxFileName,
|
|
11999
|
-
lineNumber:
|
|
11988
|
+
lineNumber: 456
|
|
12000
11989
|
}
|
|
12001
11990
|
}), responseType === ResponseTypes.advanced && React$1.createElement('div', {
|
|
12002
11991
|
className: cx(classes.expression, {
|
|
@@ -12009,7 +11998,7 @@ class Main extends React$1.Component {
|
|
|
12009
11998
|
__self: this,
|
|
12010
11999
|
__source: {
|
|
12011
12000
|
fileName: _jsxFileName,
|
|
12012
|
-
lineNumber:
|
|
12001
|
+
lineNumber: 466
|
|
12013
12002
|
}
|
|
12014
12003
|
}, React$1.createElement(Tooltip, {
|
|
12015
12004
|
ref: ref => this.setTooltipRef(ref),
|
|
@@ -12029,7 +12018,7 @@ class Main extends React$1.Component {
|
|
|
12029
12018
|
__self: this,
|
|
12030
12019
|
__source: {
|
|
12031
12020
|
fileName: _jsxFileName,
|
|
12032
|
-
lineNumber:
|
|
12021
|
+
lineNumber: 486
|
|
12033
12022
|
}
|
|
12034
12023
|
}, React$1.createElement(HorizontalKeypad, {
|
|
12035
12024
|
additionalKeys: additionalKeys,
|
|
@@ -12038,13 +12027,13 @@ class Main extends React$1.Component {
|
|
|
12038
12027
|
__self: this,
|
|
12039
12028
|
__source: {
|
|
12040
12029
|
fileName: _jsxFileName,
|
|
12041
|
-
lineNumber:
|
|
12030
|
+
lineNumber: 495
|
|
12042
12031
|
}
|
|
12043
12032
|
})) || null),
|
|
12044
12033
|
__self: this,
|
|
12045
12034
|
__source: {
|
|
12046
12035
|
fileName: _jsxFileName,
|
|
12047
|
-
lineNumber:
|
|
12036
|
+
lineNumber: 475
|
|
12048
12037
|
}
|
|
12049
12038
|
}, React$1.createElement(mq.Static, {
|
|
12050
12039
|
className: classes.static,
|
|
@@ -12058,7 +12047,7 @@ class Main extends React$1.Component {
|
|
|
12058
12047
|
__self: this,
|
|
12059
12048
|
__source: {
|
|
12060
12049
|
fileName: _jsxFileName,
|
|
12061
|
-
lineNumber:
|
|
12050
|
+
lineNumber: 505
|
|
12062
12051
|
}
|
|
12063
12052
|
}))))), viewMode && displayNote && React$1.createElement('div', {
|
|
12064
12053
|
className: classes.note,
|
|
@@ -12068,7 +12057,7 @@ class Main extends React$1.Component {
|
|
|
12068
12057
|
__self: this,
|
|
12069
12058
|
__source: {
|
|
12070
12059
|
fileName: _jsxFileName,
|
|
12071
|
-
lineNumber:
|
|
12060
|
+
lineNumber: 523
|
|
12072
12061
|
}
|
|
12073
12062
|
}), viewMode && rationale && hasText(rationale) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
12074
12063
|
labels: {
|
|
@@ -12078,7 +12067,7 @@ class Main extends React$1.Component {
|
|
|
12078
12067
|
__self: this,
|
|
12079
12068
|
__source: {
|
|
12080
12069
|
fileName: _jsxFileName,
|
|
12081
|
-
lineNumber:
|
|
12070
|
+
lineNumber: 530
|
|
12082
12071
|
}
|
|
12083
12072
|
}, React$1.createElement('div', {
|
|
12084
12073
|
dangerouslySetInnerHTML: {
|
|
@@ -12087,7 +12076,7 @@ class Main extends React$1.Component {
|
|
|
12087
12076
|
__self: this,
|
|
12088
12077
|
__source: {
|
|
12089
12078
|
fileName: _jsxFileName,
|
|
12090
|
-
lineNumber:
|
|
12079
|
+
lineNumber: 531
|
|
12091
12080
|
}
|
|
12092
12081
|
})) : React$1.createElement('div', {
|
|
12093
12082
|
dangerouslySetInnerHTML: {
|
|
@@ -12096,7 +12085,7 @@ class Main extends React$1.Component {
|
|
|
12096
12085
|
__self: this,
|
|
12097
12086
|
__source: {
|
|
12098
12087
|
fileName: _jsxFileName,
|
|
12099
|
-
lineNumber:
|
|
12088
|
+
lineNumber: 534
|
|
12100
12089
|
}
|
|
12101
12090
|
})));
|
|
12102
12091
|
if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && hasText(teacherInstructions) || rationale && hasText(rationale) || feedback)) {
|
|
@@ -12110,14 +12099,14 @@ class Main extends React$1.Component {
|
|
|
12110
12099
|
__self: this,
|
|
12111
12100
|
__source: {
|
|
12112
12101
|
fileName: _jsxFileName,
|
|
12113
|
-
lineNumber:
|
|
12102
|
+
lineNumber: 554
|
|
12114
12103
|
}
|
|
12115
12104
|
}, React$1.createElement('div', {
|
|
12116
12105
|
className: classes.main,
|
|
12117
12106
|
__self: this,
|
|
12118
12107
|
__source: {
|
|
12119
12108
|
fileName: _jsxFileName,
|
|
12120
|
-
lineNumber:
|
|
12109
|
+
lineNumber: 555
|
|
12121
12110
|
}
|
|
12122
12111
|
}, showCorrectAnswerToggle && React$1.createElement(CorrectAnswerToggle, {
|
|
12123
12112
|
language: language,
|
|
@@ -12128,7 +12117,7 @@ class Main extends React$1.Component {
|
|
|
12128
12117
|
__self: this,
|
|
12129
12118
|
__source: {
|
|
12130
12119
|
fileName: _jsxFileName,
|
|
12131
|
-
lineNumber:
|
|
12120
|
+
lineNumber: 557
|
|
12132
12121
|
}
|
|
12133
12122
|
})), teacherInstructions && hasText(teacherInstructions) && React$1.createElement(Collapsible, {
|
|
12134
12123
|
className: classes.collapsible,
|
|
@@ -12140,14 +12129,14 @@ class Main extends React$1.Component {
|
|
|
12140
12129
|
__self: this,
|
|
12141
12130
|
__source: {
|
|
12142
12131
|
fileName: _jsxFileName,
|
|
12143
|
-
lineNumber:
|
|
12132
|
+
lineNumber: 568
|
|
12144
12133
|
}
|
|
12145
12134
|
}, React$1.createElement(PreviewPrompt, {
|
|
12146
12135
|
prompt: teacherInstructions,
|
|
12147
12136
|
__self: this,
|
|
12148
12137
|
__source: {
|
|
12149
12138
|
fileName: _jsxFileName,
|
|
12150
|
-
lineNumber:
|
|
12139
|
+
lineNumber: 576
|
|
12151
12140
|
}
|
|
12152
12141
|
})), displayNote && hasText(note) && React$1.createElement(Collapsible, {
|
|
12153
12142
|
className: classes.collapsible,
|
|
@@ -12163,14 +12152,14 @@ class Main extends React$1.Component {
|
|
|
12163
12152
|
__self: this,
|
|
12164
12153
|
__source: {
|
|
12165
12154
|
fileName: _jsxFileName,
|
|
12166
|
-
lineNumber:
|
|
12155
|
+
lineNumber: 580
|
|
12167
12156
|
}
|
|
12168
12157
|
}, React$1.createElement(PreviewPrompt, {
|
|
12169
12158
|
prompt: note,
|
|
12170
12159
|
__self: this,
|
|
12171
12160
|
__source: {
|
|
12172
12161
|
fileName: _jsxFileName,
|
|
12173
|
-
lineNumber:
|
|
12162
|
+
lineNumber: 588
|
|
12174
12163
|
}
|
|
12175
12164
|
})), rationale && hasText(rationale) && React$1.createElement(Collapsible, {
|
|
12176
12165
|
className: classes.collapsible,
|
|
@@ -12182,14 +12171,14 @@ class Main extends React$1.Component {
|
|
|
12182
12171
|
__self: this,
|
|
12183
12172
|
__source: {
|
|
12184
12173
|
fileName: _jsxFileName,
|
|
12185
|
-
lineNumber:
|
|
12174
|
+
lineNumber: 593
|
|
12186
12175
|
}
|
|
12187
12176
|
}, React$1.createElement(PreviewPrompt, {
|
|
12188
12177
|
prompt: rationale,
|
|
12189
12178
|
__self: this,
|
|
12190
12179
|
__source: {
|
|
12191
12180
|
fileName: _jsxFileName,
|
|
12192
|
-
lineNumber:
|
|
12181
|
+
lineNumber: 601
|
|
12193
12182
|
}
|
|
12194
12183
|
})), feedback && React$1.createElement(Feedback, {
|
|
12195
12184
|
correctness: correctness.correctness,
|
|
@@ -12197,13 +12186,13 @@ class Main extends React$1.Component {
|
|
|
12197
12186
|
__self: this,
|
|
12198
12187
|
__source: {
|
|
12199
12188
|
fileName: _jsxFileName,
|
|
12200
|
-
lineNumber:
|
|
12189
|
+
lineNumber: 605
|
|
12201
12190
|
}
|
|
12202
12191
|
})),
|
|
12203
12192
|
__self: this,
|
|
12204
12193
|
__source: {
|
|
12205
12194
|
fileName: _jsxFileName,
|
|
12206
|
-
lineNumber:
|
|
12195
|
+
lineNumber: 547
|
|
12207
12196
|
}
|
|
12208
12197
|
}, React$1.createElement('div', {
|
|
12209
12198
|
className: classes.mainContainer,
|
|
@@ -12211,7 +12200,7 @@ class Main extends React$1.Component {
|
|
|
12211
12200
|
__self: this,
|
|
12212
12201
|
__source: {
|
|
12213
12202
|
fileName: _jsxFileName,
|
|
12214
|
-
lineNumber:
|
|
12203
|
+
lineNumber: 609
|
|
12215
12204
|
}
|
|
12216
12205
|
}, midContent));
|
|
12217
12206
|
}
|
|
@@ -12221,7 +12210,7 @@ class Main extends React$1.Component {
|
|
|
12221
12210
|
__self: this,
|
|
12222
12211
|
__source: {
|
|
12223
12212
|
fileName: _jsxFileName,
|
|
12224
|
-
lineNumber:
|
|
12213
|
+
lineNumber: 617
|
|
12225
12214
|
}
|
|
12226
12215
|
}, midContent);
|
|
12227
12216
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "7.4.1-next.
|
|
7
|
+
"version": "7.4.1-next.5+5d4f0b3fc",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"description": "",
|
|
10
10
|
"scripts": {
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"author": "",
|
|
27
27
|
"license": "ISC",
|
|
28
|
-
"gitHead": "
|
|
28
|
+
"gitHead": "5d4f0b3fc4aef3f303cdf3df051a78b8ae8e203c",
|
|
29
29
|
"module": "src/index.js",
|
|
30
30
|
"exports": {
|
|
31
31
|
".": "./src/index.js",
|