@pie-element/math-inline 7.4.1-next.12 → 7.4.1-next.15
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 +17 -6
- package/lib/main.js.map +1 -1
- package/module/element.js +59 -48
- package/module/print.js +59 -48
- package/package.json +2 -2
package/lib/main.js
CHANGED
|
@@ -175,6 +175,15 @@ 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
|
+
});
|
|
178
187
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDone", function () {});
|
|
179
188
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onSimpleResponseChange", function (response) {
|
|
180
189
|
_this.setState(function (state) {
|
|
@@ -339,11 +348,6 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
339
348
|
}
|
|
340
349
|
}
|
|
341
350
|
}
|
|
342
|
-
}, {
|
|
343
|
-
key: "componentDidUpdate",
|
|
344
|
-
value: function componentDidUpdate() {
|
|
345
|
-
this.handleAnswerBlockDomUpdate();
|
|
346
|
-
}
|
|
347
351
|
}, {
|
|
348
352
|
key: "UNSAFE_componentWillReceiveProps",
|
|
349
353
|
value: function UNSAFE_componentWillReceiveProps(nextProps) {
|
|
@@ -413,17 +417,24 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
413
417
|
var _this3 = this;
|
|
414
418
|
|
|
415
419
|
this.handleAnswerBlockDomUpdate();
|
|
420
|
+
this.updateAriaHidden();
|
|
416
421
|
setTimeout(function () {
|
|
417
422
|
return (0, _mathRendering.renderMath)(_this3.root);
|
|
418
423
|
}, 100);
|
|
419
424
|
}
|
|
425
|
+
}, {
|
|
426
|
+
key: "componentDidUpdate",
|
|
427
|
+
value: function componentDidUpdate() {
|
|
428
|
+
this.handleAnswerBlockDomUpdate();
|
|
429
|
+
this.updateAriaHidden();
|
|
430
|
+
}
|
|
420
431
|
}, {
|
|
421
432
|
key: "setTooltipRef",
|
|
422
433
|
value: function setTooltipRef(ref) {
|
|
423
434
|
// Safari Hack: https://stackoverflow.com/a/42764495/5757635
|
|
424
435
|
setTimeout(function () {
|
|
425
436
|
if (ref && IS_SAFARI) {
|
|
426
|
-
var div = document.querySelector(
|
|
437
|
+
var div = document.querySelector("[role='tooltip']");
|
|
427
438
|
|
|
428
439
|
if (div) {
|
|
429
440
|
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","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"}
|
|
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"}
|
package/module/element.js
CHANGED
|
@@ -11611,6 +11611,7 @@ 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);
|
|
11614
11615
|
const answers = {};
|
|
11615
11616
|
if (props.model.config && props.model.config.expression) {
|
|
11616
11617
|
let answerBlocks = 1;
|
|
@@ -11676,9 +11677,6 @@ class Main extends React$1.Component {
|
|
|
11676
11677
|
renderMath(this.root);
|
|
11677
11678
|
};
|
|
11678
11679
|
}
|
|
11679
|
-
componentDidUpdate() {
|
|
11680
|
-
this.handleAnswerBlockDomUpdate();
|
|
11681
|
-
}
|
|
11682
11680
|
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
11683
11681
|
const {config} = this.props.model;
|
|
11684
11682
|
const {config: nextConfig = {}} = nextProps.model || ({});
|
|
@@ -11726,12 +11724,25 @@ class Main extends React$1.Component {
|
|
|
11726
11724
|
}
|
|
11727
11725
|
componentDidMount() {
|
|
11728
11726
|
this.handleAnswerBlockDomUpdate();
|
|
11727
|
+
this.updateAriaHidden();
|
|
11729
11728
|
setTimeout(() => renderMath(this.root), 100);
|
|
11730
11729
|
}
|
|
11730
|
+
componentDidUpdate() {
|
|
11731
|
+
this.handleAnswerBlockDomUpdate();
|
|
11732
|
+
this.updateAriaHidden();
|
|
11733
|
+
}
|
|
11731
11734
|
__init2() {
|
|
11732
|
-
this.
|
|
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
|
+
};
|
|
11733
11741
|
}
|
|
11734
11742
|
__init3() {
|
|
11743
|
+
this.onDone = () => {};
|
|
11744
|
+
}
|
|
11745
|
+
__init4() {
|
|
11735
11746
|
this.onSimpleResponseChange = response => {
|
|
11736
11747
|
this.setState(state => ({
|
|
11737
11748
|
session: {
|
|
@@ -11741,14 +11752,14 @@ class Main extends React$1.Component {
|
|
|
11741
11752
|
}), this.callOnSessionChange);
|
|
11742
11753
|
};
|
|
11743
11754
|
}
|
|
11744
|
-
|
|
11755
|
+
__init5() {
|
|
11745
11756
|
this.onSubFieldFocus = id => {
|
|
11746
11757
|
this.setState({
|
|
11747
11758
|
activeAnswerBlock: id
|
|
11748
11759
|
});
|
|
11749
11760
|
};
|
|
11750
11761
|
}
|
|
11751
|
-
|
|
11762
|
+
__init6() {
|
|
11752
11763
|
this.toNodeData = data => {
|
|
11753
11764
|
if (!data) {
|
|
11754
11765
|
return;
|
|
@@ -11773,12 +11784,12 @@ class Main extends React$1.Component {
|
|
|
11773
11784
|
}
|
|
11774
11785
|
};
|
|
11775
11786
|
}
|
|
11776
|
-
|
|
11787
|
+
__init7() {
|
|
11777
11788
|
this.setInput = input => {
|
|
11778
11789
|
this.input = input;
|
|
11779
11790
|
};
|
|
11780
11791
|
}
|
|
11781
|
-
|
|
11792
|
+
__init8() {
|
|
11782
11793
|
this.onClick = data => {
|
|
11783
11794
|
const c = this.toNodeData(data);
|
|
11784
11795
|
if (c.type === 'clear') {
|
|
@@ -11799,7 +11810,7 @@ class Main extends React$1.Component {
|
|
|
11799
11810
|
this.input.focus();
|
|
11800
11811
|
};
|
|
11801
11812
|
}
|
|
11802
|
-
|
|
11813
|
+
__init9() {
|
|
11803
11814
|
this.callOnSessionChange = () => {
|
|
11804
11815
|
const {onSessionChange} = this.props;
|
|
11805
11816
|
if (onSessionChange) {
|
|
@@ -11807,14 +11818,14 @@ class Main extends React$1.Component {
|
|
|
11807
11818
|
}
|
|
11808
11819
|
};
|
|
11809
11820
|
}
|
|
11810
|
-
|
|
11821
|
+
__init10() {
|
|
11811
11822
|
this.toggleShowCorrect = show => {
|
|
11812
11823
|
this.setState({
|
|
11813
11824
|
showCorrect: show
|
|
11814
11825
|
}, this.handleAnswerBlockDomUpdate);
|
|
11815
11826
|
};
|
|
11816
11827
|
}
|
|
11817
|
-
|
|
11828
|
+
__init11() {
|
|
11818
11829
|
this.subFieldChanged = (name, subfieldValue) => {
|
|
11819
11830
|
updateSpans();
|
|
11820
11831
|
if (name) {
|
|
@@ -11833,7 +11844,7 @@ class Main extends React$1.Component {
|
|
|
11833
11844
|
}
|
|
11834
11845
|
};
|
|
11835
11846
|
}
|
|
11836
|
-
|
|
11847
|
+
__init12() {
|
|
11837
11848
|
this.getFieldName = (changeField, fields) => {
|
|
11838
11849
|
const {answers} = this.state.session;
|
|
11839
11850
|
if (Object.keys(answers || ({})).length) {
|
|
@@ -11845,7 +11856,7 @@ class Main extends React$1.Component {
|
|
|
11845
11856
|
}
|
|
11846
11857
|
};
|
|
11847
11858
|
}
|
|
11848
|
-
|
|
11859
|
+
__init13() {
|
|
11849
11860
|
this.onBlur = e => {
|
|
11850
11861
|
const {relatedTarget, currentTarget} = e || ({});
|
|
11851
11862
|
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']])) {
|
|
@@ -11858,7 +11869,7 @@ class Main extends React$1.Component {
|
|
|
11858
11869
|
setTooltipRef(ref) {
|
|
11859
11870
|
setTimeout(() => {
|
|
11860
11871
|
if (ref && IS_SAFARI) {
|
|
11861
|
-
const div = document.querySelector(
|
|
11872
|
+
const div = document.querySelector("[role='tooltip']");
|
|
11862
11873
|
if (div) {
|
|
11863
11874
|
const el = div.firstChild;
|
|
11864
11875
|
el.setAttribute('tabindex', '-1');
|
|
@@ -11888,7 +11899,7 @@ class Main extends React$1.Component {
|
|
|
11888
11899
|
__self: this,
|
|
11889
11900
|
__source: {
|
|
11890
11901
|
fileName: _jsxFileName,
|
|
11891
|
-
lineNumber:
|
|
11902
|
+
lineNumber: 426
|
|
11892
11903
|
}
|
|
11893
11904
|
}, React$1.createElement(mq.Static, {
|
|
11894
11905
|
className: classes.static,
|
|
@@ -11902,7 +11913,7 @@ class Main extends React$1.Component {
|
|
|
11902
11913
|
__self: this,
|
|
11903
11914
|
__source: {
|
|
11904
11915
|
fileName: _jsxFileName,
|
|
11905
|
-
lineNumber:
|
|
11916
|
+
lineNumber: 427
|
|
11906
11917
|
}
|
|
11907
11918
|
}));
|
|
11908
11919
|
const midContent = React$1.createElement('div', {
|
|
@@ -11910,14 +11921,14 @@ class Main extends React$1.Component {
|
|
|
11910
11921
|
__self: this,
|
|
11911
11922
|
__source: {
|
|
11912
11923
|
fileName: _jsxFileName,
|
|
11913
|
-
lineNumber:
|
|
11924
|
+
lineNumber: 441
|
|
11914
11925
|
}
|
|
11915
11926
|
}, mode === 'gather' && React$1.createElement('h2', {
|
|
11916
11927
|
className: classes.srOnly,
|
|
11917
11928
|
__self: this,
|
|
11918
11929
|
__source: {
|
|
11919
11930
|
fileName: _jsxFileName,
|
|
11920
|
-
lineNumber:
|
|
11931
|
+
lineNumber: 442
|
|
11921
11932
|
}
|
|
11922
11933
|
}, "Math Equation Response Question"), viewMode && teacherInstructions && hasText(teacherInstructions) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
11923
11934
|
className: classes.collapsible,
|
|
@@ -11928,7 +11939,7 @@ class Main extends React$1.Component {
|
|
|
11928
11939
|
__self: this,
|
|
11929
11940
|
__source: {
|
|
11930
11941
|
fileName: _jsxFileName,
|
|
11931
|
-
lineNumber:
|
|
11942
|
+
lineNumber: 448
|
|
11932
11943
|
}
|
|
11933
11944
|
}, React$1.createElement('div', {
|
|
11934
11945
|
dangerouslySetInnerHTML: {
|
|
@@ -11937,7 +11948,7 @@ class Main extends React$1.Component {
|
|
|
11937
11948
|
__self: this,
|
|
11938
11949
|
__source: {
|
|
11939
11950
|
fileName: _jsxFileName,
|
|
11940
|
-
lineNumber:
|
|
11951
|
+
lineNumber: 452
|
|
11941
11952
|
}
|
|
11942
11953
|
})) : React$1.createElement('div', {
|
|
11943
11954
|
dangerouslySetInnerHTML: {
|
|
@@ -11946,35 +11957,35 @@ class Main extends React$1.Component {
|
|
|
11946
11957
|
__self: this,
|
|
11947
11958
|
__source: {
|
|
11948
11959
|
fileName: _jsxFileName,
|
|
11949
|
-
lineNumber:
|
|
11960
|
+
lineNumber: 455
|
|
11950
11961
|
}
|
|
11951
11962
|
})), prompt && React$1.createElement('div', {
|
|
11952
11963
|
className: classes.content,
|
|
11953
11964
|
__self: this,
|
|
11954
11965
|
__source: {
|
|
11955
11966
|
fileName: _jsxFileName,
|
|
11956
|
-
lineNumber:
|
|
11967
|
+
lineNumber: 459
|
|
11957
11968
|
}
|
|
11958
11969
|
}, React$1.createElement(PreviewPrompt, {
|
|
11959
11970
|
prompt: prompt,
|
|
11960
11971
|
__self: this,
|
|
11961
11972
|
__source: {
|
|
11962
11973
|
fileName: _jsxFileName,
|
|
11963
|
-
lineNumber:
|
|
11974
|
+
lineNumber: 460
|
|
11964
11975
|
}
|
|
11965
11976
|
})), studentPrintMode ? printView : React$1.createElement(Readable, {
|
|
11966
11977
|
false: true,
|
|
11967
11978
|
__self: this,
|
|
11968
11979
|
__source: {
|
|
11969
11980
|
fileName: _jsxFileName,
|
|
11970
|
-
lineNumber:
|
|
11981
|
+
lineNumber: 467
|
|
11971
11982
|
}
|
|
11972
11983
|
}, React$1.createElement('div', {
|
|
11973
11984
|
className: classes.inputAndKeypadContainer,
|
|
11974
11985
|
__self: this,
|
|
11975
11986
|
__source: {
|
|
11976
11987
|
fileName: _jsxFileName,
|
|
11977
|
-
lineNumber:
|
|
11988
|
+
lineNumber: 468
|
|
11978
11989
|
}
|
|
11979
11990
|
}, responseType === ResponseTypes$1.simple && React$1.createElement(SimpleQuestionBlock, {
|
|
11980
11991
|
onSimpleResponseChange: this.onSimpleResponseChange,
|
|
@@ -11985,7 +11996,7 @@ class Main extends React$1.Component {
|
|
|
11985
11996
|
__self: this,
|
|
11986
11997
|
__source: {
|
|
11987
11998
|
fileName: _jsxFileName,
|
|
11988
|
-
lineNumber:
|
|
11999
|
+
lineNumber: 470
|
|
11989
12000
|
}
|
|
11990
12001
|
}), responseType === ResponseTypes$1.advanced && React$1.createElement('div', {
|
|
11991
12002
|
className: cx(classes.expression, {
|
|
@@ -11998,7 +12009,7 @@ class Main extends React$1.Component {
|
|
|
11998
12009
|
__self: this,
|
|
11999
12010
|
__source: {
|
|
12000
12011
|
fileName: _jsxFileName,
|
|
12001
|
-
lineNumber:
|
|
12012
|
+
lineNumber: 480
|
|
12002
12013
|
}
|
|
12003
12014
|
}, React$1.createElement(Tooltip, {
|
|
12004
12015
|
ref: ref => this.setTooltipRef(ref),
|
|
@@ -12018,7 +12029,7 @@ class Main extends React$1.Component {
|
|
|
12018
12029
|
__self: this,
|
|
12019
12030
|
__source: {
|
|
12020
12031
|
fileName: _jsxFileName,
|
|
12021
|
-
lineNumber:
|
|
12032
|
+
lineNumber: 500
|
|
12022
12033
|
}
|
|
12023
12034
|
}, React$1.createElement(HorizontalKeypad, {
|
|
12024
12035
|
additionalKeys: additionalKeys,
|
|
@@ -12027,13 +12038,13 @@ class Main extends React$1.Component {
|
|
|
12027
12038
|
__self: this,
|
|
12028
12039
|
__source: {
|
|
12029
12040
|
fileName: _jsxFileName,
|
|
12030
|
-
lineNumber:
|
|
12041
|
+
lineNumber: 509
|
|
12031
12042
|
}
|
|
12032
12043
|
})) || null),
|
|
12033
12044
|
__self: this,
|
|
12034
12045
|
__source: {
|
|
12035
12046
|
fileName: _jsxFileName,
|
|
12036
|
-
lineNumber:
|
|
12047
|
+
lineNumber: 489
|
|
12037
12048
|
}
|
|
12038
12049
|
}, React$1.createElement(mq.Static, {
|
|
12039
12050
|
className: classes.static,
|
|
@@ -12047,7 +12058,7 @@ class Main extends React$1.Component {
|
|
|
12047
12058
|
__self: this,
|
|
12048
12059
|
__source: {
|
|
12049
12060
|
fileName: _jsxFileName,
|
|
12050
|
-
lineNumber:
|
|
12061
|
+
lineNumber: 519
|
|
12051
12062
|
}
|
|
12052
12063
|
}))))), viewMode && displayNote && React$1.createElement('div', {
|
|
12053
12064
|
className: classes.note,
|
|
@@ -12057,7 +12068,7 @@ class Main extends React$1.Component {
|
|
|
12057
12068
|
__self: this,
|
|
12058
12069
|
__source: {
|
|
12059
12070
|
fileName: _jsxFileName,
|
|
12060
|
-
lineNumber:
|
|
12071
|
+
lineNumber: 537
|
|
12061
12072
|
}
|
|
12062
12073
|
}), viewMode && rationale && hasText(rationale) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
12063
12074
|
labels: {
|
|
@@ -12067,7 +12078,7 @@ class Main extends React$1.Component {
|
|
|
12067
12078
|
__self: this,
|
|
12068
12079
|
__source: {
|
|
12069
12080
|
fileName: _jsxFileName,
|
|
12070
|
-
lineNumber:
|
|
12081
|
+
lineNumber: 544
|
|
12071
12082
|
}
|
|
12072
12083
|
}, React$1.createElement('div', {
|
|
12073
12084
|
dangerouslySetInnerHTML: {
|
|
@@ -12076,7 +12087,7 @@ class Main extends React$1.Component {
|
|
|
12076
12087
|
__self: this,
|
|
12077
12088
|
__source: {
|
|
12078
12089
|
fileName: _jsxFileName,
|
|
12079
|
-
lineNumber:
|
|
12090
|
+
lineNumber: 545
|
|
12080
12091
|
}
|
|
12081
12092
|
})) : React$1.createElement('div', {
|
|
12082
12093
|
dangerouslySetInnerHTML: {
|
|
@@ -12085,7 +12096,7 @@ class Main extends React$1.Component {
|
|
|
12085
12096
|
__self: this,
|
|
12086
12097
|
__source: {
|
|
12087
12098
|
fileName: _jsxFileName,
|
|
12088
|
-
lineNumber:
|
|
12099
|
+
lineNumber: 548
|
|
12089
12100
|
}
|
|
12090
12101
|
})));
|
|
12091
12102
|
if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && hasText(teacherInstructions) || rationale && hasText(rationale) || feedback)) {
|
|
@@ -12099,14 +12110,14 @@ class Main extends React$1.Component {
|
|
|
12099
12110
|
__self: this,
|
|
12100
12111
|
__source: {
|
|
12101
12112
|
fileName: _jsxFileName,
|
|
12102
|
-
lineNumber:
|
|
12113
|
+
lineNumber: 568
|
|
12103
12114
|
}
|
|
12104
12115
|
}, React$1.createElement('div', {
|
|
12105
12116
|
className: classes.main,
|
|
12106
12117
|
__self: this,
|
|
12107
12118
|
__source: {
|
|
12108
12119
|
fileName: _jsxFileName,
|
|
12109
|
-
lineNumber:
|
|
12120
|
+
lineNumber: 569
|
|
12110
12121
|
}
|
|
12111
12122
|
}, showCorrectAnswerToggle && React$1.createElement(CorrectAnswerToggle, {
|
|
12112
12123
|
language: language,
|
|
@@ -12117,7 +12128,7 @@ class Main extends React$1.Component {
|
|
|
12117
12128
|
__self: this,
|
|
12118
12129
|
__source: {
|
|
12119
12130
|
fileName: _jsxFileName,
|
|
12120
|
-
lineNumber:
|
|
12131
|
+
lineNumber: 571
|
|
12121
12132
|
}
|
|
12122
12133
|
})), teacherInstructions && hasText(teacherInstructions) && React$1.createElement(Collapsible, {
|
|
12123
12134
|
className: classes.collapsible,
|
|
@@ -12129,14 +12140,14 @@ class Main extends React$1.Component {
|
|
|
12129
12140
|
__self: this,
|
|
12130
12141
|
__source: {
|
|
12131
12142
|
fileName: _jsxFileName,
|
|
12132
|
-
lineNumber:
|
|
12143
|
+
lineNumber: 582
|
|
12133
12144
|
}
|
|
12134
12145
|
}, React$1.createElement(PreviewPrompt, {
|
|
12135
12146
|
prompt: teacherInstructions,
|
|
12136
12147
|
__self: this,
|
|
12137
12148
|
__source: {
|
|
12138
12149
|
fileName: _jsxFileName,
|
|
12139
|
-
lineNumber:
|
|
12150
|
+
lineNumber: 590
|
|
12140
12151
|
}
|
|
12141
12152
|
})), displayNote && hasText(note) && React$1.createElement(Collapsible, {
|
|
12142
12153
|
className: classes.collapsible,
|
|
@@ -12152,14 +12163,14 @@ class Main extends React$1.Component {
|
|
|
12152
12163
|
__self: this,
|
|
12153
12164
|
__source: {
|
|
12154
12165
|
fileName: _jsxFileName,
|
|
12155
|
-
lineNumber:
|
|
12166
|
+
lineNumber: 594
|
|
12156
12167
|
}
|
|
12157
12168
|
}, React$1.createElement(PreviewPrompt, {
|
|
12158
12169
|
prompt: note,
|
|
12159
12170
|
__self: this,
|
|
12160
12171
|
__source: {
|
|
12161
12172
|
fileName: _jsxFileName,
|
|
12162
|
-
lineNumber:
|
|
12173
|
+
lineNumber: 602
|
|
12163
12174
|
}
|
|
12164
12175
|
})), rationale && hasText(rationale) && React$1.createElement(Collapsible, {
|
|
12165
12176
|
className: classes.collapsible,
|
|
@@ -12171,14 +12182,14 @@ class Main extends React$1.Component {
|
|
|
12171
12182
|
__self: this,
|
|
12172
12183
|
__source: {
|
|
12173
12184
|
fileName: _jsxFileName,
|
|
12174
|
-
lineNumber:
|
|
12185
|
+
lineNumber: 607
|
|
12175
12186
|
}
|
|
12176
12187
|
}, React$1.createElement(PreviewPrompt, {
|
|
12177
12188
|
prompt: rationale,
|
|
12178
12189
|
__self: this,
|
|
12179
12190
|
__source: {
|
|
12180
12191
|
fileName: _jsxFileName,
|
|
12181
|
-
lineNumber:
|
|
12192
|
+
lineNumber: 615
|
|
12182
12193
|
}
|
|
12183
12194
|
})), feedback && React$1.createElement(Feedback, {
|
|
12184
12195
|
correctness: correctness.correctness,
|
|
@@ -12186,13 +12197,13 @@ class Main extends React$1.Component {
|
|
|
12186
12197
|
__self: this,
|
|
12187
12198
|
__source: {
|
|
12188
12199
|
fileName: _jsxFileName,
|
|
12189
|
-
lineNumber:
|
|
12200
|
+
lineNumber: 619
|
|
12190
12201
|
}
|
|
12191
12202
|
})),
|
|
12192
12203
|
__self: this,
|
|
12193
12204
|
__source: {
|
|
12194
12205
|
fileName: _jsxFileName,
|
|
12195
|
-
lineNumber:
|
|
12206
|
+
lineNumber: 561
|
|
12196
12207
|
}
|
|
12197
12208
|
}, React$1.createElement('div', {
|
|
12198
12209
|
className: classes.mainContainer,
|
|
@@ -12200,7 +12211,7 @@ class Main extends React$1.Component {
|
|
|
12200
12211
|
__self: this,
|
|
12201
12212
|
__source: {
|
|
12202
12213
|
fileName: _jsxFileName,
|
|
12203
|
-
lineNumber:
|
|
12214
|
+
lineNumber: 623
|
|
12204
12215
|
}
|
|
12205
12216
|
}, midContent));
|
|
12206
12217
|
}
|
|
@@ -12210,7 +12221,7 @@ class Main extends React$1.Component {
|
|
|
12210
12221
|
__self: this,
|
|
12211
12222
|
__source: {
|
|
12212
12223
|
fileName: _jsxFileName,
|
|
12213
|
-
lineNumber:
|
|
12224
|
+
lineNumber: 631
|
|
12214
12225
|
}
|
|
12215
12226
|
}, midContent);
|
|
12216
12227
|
}
|
package/module/print.js
CHANGED
|
@@ -11611,6 +11611,7 @@ 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);
|
|
11614
11615
|
const answers = {};
|
|
11615
11616
|
if (props.model.config && props.model.config.expression) {
|
|
11616
11617
|
let answerBlocks = 1;
|
|
@@ -11676,9 +11677,6 @@ class Main extends React$1.Component {
|
|
|
11676
11677
|
renderMath$1(this.root);
|
|
11677
11678
|
};
|
|
11678
11679
|
}
|
|
11679
|
-
componentDidUpdate() {
|
|
11680
|
-
this.handleAnswerBlockDomUpdate();
|
|
11681
|
-
}
|
|
11682
11680
|
UNSAFE_componentWillReceiveProps(nextProps) {
|
|
11683
11681
|
const {config} = this.props.model;
|
|
11684
11682
|
const {config: nextConfig = {}} = nextProps.model || ({});
|
|
@@ -11726,12 +11724,25 @@ class Main extends React$1.Component {
|
|
|
11726
11724
|
}
|
|
11727
11725
|
componentDidMount() {
|
|
11728
11726
|
this.handleAnswerBlockDomUpdate();
|
|
11727
|
+
this.updateAriaHidden();
|
|
11729
11728
|
setTimeout(() => renderMath$1(this.root), 100);
|
|
11730
11729
|
}
|
|
11730
|
+
componentDidUpdate() {
|
|
11731
|
+
this.handleAnswerBlockDomUpdate();
|
|
11732
|
+
this.updateAriaHidden();
|
|
11733
|
+
}
|
|
11731
11734
|
__init2() {
|
|
11732
|
-
this.
|
|
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
|
+
};
|
|
11733
11741
|
}
|
|
11734
11742
|
__init3() {
|
|
11743
|
+
this.onDone = () => {};
|
|
11744
|
+
}
|
|
11745
|
+
__init4() {
|
|
11735
11746
|
this.onSimpleResponseChange = response => {
|
|
11736
11747
|
this.setState(state => ({
|
|
11737
11748
|
session: {
|
|
@@ -11741,14 +11752,14 @@ class Main extends React$1.Component {
|
|
|
11741
11752
|
}), this.callOnSessionChange);
|
|
11742
11753
|
};
|
|
11743
11754
|
}
|
|
11744
|
-
|
|
11755
|
+
__init5() {
|
|
11745
11756
|
this.onSubFieldFocus = id => {
|
|
11746
11757
|
this.setState({
|
|
11747
11758
|
activeAnswerBlock: id
|
|
11748
11759
|
});
|
|
11749
11760
|
};
|
|
11750
11761
|
}
|
|
11751
|
-
|
|
11762
|
+
__init6() {
|
|
11752
11763
|
this.toNodeData = data => {
|
|
11753
11764
|
if (!data) {
|
|
11754
11765
|
return;
|
|
@@ -11773,12 +11784,12 @@ class Main extends React$1.Component {
|
|
|
11773
11784
|
}
|
|
11774
11785
|
};
|
|
11775
11786
|
}
|
|
11776
|
-
|
|
11787
|
+
__init7() {
|
|
11777
11788
|
this.setInput = input => {
|
|
11778
11789
|
this.input = input;
|
|
11779
11790
|
};
|
|
11780
11791
|
}
|
|
11781
|
-
|
|
11792
|
+
__init8() {
|
|
11782
11793
|
this.onClick = data => {
|
|
11783
11794
|
const c = this.toNodeData(data);
|
|
11784
11795
|
if (c.type === 'clear') {
|
|
@@ -11799,7 +11810,7 @@ class Main extends React$1.Component {
|
|
|
11799
11810
|
this.input.focus();
|
|
11800
11811
|
};
|
|
11801
11812
|
}
|
|
11802
|
-
|
|
11813
|
+
__init9() {
|
|
11803
11814
|
this.callOnSessionChange = () => {
|
|
11804
11815
|
const {onSessionChange} = this.props;
|
|
11805
11816
|
if (onSessionChange) {
|
|
@@ -11807,14 +11818,14 @@ class Main extends React$1.Component {
|
|
|
11807
11818
|
}
|
|
11808
11819
|
};
|
|
11809
11820
|
}
|
|
11810
|
-
|
|
11821
|
+
__init10() {
|
|
11811
11822
|
this.toggleShowCorrect = show => {
|
|
11812
11823
|
this.setState({
|
|
11813
11824
|
showCorrect: show
|
|
11814
11825
|
}, this.handleAnswerBlockDomUpdate);
|
|
11815
11826
|
};
|
|
11816
11827
|
}
|
|
11817
|
-
|
|
11828
|
+
__init11() {
|
|
11818
11829
|
this.subFieldChanged = (name, subfieldValue) => {
|
|
11819
11830
|
updateSpans();
|
|
11820
11831
|
if (name) {
|
|
@@ -11833,7 +11844,7 @@ class Main extends React$1.Component {
|
|
|
11833
11844
|
}
|
|
11834
11845
|
};
|
|
11835
11846
|
}
|
|
11836
|
-
|
|
11847
|
+
__init12() {
|
|
11837
11848
|
this.getFieldName = (changeField, fields) => {
|
|
11838
11849
|
const {answers} = this.state.session;
|
|
11839
11850
|
if (Object.keys(answers || ({})).length) {
|
|
@@ -11845,7 +11856,7 @@ class Main extends React$1.Component {
|
|
|
11845
11856
|
}
|
|
11846
11857
|
};
|
|
11847
11858
|
}
|
|
11848
|
-
|
|
11859
|
+
__init13() {
|
|
11849
11860
|
this.onBlur = e => {
|
|
11850
11861
|
const {relatedTarget, currentTarget} = e || ({});
|
|
11851
11862
|
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']])) {
|
|
@@ -11858,7 +11869,7 @@ class Main extends React$1.Component {
|
|
|
11858
11869
|
setTooltipRef(ref) {
|
|
11859
11870
|
setTimeout(() => {
|
|
11860
11871
|
if (ref && IS_SAFARI) {
|
|
11861
|
-
const div = document.querySelector(
|
|
11872
|
+
const div = document.querySelector("[role='tooltip']");
|
|
11862
11873
|
if (div) {
|
|
11863
11874
|
const el = div.firstChild;
|
|
11864
11875
|
el.setAttribute('tabindex', '-1');
|
|
@@ -11888,7 +11899,7 @@ class Main extends React$1.Component {
|
|
|
11888
11899
|
__self: this,
|
|
11889
11900
|
__source: {
|
|
11890
11901
|
fileName: _jsxFileName,
|
|
11891
|
-
lineNumber:
|
|
11902
|
+
lineNumber: 426
|
|
11892
11903
|
}
|
|
11893
11904
|
}, React$1.createElement(mq.Static, {
|
|
11894
11905
|
className: classes.static,
|
|
@@ -11902,7 +11913,7 @@ class Main extends React$1.Component {
|
|
|
11902
11913
|
__self: this,
|
|
11903
11914
|
__source: {
|
|
11904
11915
|
fileName: _jsxFileName,
|
|
11905
|
-
lineNumber:
|
|
11916
|
+
lineNumber: 427
|
|
11906
11917
|
}
|
|
11907
11918
|
}));
|
|
11908
11919
|
const midContent = React$1.createElement('div', {
|
|
@@ -11910,14 +11921,14 @@ class Main extends React$1.Component {
|
|
|
11910
11921
|
__self: this,
|
|
11911
11922
|
__source: {
|
|
11912
11923
|
fileName: _jsxFileName,
|
|
11913
|
-
lineNumber:
|
|
11924
|
+
lineNumber: 441
|
|
11914
11925
|
}
|
|
11915
11926
|
}, mode === 'gather' && React$1.createElement('h2', {
|
|
11916
11927
|
className: classes.srOnly,
|
|
11917
11928
|
__self: this,
|
|
11918
11929
|
__source: {
|
|
11919
11930
|
fileName: _jsxFileName,
|
|
11920
|
-
lineNumber:
|
|
11931
|
+
lineNumber: 442
|
|
11921
11932
|
}
|
|
11922
11933
|
}, "Math Equation Response Question"), viewMode && teacherInstructions && hasText(teacherInstructions) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
11923
11934
|
className: classes.collapsible,
|
|
@@ -11928,7 +11939,7 @@ class Main extends React$1.Component {
|
|
|
11928
11939
|
__self: this,
|
|
11929
11940
|
__source: {
|
|
11930
11941
|
fileName: _jsxFileName,
|
|
11931
|
-
lineNumber:
|
|
11942
|
+
lineNumber: 448
|
|
11932
11943
|
}
|
|
11933
11944
|
}, React$1.createElement('div', {
|
|
11934
11945
|
dangerouslySetInnerHTML: {
|
|
@@ -11937,7 +11948,7 @@ class Main extends React$1.Component {
|
|
|
11937
11948
|
__self: this,
|
|
11938
11949
|
__source: {
|
|
11939
11950
|
fileName: _jsxFileName,
|
|
11940
|
-
lineNumber:
|
|
11951
|
+
lineNumber: 452
|
|
11941
11952
|
}
|
|
11942
11953
|
})) : React$1.createElement('div', {
|
|
11943
11954
|
dangerouslySetInnerHTML: {
|
|
@@ -11946,35 +11957,35 @@ class Main extends React$1.Component {
|
|
|
11946
11957
|
__self: this,
|
|
11947
11958
|
__source: {
|
|
11948
11959
|
fileName: _jsxFileName,
|
|
11949
|
-
lineNumber:
|
|
11960
|
+
lineNumber: 455
|
|
11950
11961
|
}
|
|
11951
11962
|
})), prompt && React$1.createElement('div', {
|
|
11952
11963
|
className: classes.content,
|
|
11953
11964
|
__self: this,
|
|
11954
11965
|
__source: {
|
|
11955
11966
|
fileName: _jsxFileName,
|
|
11956
|
-
lineNumber:
|
|
11967
|
+
lineNumber: 459
|
|
11957
11968
|
}
|
|
11958
11969
|
}, React$1.createElement(PreviewPrompt, {
|
|
11959
11970
|
prompt: prompt,
|
|
11960
11971
|
__self: this,
|
|
11961
11972
|
__source: {
|
|
11962
11973
|
fileName: _jsxFileName,
|
|
11963
|
-
lineNumber:
|
|
11974
|
+
lineNumber: 460
|
|
11964
11975
|
}
|
|
11965
11976
|
})), studentPrintMode ? printView : React$1.createElement(Readable, {
|
|
11966
11977
|
false: true,
|
|
11967
11978
|
__self: this,
|
|
11968
11979
|
__source: {
|
|
11969
11980
|
fileName: _jsxFileName,
|
|
11970
|
-
lineNumber:
|
|
11981
|
+
lineNumber: 467
|
|
11971
11982
|
}
|
|
11972
11983
|
}, React$1.createElement('div', {
|
|
11973
11984
|
className: classes.inputAndKeypadContainer,
|
|
11974
11985
|
__self: this,
|
|
11975
11986
|
__source: {
|
|
11976
11987
|
fileName: _jsxFileName,
|
|
11977
|
-
lineNumber:
|
|
11988
|
+
lineNumber: 468
|
|
11978
11989
|
}
|
|
11979
11990
|
}, responseType === ResponseTypes.simple && React$1.createElement(SimpleQuestionBlock, {
|
|
11980
11991
|
onSimpleResponseChange: this.onSimpleResponseChange,
|
|
@@ -11985,7 +11996,7 @@ class Main extends React$1.Component {
|
|
|
11985
11996
|
__self: this,
|
|
11986
11997
|
__source: {
|
|
11987
11998
|
fileName: _jsxFileName,
|
|
11988
|
-
lineNumber:
|
|
11999
|
+
lineNumber: 470
|
|
11989
12000
|
}
|
|
11990
12001
|
}), responseType === ResponseTypes.advanced && React$1.createElement('div', {
|
|
11991
12002
|
className: cx(classes.expression, {
|
|
@@ -11998,7 +12009,7 @@ class Main extends React$1.Component {
|
|
|
11998
12009
|
__self: this,
|
|
11999
12010
|
__source: {
|
|
12000
12011
|
fileName: _jsxFileName,
|
|
12001
|
-
lineNumber:
|
|
12012
|
+
lineNumber: 480
|
|
12002
12013
|
}
|
|
12003
12014
|
}, React$1.createElement(Tooltip, {
|
|
12004
12015
|
ref: ref => this.setTooltipRef(ref),
|
|
@@ -12018,7 +12029,7 @@ class Main extends React$1.Component {
|
|
|
12018
12029
|
__self: this,
|
|
12019
12030
|
__source: {
|
|
12020
12031
|
fileName: _jsxFileName,
|
|
12021
|
-
lineNumber:
|
|
12032
|
+
lineNumber: 500
|
|
12022
12033
|
}
|
|
12023
12034
|
}, React$1.createElement(HorizontalKeypad, {
|
|
12024
12035
|
additionalKeys: additionalKeys,
|
|
@@ -12027,13 +12038,13 @@ class Main extends React$1.Component {
|
|
|
12027
12038
|
__self: this,
|
|
12028
12039
|
__source: {
|
|
12029
12040
|
fileName: _jsxFileName,
|
|
12030
|
-
lineNumber:
|
|
12041
|
+
lineNumber: 509
|
|
12031
12042
|
}
|
|
12032
12043
|
})) || null),
|
|
12033
12044
|
__self: this,
|
|
12034
12045
|
__source: {
|
|
12035
12046
|
fileName: _jsxFileName,
|
|
12036
|
-
lineNumber:
|
|
12047
|
+
lineNumber: 489
|
|
12037
12048
|
}
|
|
12038
12049
|
}, React$1.createElement(mq.Static, {
|
|
12039
12050
|
className: classes.static,
|
|
@@ -12047,7 +12058,7 @@ class Main extends React$1.Component {
|
|
|
12047
12058
|
__self: this,
|
|
12048
12059
|
__source: {
|
|
12049
12060
|
fileName: _jsxFileName,
|
|
12050
|
-
lineNumber:
|
|
12061
|
+
lineNumber: 519
|
|
12051
12062
|
}
|
|
12052
12063
|
}))))), viewMode && displayNote && React$1.createElement('div', {
|
|
12053
12064
|
className: classes.note,
|
|
@@ -12057,7 +12068,7 @@ class Main extends React$1.Component {
|
|
|
12057
12068
|
__self: this,
|
|
12058
12069
|
__source: {
|
|
12059
12070
|
fileName: _jsxFileName,
|
|
12060
|
-
lineNumber:
|
|
12071
|
+
lineNumber: 537
|
|
12061
12072
|
}
|
|
12062
12073
|
}), viewMode && rationale && hasText(rationale) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
12063
12074
|
labels: {
|
|
@@ -12067,7 +12078,7 @@ class Main extends React$1.Component {
|
|
|
12067
12078
|
__self: this,
|
|
12068
12079
|
__source: {
|
|
12069
12080
|
fileName: _jsxFileName,
|
|
12070
|
-
lineNumber:
|
|
12081
|
+
lineNumber: 544
|
|
12071
12082
|
}
|
|
12072
12083
|
}, React$1.createElement('div', {
|
|
12073
12084
|
dangerouslySetInnerHTML: {
|
|
@@ -12076,7 +12087,7 @@ class Main extends React$1.Component {
|
|
|
12076
12087
|
__self: this,
|
|
12077
12088
|
__source: {
|
|
12078
12089
|
fileName: _jsxFileName,
|
|
12079
|
-
lineNumber:
|
|
12090
|
+
lineNumber: 545
|
|
12080
12091
|
}
|
|
12081
12092
|
})) : React$1.createElement('div', {
|
|
12082
12093
|
dangerouslySetInnerHTML: {
|
|
@@ -12085,7 +12096,7 @@ class Main extends React$1.Component {
|
|
|
12085
12096
|
__self: this,
|
|
12086
12097
|
__source: {
|
|
12087
12098
|
fileName: _jsxFileName,
|
|
12088
|
-
lineNumber:
|
|
12099
|
+
lineNumber: 548
|
|
12089
12100
|
}
|
|
12090
12101
|
})));
|
|
12091
12102
|
if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && hasText(teacherInstructions) || rationale && hasText(rationale) || feedback)) {
|
|
@@ -12099,14 +12110,14 @@ class Main extends React$1.Component {
|
|
|
12099
12110
|
__self: this,
|
|
12100
12111
|
__source: {
|
|
12101
12112
|
fileName: _jsxFileName,
|
|
12102
|
-
lineNumber:
|
|
12113
|
+
lineNumber: 568
|
|
12103
12114
|
}
|
|
12104
12115
|
}, React$1.createElement('div', {
|
|
12105
12116
|
className: classes.main,
|
|
12106
12117
|
__self: this,
|
|
12107
12118
|
__source: {
|
|
12108
12119
|
fileName: _jsxFileName,
|
|
12109
|
-
lineNumber:
|
|
12120
|
+
lineNumber: 569
|
|
12110
12121
|
}
|
|
12111
12122
|
}, showCorrectAnswerToggle && React$1.createElement(CorrectAnswerToggle, {
|
|
12112
12123
|
language: language,
|
|
@@ -12117,7 +12128,7 @@ class Main extends React$1.Component {
|
|
|
12117
12128
|
__self: this,
|
|
12118
12129
|
__source: {
|
|
12119
12130
|
fileName: _jsxFileName,
|
|
12120
|
-
lineNumber:
|
|
12131
|
+
lineNumber: 571
|
|
12121
12132
|
}
|
|
12122
12133
|
})), teacherInstructions && hasText(teacherInstructions) && React$1.createElement(Collapsible, {
|
|
12123
12134
|
className: classes.collapsible,
|
|
@@ -12129,14 +12140,14 @@ class Main extends React$1.Component {
|
|
|
12129
12140
|
__self: this,
|
|
12130
12141
|
__source: {
|
|
12131
12142
|
fileName: _jsxFileName,
|
|
12132
|
-
lineNumber:
|
|
12143
|
+
lineNumber: 582
|
|
12133
12144
|
}
|
|
12134
12145
|
}, React$1.createElement(PreviewPrompt, {
|
|
12135
12146
|
prompt: teacherInstructions,
|
|
12136
12147
|
__self: this,
|
|
12137
12148
|
__source: {
|
|
12138
12149
|
fileName: _jsxFileName,
|
|
12139
|
-
lineNumber:
|
|
12150
|
+
lineNumber: 590
|
|
12140
12151
|
}
|
|
12141
12152
|
})), displayNote && hasText(note) && React$1.createElement(Collapsible, {
|
|
12142
12153
|
className: classes.collapsible,
|
|
@@ -12152,14 +12163,14 @@ class Main extends React$1.Component {
|
|
|
12152
12163
|
__self: this,
|
|
12153
12164
|
__source: {
|
|
12154
12165
|
fileName: _jsxFileName,
|
|
12155
|
-
lineNumber:
|
|
12166
|
+
lineNumber: 594
|
|
12156
12167
|
}
|
|
12157
12168
|
}, React$1.createElement(PreviewPrompt, {
|
|
12158
12169
|
prompt: note,
|
|
12159
12170
|
__self: this,
|
|
12160
12171
|
__source: {
|
|
12161
12172
|
fileName: _jsxFileName,
|
|
12162
|
-
lineNumber:
|
|
12173
|
+
lineNumber: 602
|
|
12163
12174
|
}
|
|
12164
12175
|
})), rationale && hasText(rationale) && React$1.createElement(Collapsible, {
|
|
12165
12176
|
className: classes.collapsible,
|
|
@@ -12171,14 +12182,14 @@ class Main extends React$1.Component {
|
|
|
12171
12182
|
__self: this,
|
|
12172
12183
|
__source: {
|
|
12173
12184
|
fileName: _jsxFileName,
|
|
12174
|
-
lineNumber:
|
|
12185
|
+
lineNumber: 607
|
|
12175
12186
|
}
|
|
12176
12187
|
}, React$1.createElement(PreviewPrompt, {
|
|
12177
12188
|
prompt: rationale,
|
|
12178
12189
|
__self: this,
|
|
12179
12190
|
__source: {
|
|
12180
12191
|
fileName: _jsxFileName,
|
|
12181
|
-
lineNumber:
|
|
12192
|
+
lineNumber: 615
|
|
12182
12193
|
}
|
|
12183
12194
|
})), feedback && React$1.createElement(Feedback, {
|
|
12184
12195
|
correctness: correctness.correctness,
|
|
@@ -12186,13 +12197,13 @@ class Main extends React$1.Component {
|
|
|
12186
12197
|
__self: this,
|
|
12187
12198
|
__source: {
|
|
12188
12199
|
fileName: _jsxFileName,
|
|
12189
|
-
lineNumber:
|
|
12200
|
+
lineNumber: 619
|
|
12190
12201
|
}
|
|
12191
12202
|
})),
|
|
12192
12203
|
__self: this,
|
|
12193
12204
|
__source: {
|
|
12194
12205
|
fileName: _jsxFileName,
|
|
12195
|
-
lineNumber:
|
|
12206
|
+
lineNumber: 561
|
|
12196
12207
|
}
|
|
12197
12208
|
}, React$1.createElement('div', {
|
|
12198
12209
|
className: classes.mainContainer,
|
|
@@ -12200,7 +12211,7 @@ class Main extends React$1.Component {
|
|
|
12200
12211
|
__self: this,
|
|
12201
12212
|
__source: {
|
|
12202
12213
|
fileName: _jsxFileName,
|
|
12203
|
-
lineNumber:
|
|
12214
|
+
lineNumber: 623
|
|
12204
12215
|
}
|
|
12205
12216
|
}, midContent));
|
|
12206
12217
|
}
|
|
@@ -12210,7 +12221,7 @@ class Main extends React$1.Component {
|
|
|
12210
12221
|
__self: this,
|
|
12211
12222
|
__source: {
|
|
12212
12223
|
fileName: _jsxFileName,
|
|
12213
|
-
lineNumber:
|
|
12224
|
+
lineNumber: 631
|
|
12214
12225
|
}
|
|
12215
12226
|
}, midContent);
|
|
12216
12227
|
}
|
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.15+dff0505e5",
|
|
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": "dff0505e5c7c09e90eda8af02b590894e01cc166",
|
|
29
29
|
"module": "src/index.js",
|
|
30
30
|
"exports": {
|
|
31
31
|
".": "./src/index.js",
|