@pie-element/math-inline 7.25.4-next.0 → 7.25.4-next.11

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 CHANGED
@@ -920,7 +920,6 @@ var styles = function styles(theme) {
920
920
  border: '2px solid grey !important'
921
921
  },
922
922
  blockResponse: {
923
- flex: 2,
924
923
  color: 'grey',
925
924
  background: theme.palette.grey['A100'],
926
925
  fontSize: '0.8rem !important',
@@ -928,7 +927,11 @@ var styles = function styles(theme) {
928
927
  display: 'flex',
929
928
  alignItems: 'center',
930
929
  justifyContent: 'center',
931
- borderRight: "2px solid ".concat(_renderUi.color.disabled(), " !important")
930
+ borderRight: "2px solid ".concat(_renderUi.color.disabled(), " !important"),
931
+ flexShrink: 0,
932
+ flexGrow: 0,
933
+ flexBasis: 'auto' // take only the space needed for content + padding
934
+
932
935
  },
933
936
  toggle: {
934
937
  color: _renderUi.color.text(),
@@ -941,7 +944,8 @@ var styles = function styles(theme) {
941
944
  display: 'flex',
942
945
  alignItems: 'center',
943
946
  justifyContent: 'center',
944
- flex: 8,
947
+ flexGrow: 1,
948
+ // take all the remaining space
945
949
  '& > .mq-math-mode': {
946
950
  '& > .mq-hasCursor': {
947
951
  '& > .mq-cursor': {
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","textareaElements","index","instructionsId","parent","closest","instructionsElement","document","createElement","id","className","srOnly","insertBefore","response","setState","callOnSessionChange","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","getParentWithRoleTooltip","element","depth","offsetParent","getAttribute","getDeepChildDataKeypad","child","children","attributes","parentWithTooltipRole","childWithDataKeypad","window","registerEmbed","htmlString","blockContainer","blockResponse","blockMath","text","pattern","matches","match","nextProps","nextConfig","note","language","t","lng","env","mode","countResponseOccurrences","setTimeout","updateAria","newAnswers","nextState","sameModel","sameState","ref","div","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","collapsible","hidden","visible","__html","promptContainer","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","marginBottom","position","title","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-accessible';\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\n// !!! If you're using Chrome but have selected the \"iPad\" device in Chrome Developer Tools, the navigator.userAgent string may still report as\n// Safari because Chrome on iOS actually uses the Safari rendering engine under the hood due to Apple's restrictions on third-party browser engines.\n// When you select the \"iPad\" device in Chrome Developer Tools, you're essentially emulating the behavior of Safari on an iPad, including the user agent string.\n// Therefore, even though you're using Chrome, the user agent string will resemble that of Safari on an iPad.\n// Since the regular expression /^((?!chrome|android).)*safari/i checks for the presence of \"safari\" in the user agent string while excluding \"chrome\" and \"android\",\n// it will return true in this case because \"safari\" is present in the user agent string emulated by Chrome when in iPad mode.\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 countResponseOccurrences(expression) {\n const pattern = /\\{\\{response\\}\\}/g;\n const matches = expression?.match(pattern);\n\n return matches ? matches.length : 0;\n }\n\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const {config} = this.props.model;\n const {config: nextConfig = {}} = nextProps.model || {};\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 (this.countResponseOccurrences(config.expression) < this.countResponseOccurrences(nextConfig.expression)) {\n setTimeout(() => this.updateAria(), 100);\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.updateAria();\n setTimeout(() => renderMath(this.root), 100);\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n updateAria = () => {\n const {classes} = this.props;\n \n if (this.root) {\n // Update aria-hidden for .mq-selectable elements\n const selectableElements = this.root.querySelectorAll('.mq-selectable');\n selectableElements.forEach(elem => elem.setAttribute('aria-hidden', 'true'));\n \n // Update aria-label for textarea elements and add aria-describedby\n const textareaElements = this.root.querySelectorAll('textarea');\n textareaElements.forEach((elem, index) => {\n elem.setAttribute('aria-label', 'Enter answer.');\n \n // Create a unique id for each instructions element\n const instructionsId = `instructions-${index}`;\n \n // Find the parent element that contains the textarea\n const parent = elem.closest('.mq-textarea');\n \n if (parent) {\n // Create or find the instructions element within the parent\n let instructionsElement = parent.querySelector(`#${instructionsId}`);\n \n if (!instructionsElement) {\n instructionsElement = document.createElement('span');\n instructionsElement.id = instructionsId;\n instructionsElement.className = classes.srOnly;\n instructionsElement.textContent = 'This field automatically displays a math keypad. Both keypad and keyboard input are accepted, and keyboard entry accepts LaTeX markup.';\n parent.insertBefore(instructionsElement, elem);\n }\n \n elem.setAttribute('aria-describedby', instructionsId);\n }\n });\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 function getParentWithRoleTooltip(element, depth = 0) {\n // only run this max 16 times\n if (!element || depth >= 16) return null;\n\n const parent = element.offsetParent;\n\n if (!parent) return null;\n\n if (parent.getAttribute('role') === 'tooltip') {\n return parent;\n }\n\n return getParentWithRoleTooltip(parent, depth + 1);\n }\n\n function getDeepChildDataKeypad(element, depth = 0) {\n // only run this max 4 times\n if (!element || depth >= 4) return null;\n\n const child = element?.children?.[0];\n\n if (!child) return null;\n\n if (child.attributes && child.attributes['data-keypad']) {\n return child;\n }\n\n return getDeepChildDataKeypad(child, depth + 1);\n }\n\n const parentWithTooltipRole = getParentWithRoleTooltip(relatedTarget);\n const childWithDataKeypad = parentWithTooltipRole ? getDeepChildDataKeypad(parentWithTooltipRole) : null;\n\n if (!relatedTarget || !currentTarget || !childWithDataKeypad?.attributes['data-keypad']) {\n this.setState({activeAnswerBlock: ''});\n }\n // else {\n // // Just for debugging purpose:\n // console.log('\\n\\nNew childWithDataKeypad', childWithDataKeypad);\n //\n // if (IS_SAFARI) {\n // // (IS_SAFARI && !relatedTarget?.offsetParent?.children[0]?.children[0]?.attributes?.['data-keypad'])\n // console.log('What was being used', relatedTarget?.offsetParent?.children[0]?.children[0]);\n // } else {\n // // (!IS_SAFARI && !relatedTarget?.offsetParent?.children[0]?.attributes?.['data-keypad']) ||\n // console.log('What was being used', relatedTarget?.offsetParent?.children[0]);\n // }\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.promptContainer}>\n <PreviewPrompt prompt={prompt}/>\n </div>\n )}\n\n {studentPrintMode ? (\n printView\n ) : (\n <Readable false>\n <div className={classes.inputAndKeypadContainer} tabIndex={0}>\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 enterTouchDelay={0}\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 enterTouchDelay={0}\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 promptContainer: {\n marginBottom: theme.spacing.unit * 2,\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 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","textareaElements","index","instructionsId","parent","closest","instructionsElement","document","createElement","id","className","srOnly","insertBefore","response","setState","callOnSessionChange","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","getParentWithRoleTooltip","element","depth","offsetParent","getAttribute","getDeepChildDataKeypad","child","children","attributes","parentWithTooltipRole","childWithDataKeypad","window","registerEmbed","htmlString","blockContainer","blockResponse","blockMath","text","pattern","matches","match","nextProps","nextConfig","note","language","t","lng","env","mode","countResponseOccurrences","setTimeout","updateAria","newAnswers","nextState","sameModel","sameState","ref","div","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","collapsible","hidden","visible","__html","promptContainer","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","marginBottom","position","title","paddingBottom","zIndex","minWidth","maxWidth","margin","top","borderColor","lineHeight","left","right","borderTop","letterSpacing","palette","grey","alignItems","justifyContent","borderRight","flexShrink","flexGrow","flexBasis","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-accessible';\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\n// !!! If you're using Chrome but have selected the \"iPad\" device in Chrome Developer Tools, the navigator.userAgent string may still report as\n// Safari because Chrome on iOS actually uses the Safari rendering engine under the hood due to Apple's restrictions on third-party browser engines.\n// When you select the \"iPad\" device in Chrome Developer Tools, you're essentially emulating the behavior of Safari on an iPad, including the user agent string.\n// Therefore, even though you're using Chrome, the user agent string will resemble that of Safari on an iPad.\n// Since the regular expression /^((?!chrome|android).)*safari/i checks for the presence of \"safari\" in the user agent string while excluding \"chrome\" and \"android\",\n// it will return true in this case because \"safari\" is present in the user agent string emulated by Chrome when in iPad mode.\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 countResponseOccurrences(expression) {\n const pattern = /\\{\\{response\\}\\}/g;\n const matches = expression?.match(pattern);\n\n return matches ? matches.length : 0;\n }\n\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const {config} = this.props.model;\n const {config: nextConfig = {}} = nextProps.model || {};\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 (this.countResponseOccurrences(config.expression) < this.countResponseOccurrences(nextConfig.expression)) {\n setTimeout(() => this.updateAria(), 100);\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.updateAria();\n setTimeout(() => renderMath(this.root), 100);\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n updateAria = () => {\n const {classes} = this.props;\n\n if (this.root) {\n // Update aria-hidden for .mq-selectable elements\n const selectableElements = this.root.querySelectorAll('.mq-selectable');\n selectableElements.forEach(elem => elem.setAttribute('aria-hidden', 'true'));\n\n // Update aria-label for textarea elements and add aria-describedby\n const textareaElements = this.root.querySelectorAll('textarea');\n textareaElements.forEach((elem, index) => {\n elem.setAttribute('aria-label', 'Enter answer.');\n\n // Create a unique id for each instructions element\n const instructionsId = `instructions-${index}`;\n\n // Find the parent element that contains the textarea\n const parent = elem.closest('.mq-textarea');\n\n if (parent) {\n // Create or find the instructions element within the parent\n let instructionsElement = parent.querySelector(`#${instructionsId}`);\n\n if (!instructionsElement) {\n instructionsElement = document.createElement('span');\n instructionsElement.id = instructionsId;\n instructionsElement.className = classes.srOnly;\n instructionsElement.textContent = 'This field automatically displays a math keypad. Both keypad and keyboard input are accepted, and keyboard entry accepts LaTeX markup.';\n parent.insertBefore(instructionsElement, elem);\n }\n\n elem.setAttribute('aria-describedby', instructionsId);\n }\n });\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 function getParentWithRoleTooltip(element, depth = 0) {\n // only run this max 16 times\n if (!element || depth >= 16) return null;\n\n const parent = element.offsetParent;\n\n if (!parent) return null;\n\n if (parent.getAttribute('role') === 'tooltip') {\n return parent;\n }\n\n return getParentWithRoleTooltip(parent, depth + 1);\n }\n\n function getDeepChildDataKeypad(element, depth = 0) {\n // only run this max 4 times\n if (!element || depth >= 4) return null;\n\n const child = element?.children?.[0];\n\n if (!child) return null;\n\n if (child.attributes && child.attributes['data-keypad']) {\n return child;\n }\n\n return getDeepChildDataKeypad(child, depth + 1);\n }\n\n const parentWithTooltipRole = getParentWithRoleTooltip(relatedTarget);\n const childWithDataKeypad = parentWithTooltipRole ? getDeepChildDataKeypad(parentWithTooltipRole) : null;\n\n if (!relatedTarget || !currentTarget || !childWithDataKeypad?.attributes['data-keypad']) {\n this.setState({activeAnswerBlock: ''});\n }\n // else {\n // // Just for debugging purpose:\n // console.log('\\n\\nNew childWithDataKeypad', childWithDataKeypad);\n //\n // if (IS_SAFARI) {\n // // (IS_SAFARI && !relatedTarget?.offsetParent?.children[0]?.children[0]?.attributes?.['data-keypad'])\n // console.log('What was being used', relatedTarget?.offsetParent?.children[0]?.children[0]);\n // } else {\n // // (!IS_SAFARI && !relatedTarget?.offsetParent?.children[0]?.attributes?.['data-keypad']) ||\n // console.log('What was being used', relatedTarget?.offsetParent?.children[0]);\n // }\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.promptContainer}>\n <PreviewPrompt prompt={prompt}/>\n </div>\n )}\n\n {studentPrintMode ? (\n printView\n ) : (\n <Readable false>\n <div className={classes.inputAndKeypadContainer} tabIndex={0}>\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 enterTouchDelay={0}\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 enterTouchDelay={0}\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 promptContainer: {\n marginBottom: theme.spacing.unit * 2,\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 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 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 flexShrink: 0,\n flexGrow: 0,\n flexBasis: 'auto', // take only the space needed for content + padding\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 flexGrow: 1, // take all the remaining space\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
@@ -12683,7 +12683,6 @@ const styles = theme => ({
12683
12683
  border: '2px solid grey !important'
12684
12684
  },
12685
12685
  blockResponse: {
12686
- flex: 2,
12687
12686
  color: 'grey',
12688
12687
  background: theme.palette.grey['A100'],
12689
12688
  fontSize: '0.8rem !important',
@@ -12691,7 +12690,10 @@ const styles = theme => ({
12691
12690
  display: 'flex',
12692
12691
  alignItems: 'center',
12693
12692
  justifyContent: 'center',
12694
- borderRight: `2px solid ${color.disabled()} !important`
12693
+ borderRight: `2px solid ${color.disabled()} !important`,
12694
+ flexShrink: 0,
12695
+ flexGrow: 0,
12696
+ flexBasis: 'auto'
12695
12697
  },
12696
12698
  toggle: {
12697
12699
  color: color.text(),
@@ -12704,7 +12706,7 @@ const styles = theme => ({
12704
12706
  display: 'flex',
12705
12707
  alignItems: 'center',
12706
12708
  justifyContent: 'center',
12707
- flex: 8,
12709
+ flexGrow: 1,
12708
12710
  '& > .mq-math-mode': {
12709
12711
  '& > .mq-hasCursor': {
12710
12712
  '& > .mq-cursor': {
package/module/print.js CHANGED
@@ -12423,7 +12423,6 @@ const styles = theme => ({
12423
12423
  border: '2px solid grey !important'
12424
12424
  },
12425
12425
  blockResponse: {
12426
- flex: 2,
12427
12426
  color: 'grey',
12428
12427
  background: theme.palette.grey['A100'],
12429
12428
  fontSize: '0.8rem !important',
@@ -12431,7 +12430,10 @@ const styles = theme => ({
12431
12430
  display: 'flex',
12432
12431
  alignItems: 'center',
12433
12432
  justifyContent: 'center',
12434
- borderRight: `2px solid ${color.disabled()} !important`
12433
+ borderRight: `2px solid ${color.disabled()} !important`,
12434
+ flexShrink: 0,
12435
+ flexGrow: 0,
12436
+ flexBasis: 'auto'
12435
12437
  },
12436
12438
  toggle: {
12437
12439
  color: color.text(),
@@ -12444,7 +12446,7 @@ const styles = theme => ({
12444
12446
  display: 'flex',
12445
12447
  alignItems: 'center',
12446
12448
  justifyContent: 'center',
12447
- flex: 8,
12449
+ flexGrow: 1,
12448
12450
  '& > .mq-math-mode': {
12449
12451
  '& > .mq-hasCursor': {
12450
12452
  '& > .mq-cursor': {
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "7.25.4-next.0+7437b33e1",
7
+ "version": "7.25.4-next.11+76e58c386",
8
8
  "main": "lib/index.js",
9
9
  "description": "",
10
10
  "scripts": {
@@ -24,7 +24,7 @@
24
24
  },
25
25
  "author": "",
26
26
  "license": "ISC",
27
- "gitHead": "7437b33e1c5bddd61e1909ee8085a4ebffed0e76",
27
+ "gitHead": "76e58c386adef6a677909145b8f7b7b41b913547",
28
28
  "module": "src/index.js",
29
29
  "exports": {
30
30
  ".": "./src/index.js",