@pie-element/math-templated 6.2.0-next.0 → 6.2.0-next.10
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 +57 -0
- package/configure/CHANGELOG.md +51 -0
- package/configure/lib/defaults.js +1 -1
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/response.js +1 -1
- package/configure/lib/response.js.map +1 -1
- package/configure/package.json +5 -5
- package/controller/CHANGELOG.md +4 -0
- package/controller/package.json +1 -1
- package/lib/main.js +131 -12
- package/lib/main.js.map +1 -1
- package/module/configure.js +1 -0
- package/module/controller.js +3711 -0
- package/module/demo.js +67 -0
- package/module/element.js +1 -0
- package/module/index.html +21 -0
- package/module/manifest.json +22 -0
- package/module/print-demo.js +105 -0
- package/module/print.html +18 -0
- package/module/print.js +1 -0
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,63 @@
|
|
|
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.2.0-next.10](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.9...@pie-element/math-templated@6.2.0-next.10) (2026-04-23)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- **math-templated:** handle math keypad possition according to req, avoid kekpad move by adding content in input PIE-23 ([9769816](https://github.com/pie-framework/pie-elements/commit/9769816260a2961d20a2a9c258c784796f5bbc5f))
|
|
11
|
+
|
|
12
|
+
# [6.2.0-next.9](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.8...@pie-element/math-templated@6.2.0-next.9) (2026-04-17)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- bump libs PIE-129 ([cee3e10](https://github.com/pie-framework/pie-elements/commit/cee3e109a9c1d9a68ab592781c968f6b27209846))
|
|
17
|
+
|
|
18
|
+
# [6.2.0-next.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.7...@pie-element/math-templated@6.2.0-next.8) (2026-04-16)
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
- bump libs PIE-46, PIE-25, PIE-54, PIE-44, PIE-29, PIE-13, PIE-129 ([5c17838](https://github.com/pie-framework/pie-elements/commit/5c17838a53483437e42dc679a4361e16b7ef5e31))
|
|
23
|
+
- missing spacing PD-5450 ([0d3d604](https://github.com/pie-framework/pie-elements/commit/0d3d604b73843bc0dfcd993a7a433c603f5dec52))
|
|
24
|
+
|
|
25
|
+
# [6.2.0-next.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.6...@pie-element/math-templated@6.2.0-next.7) (2026-04-13)
|
|
26
|
+
|
|
27
|
+
### Bug Fixes
|
|
28
|
+
|
|
29
|
+
- bump libs PIE-34 ([9f8b35a](https://github.com/pie-framework/pie-elements/commit/9f8b35a856ca1eba67d5630a358b96226cfca984))
|
|
30
|
+
|
|
31
|
+
# [6.2.0-next.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.5...@pie-element/math-templated@6.2.0-next.6) (2026-04-10)
|
|
32
|
+
|
|
33
|
+
### Features
|
|
34
|
+
|
|
35
|
+
- **math-inline:** replace @pie-framework/mathquill with math-input helpers PIE-56, bump libs PIE-34, PIE-57, PIE-36, PIE-38, PIE-18 ([abd205e](https://github.com/pie-framework/pie-elements/commit/abd205e9c8335957b9fc2548822e4125bf1a7edb))
|
|
36
|
+
|
|
37
|
+
# [6.2.0-next.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.4...@pie-element/math-templated@6.2.0-next.5) (2026-04-08)
|
|
38
|
+
|
|
39
|
+
### Bug Fixes
|
|
40
|
+
|
|
41
|
+
- set edit source setting to false PD-5672 ([79c12a4](https://github.com/pie-framework/pie-elements/commit/79c12a4a4e2c97a27cab96999e6577776bd8e7c1))
|
|
42
|
+
|
|
43
|
+
# [6.2.0-next.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.3...@pie-element/math-templated@6.2.0-next.4) (2026-04-08)
|
|
44
|
+
|
|
45
|
+
### Bug Fixes
|
|
46
|
+
|
|
47
|
+
- bump shared modules and libs PIE-53, PIE-48, PIE-114, PIE-74, PIE-35, PIE-40, PIE-27 ([3e6682d](https://github.com/pie-framework/pie-elements/commit/3e6682db1eb23414f3a4222abe13d2dd8ae5378e))
|
|
48
|
+
|
|
49
|
+
# [6.2.0-next.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.2...@pie-element/math-templated@6.2.0-next.3) (2026-04-03)
|
|
50
|
+
|
|
51
|
+
**Note:** Version bump only for package @pie-element/math-templated
|
|
52
|
+
|
|
53
|
+
# [6.2.0-next.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.1...@pie-element/math-templated@6.2.0-next.2) (2026-03-25)
|
|
54
|
+
|
|
55
|
+
**Note:** Version bump only for package @pie-element/math-templated
|
|
56
|
+
|
|
57
|
+
# [6.2.0-next.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.2.0-next.0...@pie-element/math-templated@6.2.0-next.1) (2026-03-19)
|
|
58
|
+
|
|
59
|
+
### Features
|
|
60
|
+
|
|
61
|
+
- bump libs PD-5669, PD-5530, PD-5496,PD-5501, PD-5790, PD-5622, PD-5811, PD-5590, PD-5510 ([1c7cfc4](https://github.com/pie-framework/pie-elements/commit/1c7cfc4ea91dfd631b9e2ca23810b65a4a4585cf))
|
|
62
|
+
|
|
6
63
|
# [6.2.0-next.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated@6.1.1-next.5...@pie-element/math-templated@6.2.0-next.0) (2026-03-18)
|
|
7
64
|
|
|
8
65
|
### Bug Fixes
|
package/configure/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,57 @@
|
|
|
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
|
+
# [4.2.0-next.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.2.0-next.7...@pie-element/math-templated-configure@4.2.0-next.8) (2026-04-17)
|
|
7
|
+
|
|
8
|
+
### Bug Fixes
|
|
9
|
+
|
|
10
|
+
- bump libs PIE-129 ([cee3e10](https://github.com/pie-framework/pie-elements/commit/cee3e109a9c1d9a68ab592781c968f6b27209846))
|
|
11
|
+
|
|
12
|
+
# [4.2.0-next.7](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.2.0-next.6...@pie-element/math-templated-configure@4.2.0-next.7) (2026-04-16)
|
|
13
|
+
|
|
14
|
+
### Bug Fixes
|
|
15
|
+
|
|
16
|
+
- bump libs PIE-46, PIE-25, PIE-54, PIE-44, PIE-29, PIE-13, PIE-129 ([5c17838](https://github.com/pie-framework/pie-elements/commit/5c17838a53483437e42dc679a4361e16b7ef5e31))
|
|
17
|
+
- missing spacing PD-5450 ([0d3d604](https://github.com/pie-framework/pie-elements/commit/0d3d604b73843bc0dfcd993a7a433c603f5dec52))
|
|
18
|
+
|
|
19
|
+
# [4.2.0-next.6](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.2.0-next.5...@pie-element/math-templated-configure@4.2.0-next.6) (2026-04-13)
|
|
20
|
+
|
|
21
|
+
### Bug Fixes
|
|
22
|
+
|
|
23
|
+
- bump libs PIE-34 ([9f8b35a](https://github.com/pie-framework/pie-elements/commit/9f8b35a856ca1eba67d5630a358b96226cfca984))
|
|
24
|
+
|
|
25
|
+
# [4.2.0-next.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.2.0-next.4...@pie-element/math-templated-configure@4.2.0-next.5) (2026-04-10)
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
- **math-inline:** replace @pie-framework/mathquill with math-input helpers PIE-56, bump libs PIE-34, PIE-57, PIE-36, PIE-38, PIE-18 ([abd205e](https://github.com/pie-framework/pie-elements/commit/abd205e9c8335957b9fc2548822e4125bf1a7edb))
|
|
30
|
+
|
|
31
|
+
# [4.2.0-next.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.2.0-next.3...@pie-element/math-templated-configure@4.2.0-next.4) (2026-04-08)
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
|
|
35
|
+
- set edit source setting to false PD-5672 ([79c12a4](https://github.com/pie-framework/pie-elements/commit/79c12a4a4e2c97a27cab96999e6577776bd8e7c1))
|
|
36
|
+
|
|
37
|
+
# [4.2.0-next.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.2.0-next.2...@pie-element/math-templated-configure@4.2.0-next.3) (2026-04-08)
|
|
38
|
+
|
|
39
|
+
### Bug Fixes
|
|
40
|
+
|
|
41
|
+
- bump shared modules and libs PIE-53, PIE-48, PIE-114, PIE-74, PIE-35, PIE-40, PIE-27 ([3e6682d](https://github.com/pie-framework/pie-elements/commit/3e6682db1eb23414f3a4222abe13d2dd8ae5378e))
|
|
42
|
+
|
|
43
|
+
# [4.2.0-next.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.2.0-next.1...@pie-element/math-templated-configure@4.2.0-next.2) (2026-04-03)
|
|
44
|
+
|
|
45
|
+
**Note:** Version bump only for package @pie-element/math-templated-configure
|
|
46
|
+
|
|
47
|
+
# [4.2.0-next.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.2.0-next.0...@pie-element/math-templated-configure@4.2.0-next.1) (2026-03-25)
|
|
48
|
+
|
|
49
|
+
**Note:** Version bump only for package @pie-element/math-templated-configure
|
|
50
|
+
|
|
51
|
+
# [4.2.0-next.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.1.1-next.4...@pie-element/math-templated-configure@4.2.0-next.0) (2026-03-19)
|
|
52
|
+
|
|
53
|
+
### Features
|
|
54
|
+
|
|
55
|
+
- bump libs PD-5669, PD-5530, PD-5496,PD-5501, PD-5790, PD-5622, PD-5811, PD-5590, PD-5510 ([1c7cfc4](https://github.com/pie-framework/pie-elements/commit/1c7cfc4ea91dfd631b9e2ca23810b65a4a4585cf))
|
|
56
|
+
|
|
6
57
|
## [4.1.1-next.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-configure@4.1.1-next.3...@pie-element/math-templated-configure@4.1.1-next.4) (2026-03-12)
|
|
7
58
|
|
|
8
59
|
### Bug Fixes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"defaults.js","names":["_default","exports","default","model","allowTrailingZerosDefault","equationEditor","ignoreOrderDefault","markup","playerSpellCheckEnabled","prompt","promptEnabled","rationale","rationaleEnabled","responses","spellCheckEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","validationDefault","configuration","ignoreOrder","settings","label","enabled","allowTrailingZeros","partialScoring","baseInputConfiguration","html","disabled","audio","video","image","h3","blockquote","textAlign","showParagraphs","separateParagraphs","inputConfiguration","required","spellCheck","editSource","playerSpellCheck","template","maxImageWidth","maxImageHeight","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options","maxResponseAreas"],"sources":["../src/defaults.js"],"sourcesContent":["// Should be exactly the same as controller/defaults.js\nexport default {\n model: {\n allowTrailingZerosDefault: false,\n equationEditor: '8',\n ignoreOrderDefault: false,\n markup: '',\n playerSpellCheckEnabled: true,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n responses: {},\n spellCheckEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n validationDefault: 'literal',\n },\n configuration: {\n ignoreOrder: {\n settings: true,\n label: 'Ignore Order',\n enabled: true,\n },\n allowTrailingZeros: {\n settings: true,\n label: 'Allow Trailing Zeros',\n enabled: true,\n },\n partialScoring: {\n settings: true,\n label: 'Allow Partial Scoring',\n },\n baseInputConfiguration: {\n html: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n h3: { disabled: true },\n blockquote: { disabled: true },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n prompt: {\n label: 'Prompt',\n settings: true,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n editSource: {\n label: 'Edit Source',\n settings:
|
|
1
|
+
{"version":3,"file":"defaults.js","names":["_default","exports","default","model","allowTrailingZerosDefault","equationEditor","ignoreOrderDefault","markup","playerSpellCheckEnabled","prompt","promptEnabled","rationale","rationaleEnabled","responses","spellCheckEnabled","teacherInstructions","teacherInstructionsEnabled","toolbarEditorPosition","validationDefault","configuration","ignoreOrder","settings","label","enabled","allowTrailingZeros","partialScoring","baseInputConfiguration","html","disabled","audio","video","image","h3","blockquote","textAlign","showParagraphs","separateParagraphs","inputConfiguration","required","spellCheck","editSource","playerSpellCheck","template","maxImageWidth","maxImageHeight","mathMlOptions","mmlOutput","mmlEditing","language","languageChoices","options","maxResponseAreas"],"sources":["../src/defaults.js"],"sourcesContent":["// Should be exactly the same as controller/defaults.js\nexport default {\n model: {\n allowTrailingZerosDefault: false,\n equationEditor: '8',\n ignoreOrderDefault: false,\n markup: '',\n playerSpellCheckEnabled: true,\n prompt: '',\n promptEnabled: true,\n rationale: '',\n rationaleEnabled: true,\n responses: {},\n spellCheckEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom',\n validationDefault: 'literal',\n },\n configuration: {\n ignoreOrder: {\n settings: true,\n label: 'Ignore Order',\n enabled: true,\n },\n allowTrailingZeros: {\n settings: true,\n label: 'Allow Trailing Zeros',\n enabled: true,\n },\n partialScoring: {\n settings: true,\n label: 'Allow Partial Scoring',\n },\n baseInputConfiguration: {\n html: { disabled: true },\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n h3: { disabled: true },\n blockquote: { disabled: true },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n prompt: {\n label: 'Prompt',\n settings: true,\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n editSource: {\n label: 'Edit Source',\n settings: false,\n enabled: false,\n },\n playerSpellCheck: {\n label: 'Student Spellcheck',\n settings: true,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n rationale: {\n settings: true,\n label: 'Rationale',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n template: {\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n maxImageWidth: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n maxImageHeight: {\n teacherInstructions: 300,\n prompt: 300,\n rationale: 300,\n },\n mathMlOptions: {\n mmlOutput: false,\n mmlEditing: false,\n },\n language: {\n settings: false,\n label: 'Specify Language',\n enabled: false,\n },\n languageChoices: {\n label: 'Language Choices',\n options: [],\n },\n maxResponseAreas: 10,\n },\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -38,7 +38,7 @@ const ResponseContainer = (0, _styles.styled)(_Card.default)(({
|
|
|
38
38
|
const StyledCardContent = (0, _styles.styled)(_CardContent.default)(({
|
|
39
39
|
theme
|
|
40
40
|
}) => ({
|
|
41
|
-
paddingBottom: `${theme.spacing(2)}
|
|
41
|
+
paddingBottom: `${theme.spacing(2)} !important`
|
|
42
42
|
}));
|
|
43
43
|
const StyledTitle = (0, _styles.styled)(_Typography.default)({
|
|
44
44
|
fontWeight: 700,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_configUi","_mathToolbar","_Card","_CardContent","_Button","_FormControlLabel","_Typography","_InputLabel","_Checkbox","_Select","_MenuItem","_styles","_IconButton","_Delete","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ResponseContainer","styled","Card","theme","marginBottom","spacing","width","minWidth","border","palette","grey","display","flexDirection","justifyContent","StyledCardContent","CardContent","paddingBottom","StyledTitle","Typography","fontWeight","fontSize","flex","StyledSelectContainer","InputContainer","marginTop","InputContainerWrapper","TitleBar","alignItems","FlexContainer","AlternateButton","Button","color","text","RemoveAlternateButton","IconButton","marginLeft","ErrorText","typography","error","main","paddingTop","ResponseBox","background","padding","AlternateBar","CustomColorCheckbox","Checkbox","tertiary","document","styleId","getElementById","style","createElement","id","textContent","head","appendChild","Response","Component","constructor","props","_defineProperty2","name","evt","response","onResponseChange","responseKey","newResponse","target","value","checked","answer","alternateId","alternates","alternateIdCounter","state","setState","showKeypad","openCount","onResponseDone","alternatesLength","keys","length","render","mode","cAllowTrailingZeros","cIgnoreOrder","validation","ignoreOrder","allowTrailingZeros","hasAlternates","classNames","editor","mathToolbar","styles","minHeight","keyToDisplay","parseInt","component","label","onChange","MenuProps","transitionDuration","enter","exit","enabled","control","onLiteralOptionsChange","MathToolbar","keypadMode","controlledKeypad","latex","onAnswerChange","onFocus","onDone","map","altIdx","key","onAlternateAnswerChange","onAlternateFocus","onAlternateDone","onClick","onRemoveAlternate","size","type","onAddAlternate","exports","defaultResponse","PropTypes","bool","object","oneOfType","string","number","func","isRequired","_default"],"sources":["../src/response.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Button from '@mui/material/Button';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Typography from '@mui/material/Typography';\nimport InputLabel from '@mui/material/InputLabel';\nimport Checkbox from '@mui/material/Checkbox';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport { styled } from '@mui/material/styles';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { color } from '@pie-lib/render-ui';\n\nconst ResponseContainer = styled(Card)(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n width: '100%',\n minWidth: '548px',\n border: `1px solid ${theme.palette.grey[700]}`,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n}));\n\nconst StyledCardContent = styled(CardContent)(({ theme }) => ({\n paddingBottom: `${theme.spacing(2)}px !important`,\n}));\n\nconst StyledTitle = styled(Typography)({\n fontWeight: 700,\n fontSize: '1.2rem',\n flex: 3,\n});\n\nconst StyledSelectContainer = styled(InputContainer)(({ theme }) => ({\n flex: 2,\n '& > *:not(label)': {\n marginTop: theme.spacing(1),\n },\n}));\n\nconst InputContainerWrapper = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst TitleBar = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n});\n\nconst FlexContainer = styled('div')({\n display: 'flex',\n});\n\nconst AlternateButton = styled(Button)(({ theme }) => ({\n border: `1px solid ${theme.palette.grey['A400']}`,\n color: color.text(),\n}));\n\nconst RemoveAlternateButton = styled(IconButton)(({ theme }) => ({\n marginLeft: theme.spacing(1),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst ResponseBox = styled('div')(({ theme }) => ({\n background: theme.palette.grey['A100'],\n color: theme.palette.grey['A700'],\n display: 'inline',\n minWidth: '50px',\n padding: '8px',\n border: '1px solid #C0C3CF',\n}));\n\nconst AlternateBar = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n});\n\nconst CustomColorCheckbox = styled(Checkbox)({\n color: `${color.tertiary()} !important`,\n});\n\n// CSS for MathToolbar classNames (used as strings)\nif (typeof document !== 'undefined') {\n const styleId = 'math-templated-response-styles';\n if (!document.getElementById(styleId)) {\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = `\n .response-editor {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 500px;\n max-width: 900px;\n height: auto;\n min-height: 40px;\n }\n .math-toolbar {\n width: 100%;\n }\n `;\n document.head.appendChild(style);\n }\n}\n\nexport class Response extends React.Component {\n static propTypes = {\n defaultResponse: PropTypes.bool,\n error: PropTypes.object,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onResponseChange: PropTypes.func.isRequired,\n onResponseDone: PropTypes.func.isRequired,\n response: PropTypes.object.isRequired,\n cIgnoreOrder: PropTypes.object.isRequired,\n cAllowTrailingZeros: PropTypes.object.isRequired,\n responseKey: PropTypes.number.isRequired,\n };\n\n static defaultProps = {\n defaultResponse: false,\n mode: '8',\n };\n\n constructor(props) {\n super(props);\n\n const { response: { alternates } = {} } = props || {};\n const alternatesLength = Object.keys(alternates || {}).length;\n\n this.state = {\n alternateIdCounter: alternatesLength + 1,\n showKeypad: {\n openCount: 0,\n main: false,\n },\n };\n }\n\n onChange = (name) => (evt) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.value;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onConfigChanged = (name) => (evt) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.checked;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onLiteralOptionsChange = (name) => () => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = !response[name];\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAnswerChange = (answer) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse.answer = answer;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAlternateAnswerChange = (alternateId) => (answer) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse.alternates[alternateId] = answer;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAddAlternate = () => {\n const { response, onResponseChange, responseKey } = this.props;\n const { alternateIdCounter } = this.state;\n const newResponse = { ...response };\n\n if (!newResponse.alternates) {\n newResponse.alternates = {};\n }\n\n newResponse.alternates[alternateIdCounter] = '';\n\n onResponseChange(newResponse, responseKey);\n\n this.setState({\n alternateIdCounter: alternateIdCounter + 1,\n });\n };\n\n onRemoveAlternate = (alternateId) => () => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n delete newResponse.alternates[alternateId];\n\n onResponseChange(newResponse, responseKey);\n\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1,\n },\n }));\n };\n\n onDone = () => {\n const { onResponseDone } = this.props;\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n main: false,\n },\n }));\n\n onResponseDone();\n };\n\n onFocus = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n main: true,\n },\n }));\n };\n\n onAlternateFocus = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n [alternateId]: true,\n },\n }));\n };\n\n onAlternateDone = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n [alternateId]: false,\n },\n }));\n };\n\n render() {\n const { mode, responseKey, response, cAllowTrailingZeros, cIgnoreOrder, error } = this.props;\n const { showKeypad } = this.state;\n const { validation, answer, alternates, ignoreOrder, allowTrailingZeros } = response;\n const hasAlternates = Object.keys(alternates || {}).length > 0;\n const classNames = {\n editor: 'response-editor',\n mathToolbar: 'math-toolbar',\n };\n const styles = {\n minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`,\n };\n // add 1 to index to display R 1 instead of R 0\n const keyToDisplay = `R ${parseInt(responseKey) + 1}`;\n\n return (\n <ResponseContainer style={styles}>\n <StyledCardContent>\n <TitleBar>\n <StyledTitle component=\"div\">\n Response for <ResponseBox>{keyToDisplay}</ResponseBox>\n </StyledTitle>\n\n <StyledSelectContainer label=\"Validation\">\n <Select onChange={this.onChange('validation')} value={validation || 'literal'} MenuProps={{transitionDuration: { enter: 225, exit: 195 } }}>\n <MenuItem value=\"literal\">Literal Validation</MenuItem>\n <MenuItem value=\"symbolic\">Symbolic Validation</MenuItem>\n </Select>\n </StyledSelectContainer>\n </TitleBar>\n\n {validation === 'literal' && (\n <FlexContainer>\n {cAllowTrailingZeros.enabled && (\n <FormControlLabel\n label={cAllowTrailingZeros.label}\n control={\n <CustomColorCheckbox\n checked={allowTrailingZeros}\n onChange={this.onLiteralOptionsChange('allowTrailingZeros')}\n />\n }\n />\n )}\n\n {cIgnoreOrder.enabled && (\n <FormControlLabel\n label={cIgnoreOrder.label}\n control={\n <CustomColorCheckbox\n checked={ignoreOrder}\n onChange={this.onLiteralOptionsChange('ignoreOrder')}\n />\n }\n />\n )}\n </FlexContainer>\n )}\n\n <InputContainerWrapper>\n <InputLabel>Correct Answer</InputLabel>\n <MathToolbar\n keypadMode={mode}\n classNames={classNames}\n controlledKeypad\n showKeypad={showKeypad.main}\n latex={answer || ''}\n onChange={this.onAnswerChange}\n onFocus={this.onFocus}\n onDone={this.onDone}\n error={error && error.answer}\n />\n {error && error.answer ? <ErrorText>{error.answer}</ErrorText> : null}\n </InputContainerWrapper>\n\n {hasAlternates &&\n Object.keys(alternates).map((alternateId, altIdx) => (\n <InputContainerWrapper key={alternateId}>\n <InputLabel>\n Alternate\n {Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''}\n </InputLabel>\n <AlternateBar>\n <MathToolbar\n classNames={classNames}\n controlledKeypad\n keypadMode={mode}\n showKeypad={showKeypad[alternateId] || false}\n latex={alternates[alternateId] || ''}\n onChange={this.onAlternateAnswerChange(alternateId)}\n onFocus={this.onAlternateFocus(alternateId)}\n onDone={this.onAlternateDone(alternateId)}\n error={error && error[alternateId]}\n />\n <RemoveAlternateButton\n onClick={this.onRemoveAlternate(alternateId)}\n size=\"large\">\n <Delete />\n </RemoveAlternateButton>\n </AlternateBar>\n {error && error[alternateId] ? <ErrorText>{error[alternateId]}</ErrorText> : null}\n </InputContainerWrapper>\n ))}\n\n <AlternateButton type=\"primary\" onClick={this.onAddAlternate}>\n ADD ALTERNATE\n </AlternateButton>\n </StyledCardContent>\n </ResponseContainer>\n );\n }\n}\n\nexport default Response;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"response.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_configUi","_mathToolbar","_Card","_CardContent","_Button","_FormControlLabel","_Typography","_InputLabel","_Checkbox","_Select","_MenuItem","_styles","_IconButton","_Delete","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ResponseContainer","styled","Card","theme","marginBottom","spacing","width","minWidth","border","palette","grey","display","flexDirection","justifyContent","StyledCardContent","CardContent","paddingBottom","StyledTitle","Typography","fontWeight","fontSize","flex","StyledSelectContainer","InputContainer","marginTop","InputContainerWrapper","TitleBar","alignItems","FlexContainer","AlternateButton","Button","color","text","RemoveAlternateButton","IconButton","marginLeft","ErrorText","typography","error","main","paddingTop","ResponseBox","background","padding","AlternateBar","CustomColorCheckbox","Checkbox","tertiary","document","styleId","getElementById","style","createElement","id","textContent","head","appendChild","Response","Component","constructor","props","_defineProperty2","name","evt","response","onResponseChange","responseKey","newResponse","target","value","checked","answer","alternateId","alternates","alternateIdCounter","state","setState","showKeypad","openCount","onResponseDone","alternatesLength","keys","length","render","mode","cAllowTrailingZeros","cIgnoreOrder","validation","ignoreOrder","allowTrailingZeros","hasAlternates","classNames","editor","mathToolbar","styles","minHeight","keyToDisplay","parseInt","component","label","onChange","MenuProps","transitionDuration","enter","exit","enabled","control","onLiteralOptionsChange","MathToolbar","keypadMode","controlledKeypad","latex","onAnswerChange","onFocus","onDone","map","altIdx","key","onAlternateAnswerChange","onAlternateFocus","onAlternateDone","onClick","onRemoveAlternate","size","type","onAddAlternate","exports","defaultResponse","PropTypes","bool","object","oneOfType","string","number","func","isRequired","_default"],"sources":["../src/response.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport Button from '@mui/material/Button';\nimport FormControlLabel from '@mui/material/FormControlLabel';\nimport Typography from '@mui/material/Typography';\nimport InputLabel from '@mui/material/InputLabel';\nimport Checkbox from '@mui/material/Checkbox';\nimport Select from '@mui/material/Select';\nimport MenuItem from '@mui/material/MenuItem';\nimport { styled } from '@mui/material/styles';\nimport IconButton from '@mui/material/IconButton';\nimport Delete from '@mui/icons-material/Delete';\nimport { color } from '@pie-lib/render-ui';\n\nconst ResponseContainer = styled(Card)(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n width: '100%',\n minWidth: '548px',\n border: `1px solid ${theme.palette.grey[700]}`,\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-between',\n}));\n\nconst StyledCardContent = styled(CardContent)(({ theme }) => ({\n paddingBottom: `${theme.spacing(2)} !important`,\n}));\n\nconst StyledTitle = styled(Typography)({\n fontWeight: 700,\n fontSize: '1.2rem',\n flex: 3,\n});\n\nconst StyledSelectContainer = styled(InputContainer)(({ theme }) => ({\n flex: 2,\n '& > *:not(label)': {\n marginTop: theme.spacing(1),\n },\n}));\n\nconst InputContainerWrapper = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst TitleBar = styled('div')({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n});\n\nconst FlexContainer = styled('div')({\n display: 'flex',\n});\n\nconst AlternateButton = styled(Button)(({ theme }) => ({\n border: `1px solid ${theme.palette.grey['A400']}`,\n color: color.text(),\n}));\n\nconst RemoveAlternateButton = styled(IconButton)(({ theme }) => ({\n marginLeft: theme.spacing(1),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst ResponseBox = styled('div')(({ theme }) => ({\n background: theme.palette.grey['A100'],\n color: theme.palette.grey['A700'],\n display: 'inline',\n minWidth: '50px',\n padding: '8px',\n border: '1px solid #C0C3CF',\n}));\n\nconst AlternateBar = styled('div')({\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n});\n\nconst CustomColorCheckbox = styled(Checkbox)({\n color: `${color.tertiary()} !important`,\n});\n\n// CSS for MathToolbar classNames (used as strings)\nif (typeof document !== 'undefined') {\n const styleId = 'math-templated-response-styles';\n if (!document.getElementById(styleId)) {\n const style = document.createElement('style');\n style.id = styleId;\n style.textContent = `\n .response-editor {\n display: flex;\n align-items: center;\n justify-content: center;\n width: 100%;\n min-width: 500px;\n max-width: 900px;\n height: auto;\n min-height: 40px;\n }\n .math-toolbar {\n width: 100%;\n }\n `;\n document.head.appendChild(style);\n }\n}\n\nexport class Response extends React.Component {\n static propTypes = {\n defaultResponse: PropTypes.bool,\n error: PropTypes.object,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n onResponseChange: PropTypes.func.isRequired,\n onResponseDone: PropTypes.func.isRequired,\n response: PropTypes.object.isRequired,\n cIgnoreOrder: PropTypes.object.isRequired,\n cAllowTrailingZeros: PropTypes.object.isRequired,\n responseKey: PropTypes.number.isRequired,\n };\n\n static defaultProps = {\n defaultResponse: false,\n mode: '8',\n };\n\n constructor(props) {\n super(props);\n\n const { response: { alternates } = {} } = props || {};\n const alternatesLength = Object.keys(alternates || {}).length;\n\n this.state = {\n alternateIdCounter: alternatesLength + 1,\n showKeypad: {\n openCount: 0,\n main: false,\n },\n };\n }\n\n onChange = (name) => (evt) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.value;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onConfigChanged = (name) => (evt) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.checked;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onLiteralOptionsChange = (name) => () => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = !response[name];\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAnswerChange = (answer) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse.answer = answer;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAlternateAnswerChange = (alternateId) => (answer) => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n newResponse.alternates[alternateId] = answer;\n\n onResponseChange(newResponse, responseKey);\n };\n\n onAddAlternate = () => {\n const { response, onResponseChange, responseKey } = this.props;\n const { alternateIdCounter } = this.state;\n const newResponse = { ...response };\n\n if (!newResponse.alternates) {\n newResponse.alternates = {};\n }\n\n newResponse.alternates[alternateIdCounter] = '';\n\n onResponseChange(newResponse, responseKey);\n\n this.setState({\n alternateIdCounter: alternateIdCounter + 1,\n });\n };\n\n onRemoveAlternate = (alternateId) => () => {\n const { response, onResponseChange, responseKey } = this.props;\n const newResponse = { ...response };\n\n delete newResponse.alternates[alternateId];\n\n onResponseChange(newResponse, responseKey);\n\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount : state.showKeypad.openCount - 1,\n },\n }));\n };\n\n onDone = () => {\n const { onResponseDone } = this.props;\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n main: false,\n },\n }));\n\n onResponseDone();\n };\n\n onFocus = () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad.main ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n main: true,\n },\n }));\n };\n\n onAlternateFocus = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: !state.showKeypad[alternateId] ? state.showKeypad.openCount + 1 : state.showKeypad.openCount,\n [alternateId]: true,\n },\n }));\n };\n\n onAlternateDone = (alternateId) => () => {\n this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n [alternateId]: false,\n },\n }));\n };\n\n render() {\n const { mode, responseKey, response, cAllowTrailingZeros, cIgnoreOrder, error } = this.props;\n const { showKeypad } = this.state;\n const { validation, answer, alternates, ignoreOrder, allowTrailingZeros } = response;\n const hasAlternates = Object.keys(alternates || {}).length > 0;\n const classNames = {\n editor: 'response-editor',\n mathToolbar: 'math-toolbar',\n };\n const styles = {\n minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`,\n };\n // add 1 to index to display R 1 instead of R 0\n const keyToDisplay = `R ${parseInt(responseKey) + 1}`;\n\n return (\n <ResponseContainer style={styles}>\n <StyledCardContent>\n <TitleBar>\n <StyledTitle component=\"div\">\n Response for <ResponseBox>{keyToDisplay}</ResponseBox>\n </StyledTitle>\n\n <StyledSelectContainer label=\"Validation\">\n <Select onChange={this.onChange('validation')} value={validation || 'literal'} MenuProps={{transitionDuration: { enter: 225, exit: 195 } }}>\n <MenuItem value=\"literal\">Literal Validation</MenuItem>\n <MenuItem value=\"symbolic\">Symbolic Validation</MenuItem>\n </Select>\n </StyledSelectContainer>\n </TitleBar>\n\n {validation === 'literal' && (\n <FlexContainer>\n {cAllowTrailingZeros.enabled && (\n <FormControlLabel\n label={cAllowTrailingZeros.label}\n control={\n <CustomColorCheckbox\n checked={allowTrailingZeros}\n onChange={this.onLiteralOptionsChange('allowTrailingZeros')}\n />\n }\n />\n )}\n\n {cIgnoreOrder.enabled && (\n <FormControlLabel\n label={cIgnoreOrder.label}\n control={\n <CustomColorCheckbox\n checked={ignoreOrder}\n onChange={this.onLiteralOptionsChange('ignoreOrder')}\n />\n }\n />\n )}\n </FlexContainer>\n )}\n\n <InputContainerWrapper>\n <InputLabel>Correct Answer</InputLabel>\n <MathToolbar\n keypadMode={mode}\n classNames={classNames}\n controlledKeypad\n showKeypad={showKeypad.main}\n latex={answer || ''}\n onChange={this.onAnswerChange}\n onFocus={this.onFocus}\n onDone={this.onDone}\n error={error && error.answer}\n />\n {error && error.answer ? <ErrorText>{error.answer}</ErrorText> : null}\n </InputContainerWrapper>\n\n {hasAlternates &&\n Object.keys(alternates).map((alternateId, altIdx) => (\n <InputContainerWrapper key={alternateId}>\n <InputLabel>\n Alternate\n {Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''}\n </InputLabel>\n <AlternateBar>\n <MathToolbar\n classNames={classNames}\n controlledKeypad\n keypadMode={mode}\n showKeypad={showKeypad[alternateId] || false}\n latex={alternates[alternateId] || ''}\n onChange={this.onAlternateAnswerChange(alternateId)}\n onFocus={this.onAlternateFocus(alternateId)}\n onDone={this.onAlternateDone(alternateId)}\n error={error && error[alternateId]}\n />\n <RemoveAlternateButton\n onClick={this.onRemoveAlternate(alternateId)}\n size=\"large\">\n <Delete />\n </RemoveAlternateButton>\n </AlternateBar>\n {error && error[alternateId] ? <ErrorText>{error[alternateId]}</ErrorText> : null}\n </InputContainerWrapper>\n ))}\n\n <AlternateButton type=\"primary\" onClick={this.onAddAlternate}>\n ADD ALTERNATE\n </AlternateButton>\n </StyledCardContent>\n </ResponseContainer>\n );\n }\n}\n\nexport default Response;\n"],"mappings":"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","ignoreList":[]}
|
package/configure/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/math-templated-configure",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "4.
|
|
4
|
+
"version": "4.2.0-next.8",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
@@ -11,10 +11,10 @@
|
|
|
11
11
|
"@mui/icons-material": "^7.3.4",
|
|
12
12
|
"@mui/material": "^7.3.4",
|
|
13
13
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
14
|
-
"@pie-lib/config-ui": "12.2.0-next.
|
|
15
|
-
"@pie-lib/editable-html-tip-tap": "1.2.0-next.
|
|
16
|
-
"@pie-lib/math-toolbar": "2.2.0-next.
|
|
17
|
-
"@pie-lib/render-ui": "5.2.0-next.
|
|
14
|
+
"@pie-lib/config-ui": "12.2.0-next.36",
|
|
15
|
+
"@pie-lib/editable-html-tip-tap": "1.2.0-next.35",
|
|
16
|
+
"@pie-lib/math-toolbar": "2.2.0-next.15",
|
|
17
|
+
"@pie-lib/render-ui": "5.2.0-next.8",
|
|
18
18
|
"debug": "^4.1.1",
|
|
19
19
|
"lodash-es": "^4.17.23",
|
|
20
20
|
"prop-types": "^15.8.1",
|
package/controller/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,10 @@
|
|
|
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
|
+
# [5.2.0-next.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-controller@5.2.0-next.0...@pie-element/math-templated-controller@5.2.0-next.1) (2026-04-03)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-element/math-templated-controller
|
|
9
|
+
|
|
6
10
|
# [5.2.0-next.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/math-templated-controller@5.1.1-next.1...@pie-element/math-templated-controller@5.2.0-next.0) (2026-03-18)
|
|
7
11
|
|
|
8
12
|
### Bug Fixes
|
package/controller/package.json
CHANGED
package/lib/main.js
CHANGED
|
@@ -213,6 +213,7 @@ let registered = false;
|
|
|
213
213
|
// Define a regex pattern to match {{number}}
|
|
214
214
|
const REGEX = /(\{\{\d+\}\})/gm;
|
|
215
215
|
const DEFAULT_KEYPAD_VARIANT = 6;
|
|
216
|
+
const KEYPAD_VIEWPORT_PADDING = 8;
|
|
216
217
|
|
|
217
218
|
// !!! If you're using Chrome but have selected the "iPad" device in Chrome Developer Tools, the navigator.userAgent string may still report as
|
|
218
219
|
// Safari because Chrome on iOS actually uses the Safari rendering engine under the hood due to Apple's restrictions on third-party browser engines.
|
|
@@ -280,6 +281,59 @@ function prepareForStatic(model, state) {
|
|
|
280
281
|
}, {});
|
|
281
282
|
}
|
|
282
283
|
}
|
|
284
|
+
|
|
285
|
+
/**
|
|
286
|
+
* Popper.js v2 modifier that implements precise horizontal placement:
|
|
287
|
+
*
|
|
288
|
+
* 1. Default: left-align the keypad with the left edge of the response area.
|
|
289
|
+
*
|
|
290
|
+
* 2. Overflow: if left-aligning would push the right edge of the keypad past
|
|
291
|
+
* the viewport's right edge, right-align the keypad so that its right edge
|
|
292
|
+
* sits exactly at the left edge of the response area.
|
|
293
|
+
*
|
|
294
|
+
* In both cases we compute offsets.x from first principles (rather than
|
|
295
|
+
* adjusting whatever Popper already set) to avoid any upstream skew.
|
|
296
|
+
*
|
|
297
|
+
* Coordinate note:
|
|
298
|
+
* state.rects.reference.x — reference's left edge in offset-parent coords.
|
|
299
|
+
* getBoundingClientRect() — viewport-relative coords.
|
|
300
|
+
* Both describe the same physical point, so the difference between them is
|
|
301
|
+
* the constant offset needed to convert viewport ↔ offset-parent coords.
|
|
302
|
+
*/
|
|
303
|
+
const smartHorizontalPlacementModifier = {
|
|
304
|
+
name: 'smartHorizontalPlacement',
|
|
305
|
+
enabled: true,
|
|
306
|
+
phase: 'main',
|
|
307
|
+
requires: ['popperOffsets'],
|
|
308
|
+
fn: ({
|
|
309
|
+
state
|
|
310
|
+
}) => {
|
|
311
|
+
const offsets = state.modifiersData.popperOffsets;
|
|
312
|
+
if (!offsets) return;
|
|
313
|
+
const viewportWidth = window.innerWidth || document.documentElement.clientWidth;
|
|
314
|
+
const popperWidth = state.rects.popper.width;
|
|
315
|
+
const referenceViewportLeft = state.elements.reference.getBoundingClientRect().left;
|
|
316
|
+
const offsetParentEl = state.elements.popper?.offsetParent;
|
|
317
|
+
const offsetParentRect = offsetParentEl?.getBoundingClientRect?.() || {
|
|
318
|
+
left: 0
|
|
319
|
+
};
|
|
320
|
+
const offsetParentScrollLeft = offsetParentEl?.scrollLeft || 0;
|
|
321
|
+
const referenceOffsetParentX = referenceViewportLeft - offsetParentRect.left + offsetParentScrollLeft;
|
|
322
|
+
const viewportLeftInOffsetParent = referenceOffsetParentX - referenceViewportLeft;
|
|
323
|
+
const minX = viewportLeftInOffsetParent + KEYPAD_VIEWPORT_PADDING;
|
|
324
|
+
const maxX = viewportLeftInOffsetParent + viewportWidth - popperWidth - KEYPAD_VIEWPORT_PADDING;
|
|
325
|
+
if (referenceViewportLeft + popperWidth <= viewportWidth) {
|
|
326
|
+
offsets.x = referenceOffsetParentX;
|
|
327
|
+
} else {
|
|
328
|
+
offsets.x = referenceOffsetParentX - popperWidth;
|
|
329
|
+
}
|
|
330
|
+
if (maxX < minX) {
|
|
331
|
+
offsets.x = minX;
|
|
332
|
+
} else {
|
|
333
|
+
offsets.x = Math.min(Math.max(offsets.x, minX), maxX);
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
};
|
|
283
337
|
class Main extends _react.default.Component {
|
|
284
338
|
constructor(props) {
|
|
285
339
|
super(props);
|
|
@@ -312,8 +366,28 @@ class Main extends _react.default.Component {
|
|
|
312
366
|
(0, _mathRendering.renderMath)(this.root);
|
|
313
367
|
});
|
|
314
368
|
(0, _defineProperty2.default)(this, "onSubFieldFocus", id => {
|
|
369
|
+
const editableFields = Array.from(this.root?.querySelectorAll('.mq-editable-field') || []);
|
|
370
|
+
const savedScroll = editableFields.map(el => ({
|
|
371
|
+
el,
|
|
372
|
+
left: el.scrollLeft,
|
|
373
|
+
top: el.scrollTop
|
|
374
|
+
}));
|
|
375
|
+
const restoreEditableScroll = () => {
|
|
376
|
+
savedScroll.forEach(({
|
|
377
|
+
el,
|
|
378
|
+
left,
|
|
379
|
+
top
|
|
380
|
+
}) => {
|
|
381
|
+
el.scrollLeft = left;
|
|
382
|
+
el.scrollTop = top;
|
|
383
|
+
});
|
|
384
|
+
};
|
|
315
385
|
this.setState({
|
|
316
386
|
activeAnswerBlock: id
|
|
387
|
+
}, () => {
|
|
388
|
+
restoreEditableScroll();
|
|
389
|
+
requestAnimationFrame(restoreEditableScroll);
|
|
390
|
+
setTimeout(restoreEditableScroll, 0);
|
|
317
391
|
});
|
|
318
392
|
});
|
|
319
393
|
(0, _defineProperty2.default)(this, "toNodeData", data => {
|
|
@@ -357,7 +431,46 @@ class Main extends _react.default.Component {
|
|
|
357
431
|
} else {
|
|
358
432
|
this.input.write(c.value);
|
|
359
433
|
}
|
|
434
|
+
|
|
435
|
+
// Keep all relevant scroll containers stable when refocusing after keypad
|
|
436
|
+
// click. Browser "focus into view" can scroll horizontally back to start.
|
|
437
|
+
const fieldElement = this.input?.el?.() || this.root;
|
|
438
|
+
const scrollTargets = [];
|
|
439
|
+
let node = fieldElement;
|
|
440
|
+
while (node && node !== document.body && node !== document.documentElement) {
|
|
441
|
+
const isScrollable = node.scrollWidth > node.clientWidth || node.scrollHeight > node.clientHeight;
|
|
442
|
+
if (isScrollable) {
|
|
443
|
+
scrollTargets.push(node);
|
|
444
|
+
}
|
|
445
|
+
node = node.parentElement;
|
|
446
|
+
}
|
|
447
|
+
if (document.scrollingElement) {
|
|
448
|
+
scrollTargets.push(document.scrollingElement);
|
|
449
|
+
}
|
|
450
|
+
const savedScroll = scrollTargets.map(el => ({
|
|
451
|
+
el,
|
|
452
|
+
left: el.scrollLeft,
|
|
453
|
+
top: el.scrollTop
|
|
454
|
+
}));
|
|
455
|
+
const windowScroll = {
|
|
456
|
+
x: window.scrollX,
|
|
457
|
+
y: window.scrollY
|
|
458
|
+
};
|
|
459
|
+
const restoreScroll = () => {
|
|
460
|
+
savedScroll.forEach(({
|
|
461
|
+
el,
|
|
462
|
+
left,
|
|
463
|
+
top
|
|
464
|
+
}) => {
|
|
465
|
+
el.scrollLeft = left;
|
|
466
|
+
el.scrollTop = top;
|
|
467
|
+
});
|
|
468
|
+
window.scrollTo(windowScroll.x, windowScroll.y);
|
|
469
|
+
};
|
|
360
470
|
this.input.focus();
|
|
471
|
+
restoreScroll();
|
|
472
|
+
requestAnimationFrame(restoreScroll);
|
|
473
|
+
setTimeout(restoreScroll, 0);
|
|
361
474
|
});
|
|
362
475
|
(0, _defineProperty2.default)(this, "callOnSessionChange", () => {
|
|
363
476
|
const {
|
|
@@ -533,30 +646,37 @@ class Main extends _react.default.Component {
|
|
|
533
646
|
slotProps: {
|
|
534
647
|
popper: {
|
|
535
648
|
container: tooltipContainerRef?.current || undefined,
|
|
536
|
-
|
|
649
|
+
// 'bottom-start' left-aligns the keypad with the left edge of the
|
|
650
|
+
// response area by default. The smartHorizontalPlacement modifier
|
|
651
|
+
// below overrides this when the keypad would overflow the viewport.
|
|
652
|
+
placement: 'bottom-start',
|
|
537
653
|
sx: {
|
|
538
654
|
backgroundColor: 'transparent',
|
|
539
|
-
width: '
|
|
655
|
+
width: 'auto',
|
|
540
656
|
opacity: 1,
|
|
541
657
|
'& .MuiTooltip-arrow': {
|
|
542
658
|
display: 'none'
|
|
543
659
|
}
|
|
544
660
|
},
|
|
545
|
-
modifiers: {
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
661
|
+
modifiers: [{
|
|
662
|
+
name: 'preventOverflow',
|
|
663
|
+
enabled: true,
|
|
664
|
+
options: {
|
|
665
|
+
boundary: 'viewport',
|
|
666
|
+
mainAxis: false,
|
|
667
|
+
altAxis: true
|
|
552
668
|
}
|
|
553
|
-
}
|
|
669
|
+
}, {
|
|
670
|
+
name: 'flip',
|
|
671
|
+
enabled: false
|
|
672
|
+
}, smartHorizontalPlacementModifier]
|
|
554
673
|
},
|
|
555
674
|
tooltip: {
|
|
556
675
|
sx: {
|
|
557
676
|
fontSize: 'initial',
|
|
558
677
|
backgroundColor: 'transparent',
|
|
559
|
-
width: '
|
|
678
|
+
width: 'auto',
|
|
679
|
+
maxWidth: 'none',
|
|
560
680
|
marginTop: 0,
|
|
561
681
|
paddingTop: 0,
|
|
562
682
|
boxShadow: 'none'
|
|
@@ -591,7 +711,6 @@ class Main extends _react.default.Component {
|
|
|
591
711
|
answers: sessionAnswers
|
|
592
712
|
} = _session || {};
|
|
593
713
|
if (markup) {
|
|
594
|
-
// build out local state model using responses declared in markup
|
|
595
714
|
(markup || '').replace(REGEX, response => {
|
|
596
715
|
const responseKey = Main.getResponseKey(response);
|
|
597
716
|
const sessionAnswerForResponse = sessionAnswers && sessionAnswers[`r${responseKey}`];
|