@pie-element/math-inline 7.16.4 → 7.16.6
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/CHANGELOG.md +23 -0
- package/configure/CHANGELOG.md +22 -0
- package/configure/package.json +2 -2
- package/controller/CHANGELOG.md +22 -0
- package/controller/package.json +2 -2
- package/lib/main.js +2 -0
- package/lib/main.js.map +1 -1
- package/module/configure.js +1 -1
- package/module/element.js +23 -21
- package/module/index.html +1 -1
- package/module/manifest.json +2 -2
- package/module/print.html +1 -1
- package/module/print.js +23 -21
- package/package.json +3 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,29 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [7.16.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@7.16.5...@pie-element/math-inline@7.16.6) (2024-05-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* update pie-lib/pie-toolbox PD-3740, PD-2126 ([5573a4e](https://github.com/pie-framework/pie-elements/commit/5573a4e2f4524839525679df319bb92c7c841916))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [7.16.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@7.16.4...@pie-element/math-inline@7.16.5) (2024-05-14)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* update pie-toolbox PD-3640 ([707c240](https://github.com/pie-framework/pie-elements/commit/707c24031bc0cb05bb070605d4bc27384334eaac))
|
|
23
|
+
* **math-inline:** on touch event set the delay to 0 instead of 700ms default ([1f2819f](https://github.com/pie-framework/pie-elements/commit/1f2819f5c0616494a9edef638ca20e455102b6bd))
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
6
29
|
## [7.16.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline@7.16.3...@pie-element/math-inline@7.16.4) (2024-05-13)
|
|
7
30
|
|
|
8
31
|
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [7.12.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@7.12.5...@pie-element/math-inline-configure@7.12.6) (2024-05-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* update pie-lib/pie-toolbox PD-3740, PD-2126 ([5573a4e](https://github.com/pie-framework/pie-elements/commit/5573a4e2f4524839525679df319bb92c7c841916))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [7.12.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@7.12.4...@pie-element/math-inline-configure@7.12.5) (2024-05-14)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* update pie-toolbox PD-3640 ([707c240](https://github.com/pie-framework/pie-elements/commit/707c24031bc0cb05bb070605d4bc27384334eaac))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## [7.12.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-configure@7.12.3...@pie-element/math-inline-configure@7.12.4) (2024-05-13)
|
|
7
29
|
|
|
8
30
|
|
package/configure/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/math-inline-configure",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "7.12.
|
|
4
|
+
"version": "7.12.6",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"@material-ui/icons": "^3.0.1",
|
|
12
12
|
"@pie-framework/mathquill": "^1.1.3",
|
|
13
13
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
14
|
-
"@pie-lib/pie-toolbox": "1.
|
|
14
|
+
"@pie-lib/pie-toolbox": "1.19.1",
|
|
15
15
|
"classnames": "^2.2.5",
|
|
16
16
|
"debug": "^3.1.0",
|
|
17
17
|
"prop-types": "^15.6.2",
|
package/controller/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,28 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [6.10.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-controller@6.10.5...@pie-element/math-inline-controller@6.10.6) (2024-05-27)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* update pie-lib/pie-toolbox PD-3740, PD-2126 ([5573a4e](https://github.com/pie-framework/pie-elements/commit/5573a4e2f4524839525679df319bb92c7c841916))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
## [6.10.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-controller@6.10.4...@pie-element/math-inline-controller@6.10.5) (2024-05-14)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* update pie-toolbox PD-3640 ([707c240](https://github.com/pie-framework/pie-elements/commit/707c24031bc0cb05bb070605d4bc27384334eaac))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
6
28
|
## [6.10.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-inline-controller@6.10.3...@pie-element/math-inline-controller@6.10.4) (2024-05-13)
|
|
7
29
|
|
|
8
30
|
|
package/controller/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/math-inline-controller",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "6.10.
|
|
4
|
+
"version": "6.10.6",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
},
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@pie-framework/math-validation": "^1.2.2",
|
|
13
|
-
"@pie-lib/pie-toolbox": "1.
|
|
13
|
+
"@pie-lib/pie-toolbox": "1.19.1",
|
|
14
14
|
"debug": "^3.1.0",
|
|
15
15
|
"lodash": "^4.17.15"
|
|
16
16
|
},
|
package/lib/main.js
CHANGED
|
@@ -618,6 +618,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
618
618
|
ref: function ref(_ref7) {
|
|
619
619
|
return _this4.setTooltipRef(_ref7);
|
|
620
620
|
},
|
|
621
|
+
enterTouchDelay: 0,
|
|
621
622
|
interactive: true,
|
|
622
623
|
open: !!activeAnswerBlock,
|
|
623
624
|
classes: {
|
|
@@ -673,6 +674,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
673
674
|
if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && (0, _renderUi.hasText)(teacherInstructions) || rationale && (0, _renderUi.hasText)(rationale) || feedback)) {
|
|
674
675
|
return /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
675
676
|
interactive: true,
|
|
677
|
+
enterTouchDelay: 0,
|
|
676
678
|
classes: {
|
|
677
679
|
tooltip: classes.tooltip,
|
|
678
680
|
popper: classes.tooltipPopper
|
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","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","getParentWithRoleTooltip","element","depth","parent","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","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","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 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\n const textareaElements = this.root.querySelectorAll('textarea');\n textareaElements.forEach(elem => {\n elem.setAttribute('aria-label', 'Enter answer using math editor buttons or keyboard.');\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}>\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 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","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","getParentWithRoleTooltip","element","depth","parent","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","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","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 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\n const textareaElements = this.root.querySelectorAll('textarea');\n textareaElements.forEach(elem => {\n elem.setAttribute('aria-label', 'Enter answer using math editor buttons or keyboard.');\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}>\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"}
|
package/module/configure.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.
|
|
1
|
+
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.12.0/module/index.js";
|
|
2
2
|
import {_dll_pie_lib__pie_toolbox_config_ui, _dll_pie_lib__pie_toolbox_math_toolbar, _dll_pie_lib__pie_toolbox_editable_html} from "../../../@pie-lib/pie-toolbox-module@4.12.0/module/index.js";
|
|
3
3
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
4
4
|
function getDefaultExportFromCjs(x) {
|
package/module/element.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.
|
|
1
|
+
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.12.0/module/index.js";
|
|
2
2
|
import {_dll_pie_lib__pie_toolbox_math_toolbar, _dll_pie_lib__pie_toolbox_math_input, _dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@4.12.0/module/index.js";
|
|
3
3
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
4
4
|
function getDefaultExportFromCjs(x) {
|
|
@@ -12044,6 +12044,7 @@ class Main extends React$1.Component {
|
|
|
12044
12044
|
}
|
|
12045
12045
|
}, React$1.createElement(Tooltip, {
|
|
12046
12046
|
ref: ref => this.setTooltipRef(ref),
|
|
12047
|
+
enterTouchDelay: 0,
|
|
12047
12048
|
interactive: true,
|
|
12048
12049
|
open: !!activeAnswerBlock,
|
|
12049
12050
|
classes: {
|
|
@@ -12060,7 +12061,7 @@ class Main extends React$1.Component {
|
|
|
12060
12061
|
__self: this,
|
|
12061
12062
|
__source: {
|
|
12062
12063
|
fileName: _jsxFileName,
|
|
12063
|
-
lineNumber:
|
|
12064
|
+
lineNumber: 564
|
|
12064
12065
|
}
|
|
12065
12066
|
}, React$1.createElement(HorizontalKeypad, {
|
|
12066
12067
|
additionalKeys: additionalKeys,
|
|
@@ -12069,7 +12070,7 @@ class Main extends React$1.Component {
|
|
|
12069
12070
|
__self: this,
|
|
12070
12071
|
__source: {
|
|
12071
12072
|
fileName: _jsxFileName,
|
|
12072
|
-
lineNumber:
|
|
12073
|
+
lineNumber: 573
|
|
12073
12074
|
}
|
|
12074
12075
|
})) || null),
|
|
12075
12076
|
__self: this,
|
|
@@ -12089,7 +12090,7 @@ class Main extends React$1.Component {
|
|
|
12089
12090
|
__self: this,
|
|
12090
12091
|
__source: {
|
|
12091
12092
|
fileName: _jsxFileName,
|
|
12092
|
-
lineNumber:
|
|
12093
|
+
lineNumber: 583
|
|
12093
12094
|
}
|
|
12094
12095
|
}))))), viewMode && displayNote && React$1.createElement('div', {
|
|
12095
12096
|
className: classes.note,
|
|
@@ -12099,7 +12100,7 @@ class Main extends React$1.Component {
|
|
|
12099
12100
|
__self: this,
|
|
12100
12101
|
__source: {
|
|
12101
12102
|
fileName: _jsxFileName,
|
|
12102
|
-
lineNumber:
|
|
12103
|
+
lineNumber: 601
|
|
12103
12104
|
}
|
|
12104
12105
|
}), viewMode && rationale && hasText(rationale) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
12105
12106
|
labels: {
|
|
@@ -12109,7 +12110,7 @@ class Main extends React$1.Component {
|
|
|
12109
12110
|
__self: this,
|
|
12110
12111
|
__source: {
|
|
12111
12112
|
fileName: _jsxFileName,
|
|
12112
|
-
lineNumber:
|
|
12113
|
+
lineNumber: 608
|
|
12113
12114
|
}
|
|
12114
12115
|
}, React$1.createElement('div', {
|
|
12115
12116
|
dangerouslySetInnerHTML: {
|
|
@@ -12118,7 +12119,7 @@ class Main extends React$1.Component {
|
|
|
12118
12119
|
__self: this,
|
|
12119
12120
|
__source: {
|
|
12120
12121
|
fileName: _jsxFileName,
|
|
12121
|
-
lineNumber:
|
|
12122
|
+
lineNumber: 609
|
|
12122
12123
|
}
|
|
12123
12124
|
})) : React$1.createElement('div', {
|
|
12124
12125
|
dangerouslySetInnerHTML: {
|
|
@@ -12127,12 +12128,13 @@ class Main extends React$1.Component {
|
|
|
12127
12128
|
__self: this,
|
|
12128
12129
|
__source: {
|
|
12129
12130
|
fileName: _jsxFileName,
|
|
12130
|
-
lineNumber:
|
|
12131
|
+
lineNumber: 612
|
|
12131
12132
|
}
|
|
12132
12133
|
})));
|
|
12133
12134
|
if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && hasText(teacherInstructions) || rationale && hasText(rationale) || feedback)) {
|
|
12134
12135
|
return React$1.createElement(Tooltip, {
|
|
12135
12136
|
interactive: true,
|
|
12137
|
+
enterTouchDelay: 0,
|
|
12136
12138
|
classes: {
|
|
12137
12139
|
tooltip: classes.tooltip,
|
|
12138
12140
|
popper: classes.tooltipPopper
|
|
@@ -12141,14 +12143,14 @@ class Main extends React$1.Component {
|
|
|
12141
12143
|
__self: this,
|
|
12142
12144
|
__source: {
|
|
12143
12145
|
fileName: _jsxFileName,
|
|
12144
|
-
lineNumber:
|
|
12146
|
+
lineNumber: 633
|
|
12145
12147
|
}
|
|
12146
12148
|
}, React$1.createElement('div', {
|
|
12147
12149
|
className: classes.main,
|
|
12148
12150
|
__self: this,
|
|
12149
12151
|
__source: {
|
|
12150
12152
|
fileName: _jsxFileName,
|
|
12151
|
-
lineNumber:
|
|
12153
|
+
lineNumber: 634
|
|
12152
12154
|
}
|
|
12153
12155
|
}, showCorrectAnswerToggle && React$1.createElement(CorrectAnswerToggle, {
|
|
12154
12156
|
language: language,
|
|
@@ -12159,7 +12161,7 @@ class Main extends React$1.Component {
|
|
|
12159
12161
|
__self: this,
|
|
12160
12162
|
__source: {
|
|
12161
12163
|
fileName: _jsxFileName,
|
|
12162
|
-
lineNumber:
|
|
12164
|
+
lineNumber: 636
|
|
12163
12165
|
}
|
|
12164
12166
|
})), teacherInstructions && hasText(teacherInstructions) && React$1.createElement(Collapsible, {
|
|
12165
12167
|
className: classes.collapsible,
|
|
@@ -12171,14 +12173,14 @@ class Main extends React$1.Component {
|
|
|
12171
12173
|
__self: this,
|
|
12172
12174
|
__source: {
|
|
12173
12175
|
fileName: _jsxFileName,
|
|
12174
|
-
lineNumber:
|
|
12176
|
+
lineNumber: 647
|
|
12175
12177
|
}
|
|
12176
12178
|
}, React$1.createElement(PreviewPrompt, {
|
|
12177
12179
|
prompt: teacherInstructions,
|
|
12178
12180
|
__self: this,
|
|
12179
12181
|
__source: {
|
|
12180
12182
|
fileName: _jsxFileName,
|
|
12181
|
-
lineNumber:
|
|
12183
|
+
lineNumber: 655
|
|
12182
12184
|
}
|
|
12183
12185
|
})), displayNote && hasText(note) && React$1.createElement(Collapsible, {
|
|
12184
12186
|
className: classes.collapsible,
|
|
@@ -12194,14 +12196,14 @@ class Main extends React$1.Component {
|
|
|
12194
12196
|
__self: this,
|
|
12195
12197
|
__source: {
|
|
12196
12198
|
fileName: _jsxFileName,
|
|
12197
|
-
lineNumber:
|
|
12199
|
+
lineNumber: 659
|
|
12198
12200
|
}
|
|
12199
12201
|
}, React$1.createElement(PreviewPrompt, {
|
|
12200
12202
|
prompt: note,
|
|
12201
12203
|
__self: this,
|
|
12202
12204
|
__source: {
|
|
12203
12205
|
fileName: _jsxFileName,
|
|
12204
|
-
lineNumber:
|
|
12206
|
+
lineNumber: 667
|
|
12205
12207
|
}
|
|
12206
12208
|
})), rationale && hasText(rationale) && React$1.createElement(Collapsible, {
|
|
12207
12209
|
className: classes.collapsible,
|
|
@@ -12213,14 +12215,14 @@ class Main extends React$1.Component {
|
|
|
12213
12215
|
__self: this,
|
|
12214
12216
|
__source: {
|
|
12215
12217
|
fileName: _jsxFileName,
|
|
12216
|
-
lineNumber:
|
|
12218
|
+
lineNumber: 672
|
|
12217
12219
|
}
|
|
12218
12220
|
}, React$1.createElement(PreviewPrompt, {
|
|
12219
12221
|
prompt: rationale,
|
|
12220
12222
|
__self: this,
|
|
12221
12223
|
__source: {
|
|
12222
12224
|
fileName: _jsxFileName,
|
|
12223
|
-
lineNumber:
|
|
12225
|
+
lineNumber: 680
|
|
12224
12226
|
}
|
|
12225
12227
|
})), feedback && React$1.createElement(Feedback, {
|
|
12226
12228
|
correctness: correctness.correctness,
|
|
@@ -12228,13 +12230,13 @@ class Main extends React$1.Component {
|
|
|
12228
12230
|
__self: this,
|
|
12229
12231
|
__source: {
|
|
12230
12232
|
fileName: _jsxFileName,
|
|
12231
|
-
lineNumber:
|
|
12233
|
+
lineNumber: 684
|
|
12232
12234
|
}
|
|
12233
12235
|
})),
|
|
12234
12236
|
__self: this,
|
|
12235
12237
|
__source: {
|
|
12236
12238
|
fileName: _jsxFileName,
|
|
12237
|
-
lineNumber:
|
|
12239
|
+
lineNumber: 625
|
|
12238
12240
|
}
|
|
12239
12241
|
}, React$1.createElement('div', {
|
|
12240
12242
|
className: classes.mainContainer,
|
|
@@ -12242,7 +12244,7 @@ class Main extends React$1.Component {
|
|
|
12242
12244
|
__self: this,
|
|
12243
12245
|
__source: {
|
|
12244
12246
|
fileName: _jsxFileName,
|
|
12245
|
-
lineNumber:
|
|
12247
|
+
lineNumber: 688
|
|
12246
12248
|
}
|
|
12247
12249
|
}, midContent));
|
|
12248
12250
|
}
|
|
@@ -12252,7 +12254,7 @@ class Main extends React$1.Component {
|
|
|
12252
12254
|
__self: this,
|
|
12253
12255
|
__source: {
|
|
12254
12256
|
fileName: _jsxFileName,
|
|
12255
|
-
lineNumber:
|
|
12257
|
+
lineNumber: 696
|
|
12256
12258
|
}
|
|
12257
12259
|
}, midContent);
|
|
12258
12260
|
}
|
package/module/index.html
CHANGED
package/module/manifest.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/math-inline",
|
|
3
|
-
"version": "7.16.
|
|
3
|
+
"version": "7.16.5",
|
|
4
4
|
"modules": [
|
|
5
5
|
{
|
|
6
6
|
"name": "@pie-lib/pie-toolbox-math-rendering-module",
|
|
7
|
-
"version": "1.
|
|
7
|
+
"version": "1.12.0"
|
|
8
8
|
},
|
|
9
9
|
{
|
|
10
10
|
"name": "@pie-lib/pie-toolbox-module",
|
package/module/print.html
CHANGED
package/module/print.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.
|
|
1
|
+
import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_pie_lib__pie_toolbox_math_rendering_accessible, _dll_lodash, _dll_pie_framework__mathquill, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@1.12.0/module/index.js";
|
|
2
2
|
import {_dll_pie_lib__pie_toolbox_math_toolbar, _dll_pie_lib__pie_toolbox_math_input, _dll_pie_lib__pie_toolbox_render_ui, _dll_pie_lib__pie_toolbox_correct_answer_toggle} from "../../../@pie-lib/pie-toolbox-module@4.12.0/module/index.js";
|
|
3
3
|
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
4
4
|
function getDefaultExportFromCjs(x) {
|
|
@@ -12044,6 +12044,7 @@ class Main extends React$1.Component {
|
|
|
12044
12044
|
}
|
|
12045
12045
|
}, React$1.createElement(Tooltip, {
|
|
12046
12046
|
ref: ref => this.setTooltipRef(ref),
|
|
12047
|
+
enterTouchDelay: 0,
|
|
12047
12048
|
interactive: true,
|
|
12048
12049
|
open: !!activeAnswerBlock,
|
|
12049
12050
|
classes: {
|
|
@@ -12060,7 +12061,7 @@ class Main extends React$1.Component {
|
|
|
12060
12061
|
__self: this,
|
|
12061
12062
|
__source: {
|
|
12062
12063
|
fileName: _jsxFileName,
|
|
12063
|
-
lineNumber:
|
|
12064
|
+
lineNumber: 564
|
|
12064
12065
|
}
|
|
12065
12066
|
}, React$1.createElement(HorizontalKeypad, {
|
|
12066
12067
|
additionalKeys: additionalKeys,
|
|
@@ -12069,7 +12070,7 @@ class Main extends React$1.Component {
|
|
|
12069
12070
|
__self: this,
|
|
12070
12071
|
__source: {
|
|
12071
12072
|
fileName: _jsxFileName,
|
|
12072
|
-
lineNumber:
|
|
12073
|
+
lineNumber: 573
|
|
12073
12074
|
}
|
|
12074
12075
|
})) || null),
|
|
12075
12076
|
__self: this,
|
|
@@ -12089,7 +12090,7 @@ class Main extends React$1.Component {
|
|
|
12089
12090
|
__self: this,
|
|
12090
12091
|
__source: {
|
|
12091
12092
|
fileName: _jsxFileName,
|
|
12092
|
-
lineNumber:
|
|
12093
|
+
lineNumber: 583
|
|
12093
12094
|
}
|
|
12094
12095
|
}))))), viewMode && displayNote && React$1.createElement('div', {
|
|
12095
12096
|
className: classes.note,
|
|
@@ -12099,7 +12100,7 @@ class Main extends React$1.Component {
|
|
|
12099
12100
|
__self: this,
|
|
12100
12101
|
__source: {
|
|
12101
12102
|
fileName: _jsxFileName,
|
|
12102
|
-
lineNumber:
|
|
12103
|
+
lineNumber: 601
|
|
12103
12104
|
}
|
|
12104
12105
|
}), viewMode && rationale && hasText(rationale) && (!animationsDisabled ? React$1.createElement(Collapsible, {
|
|
12105
12106
|
labels: {
|
|
@@ -12109,7 +12110,7 @@ class Main extends React$1.Component {
|
|
|
12109
12110
|
__self: this,
|
|
12110
12111
|
__source: {
|
|
12111
12112
|
fileName: _jsxFileName,
|
|
12112
|
-
lineNumber:
|
|
12113
|
+
lineNumber: 608
|
|
12113
12114
|
}
|
|
12114
12115
|
}, React$1.createElement('div', {
|
|
12115
12116
|
dangerouslySetInnerHTML: {
|
|
@@ -12118,7 +12119,7 @@ class Main extends React$1.Component {
|
|
|
12118
12119
|
__self: this,
|
|
12119
12120
|
__source: {
|
|
12120
12121
|
fileName: _jsxFileName,
|
|
12121
|
-
lineNumber:
|
|
12122
|
+
lineNumber: 609
|
|
12122
12123
|
}
|
|
12123
12124
|
})) : React$1.createElement('div', {
|
|
12124
12125
|
dangerouslySetInnerHTML: {
|
|
@@ -12127,12 +12128,13 @@ class Main extends React$1.Component {
|
|
|
12127
12128
|
__self: this,
|
|
12128
12129
|
__source: {
|
|
12129
12130
|
fileName: _jsxFileName,
|
|
12130
|
-
lineNumber:
|
|
12131
|
+
lineNumber: 612
|
|
12131
12132
|
}
|
|
12132
12133
|
})));
|
|
12133
12134
|
if (tooltipModeEnabled && (showCorrectAnswerToggle || teacherInstructions && hasText(teacherInstructions) || rationale && hasText(rationale) || feedback)) {
|
|
12134
12135
|
return React$1.createElement(Tooltip, {
|
|
12135
12136
|
interactive: true,
|
|
12137
|
+
enterTouchDelay: 0,
|
|
12136
12138
|
classes: {
|
|
12137
12139
|
tooltip: classes.tooltip,
|
|
12138
12140
|
popper: classes.tooltipPopper
|
|
@@ -12141,14 +12143,14 @@ class Main extends React$1.Component {
|
|
|
12141
12143
|
__self: this,
|
|
12142
12144
|
__source: {
|
|
12143
12145
|
fileName: _jsxFileName,
|
|
12144
|
-
lineNumber:
|
|
12146
|
+
lineNumber: 633
|
|
12145
12147
|
}
|
|
12146
12148
|
}, React$1.createElement('div', {
|
|
12147
12149
|
className: classes.main,
|
|
12148
12150
|
__self: this,
|
|
12149
12151
|
__source: {
|
|
12150
12152
|
fileName: _jsxFileName,
|
|
12151
|
-
lineNumber:
|
|
12153
|
+
lineNumber: 634
|
|
12152
12154
|
}
|
|
12153
12155
|
}, showCorrectAnswerToggle && React$1.createElement(CorrectAnswerToggle, {
|
|
12154
12156
|
language: language,
|
|
@@ -12159,7 +12161,7 @@ class Main extends React$1.Component {
|
|
|
12159
12161
|
__self: this,
|
|
12160
12162
|
__source: {
|
|
12161
12163
|
fileName: _jsxFileName,
|
|
12162
|
-
lineNumber:
|
|
12164
|
+
lineNumber: 636
|
|
12163
12165
|
}
|
|
12164
12166
|
})), teacherInstructions && hasText(teacherInstructions) && React$1.createElement(Collapsible, {
|
|
12165
12167
|
className: classes.collapsible,
|
|
@@ -12171,14 +12173,14 @@ class Main extends React$1.Component {
|
|
|
12171
12173
|
__self: this,
|
|
12172
12174
|
__source: {
|
|
12173
12175
|
fileName: _jsxFileName,
|
|
12174
|
-
lineNumber:
|
|
12176
|
+
lineNumber: 647
|
|
12175
12177
|
}
|
|
12176
12178
|
}, React$1.createElement(PreviewPrompt, {
|
|
12177
12179
|
prompt: teacherInstructions,
|
|
12178
12180
|
__self: this,
|
|
12179
12181
|
__source: {
|
|
12180
12182
|
fileName: _jsxFileName,
|
|
12181
|
-
lineNumber:
|
|
12183
|
+
lineNumber: 655
|
|
12182
12184
|
}
|
|
12183
12185
|
})), displayNote && hasText(note) && React$1.createElement(Collapsible, {
|
|
12184
12186
|
className: classes.collapsible,
|
|
@@ -12194,14 +12196,14 @@ class Main extends React$1.Component {
|
|
|
12194
12196
|
__self: this,
|
|
12195
12197
|
__source: {
|
|
12196
12198
|
fileName: _jsxFileName,
|
|
12197
|
-
lineNumber:
|
|
12199
|
+
lineNumber: 659
|
|
12198
12200
|
}
|
|
12199
12201
|
}, React$1.createElement(PreviewPrompt, {
|
|
12200
12202
|
prompt: note,
|
|
12201
12203
|
__self: this,
|
|
12202
12204
|
__source: {
|
|
12203
12205
|
fileName: _jsxFileName,
|
|
12204
|
-
lineNumber:
|
|
12206
|
+
lineNumber: 667
|
|
12205
12207
|
}
|
|
12206
12208
|
})), rationale && hasText(rationale) && React$1.createElement(Collapsible, {
|
|
12207
12209
|
className: classes.collapsible,
|
|
@@ -12213,14 +12215,14 @@ class Main extends React$1.Component {
|
|
|
12213
12215
|
__self: this,
|
|
12214
12216
|
__source: {
|
|
12215
12217
|
fileName: _jsxFileName,
|
|
12216
|
-
lineNumber:
|
|
12218
|
+
lineNumber: 672
|
|
12217
12219
|
}
|
|
12218
12220
|
}, React$1.createElement(PreviewPrompt, {
|
|
12219
12221
|
prompt: rationale,
|
|
12220
12222
|
__self: this,
|
|
12221
12223
|
__source: {
|
|
12222
12224
|
fileName: _jsxFileName,
|
|
12223
|
-
lineNumber:
|
|
12225
|
+
lineNumber: 680
|
|
12224
12226
|
}
|
|
12225
12227
|
})), feedback && React$1.createElement(Feedback, {
|
|
12226
12228
|
correctness: correctness.correctness,
|
|
@@ -12228,13 +12230,13 @@ class Main extends React$1.Component {
|
|
|
12228
12230
|
__self: this,
|
|
12229
12231
|
__source: {
|
|
12230
12232
|
fileName: _jsxFileName,
|
|
12231
|
-
lineNumber:
|
|
12233
|
+
lineNumber: 684
|
|
12232
12234
|
}
|
|
12233
12235
|
})),
|
|
12234
12236
|
__self: this,
|
|
12235
12237
|
__source: {
|
|
12236
12238
|
fileName: _jsxFileName,
|
|
12237
|
-
lineNumber:
|
|
12239
|
+
lineNumber: 625
|
|
12238
12240
|
}
|
|
12239
12241
|
}, React$1.createElement('div', {
|
|
12240
12242
|
className: classes.mainContainer,
|
|
@@ -12242,7 +12244,7 @@ class Main extends React$1.Component {
|
|
|
12242
12244
|
__self: this,
|
|
12243
12245
|
__source: {
|
|
12244
12246
|
fileName: _jsxFileName,
|
|
12245
|
-
lineNumber:
|
|
12247
|
+
lineNumber: 688
|
|
12246
12248
|
}
|
|
12247
12249
|
}, midContent));
|
|
12248
12250
|
}
|
|
@@ -12252,7 +12254,7 @@ class Main extends React$1.Component {
|
|
|
12252
12254
|
__self: this,
|
|
12253
12255
|
__source: {
|
|
12254
12256
|
fileName: _jsxFileName,
|
|
12255
|
-
lineNumber:
|
|
12257
|
+
lineNumber: 696
|
|
12256
12258
|
}
|
|
12257
12259
|
}, midContent);
|
|
12258
12260
|
}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "7.16.
|
|
7
|
+
"version": "7.16.6",
|
|
8
8
|
"main": "lib/index.js",
|
|
9
9
|
"description": "",
|
|
10
10
|
"scripts": {
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
"@material-ui/core": "^3.9.2",
|
|
15
15
|
"@pie-framework/mathquill": "^1.1.3",
|
|
16
16
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
17
|
-
"@pie-lib/pie-toolbox": "1.
|
|
17
|
+
"@pie-lib/pie-toolbox": "1.19.1",
|
|
18
18
|
"classnames": "^2.2.5",
|
|
19
19
|
"debug": "^4.1.1",
|
|
20
20
|
"lodash": "^4.17.10",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
},
|
|
25
25
|
"author": "",
|
|
26
26
|
"license": "ISC",
|
|
27
|
-
"gitHead": "
|
|
27
|
+
"gitHead": "03c6ec6ef5b3ce2df9dd0b4cb42fdfd0eea9b06b",
|
|
28
28
|
"module": "src/index.js",
|
|
29
29
|
"exports": {
|
|
30
30
|
".": "./src/index.js",
|