@pie-element/math-templated 6.2.0-next.1 → 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 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
+ # [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
+
6
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)
7
58
 
8
59
  ### Features
@@ -3,6 +3,51 @@
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
+
6
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)
7
52
 
8
53
  ### Features
@@ -90,7 +90,7 @@ var _default = exports.default = {
90
90
  },
91
91
  editSource: {
92
92
  label: 'Edit Source',
93
- settings: true,
93
+ settings: false,
94
94
  enabled: false
95
95
  },
96
96
  playerSpellCheck: {
@@ -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: true,\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":[]}
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)}px !important`
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":";;;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,YAAA,GAAAJ,OAAA;AACA,IAAAK,KAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,YAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,OAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,iBAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,WAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,WAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,SAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,OAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,SAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,OAAA,GAAAd,OAAA;AACA,IAAAe,WAAA,GAAAb,sBAAA,CAAAF,OAAA;AACA,IAAAgB,OAAA,GAAAd,sBAAA,CAAAF,OAAA;AACA,IAAAiB,SAAA,GAAAjB,OAAA;AAA2C,SAAAD,wBAAAmB,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAArB,uBAAA,YAAAA,CAAAmB,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE3C,MAAMkB,iBAAiB,GAAG,IAAAC,cAAM,EAACC,aAAI,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EACrDC,YAAY,EAAED,KAAK,CAACE,OAAO,CAAC,GAAG,CAAC;EAChCC,KAAK,EAAE,MAAM;EACbC,QAAQ,EAAE,OAAO;EACjBC,MAAM,EAAE,aAAaL,KAAK,CAACM,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC,EAAE;EAC9CC,OAAO,EAAE,MAAM;EACfC,aAAa,EAAE,QAAQ;EACvBC,cAAc,EAAE;AAClB,CAAC,CAAC,CAAC;AAEH,MAAMC,iBAAiB,GAAG,IAAAb,cAAM,EAACc,oBAAW,CAAC,CAAC,CAAC;EAAEZ;AAAM,CAAC,MAAM;EAC5Da,aAAa,EAAE,GAAGb,KAAK,CAACE,OAAO,CAAC,CAAC,CAAC;AACpC,CAAC,CAAC,CAAC;AAEH,MAAMY,WAAW,GAAG,IAAAhB,cAAM,EAACiB,mBAAU,CAAC,CAAC;EACrCC,UAAU,EAAE,GAAG;EACfC,QAAQ,EAAE,QAAQ;EAClBC,IAAI,EAAE;AACR,CAAC,CAAC;AAEF,MAAMC,qBAAqB,GAAG,IAAArB,cAAM,EAACsB,wBAAc,CAAC,CAAC,CAAC;EAAEpB;AAAM,CAAC,MAAM;EACnEkB,IAAI,EAAE,CAAC;EACP,kBAAkB,EAAE;IAClBG,SAAS,EAAErB,KAAK,CAACE,OAAO,CAAC,CAAC;EAC5B;AACF,CAAC,CAAC,CAAC;AAEH,MAAMoB,qBAAqB,GAAG,IAAAxB,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEE;AAAM,CAAC,MAAM;EAC1DC,YAAY,EAAED,KAAK,CAACE,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,MAAMqB,QAAQ,GAAG,IAAAzB,cAAM,EAAC,KAAK,CAAC,CAAC;EAC7BU,OAAO,EAAE,MAAM;EACfgB,UAAU,EAAE,QAAQ;EACpBd,cAAc,EAAE;AAClB,CAAC,CAAC;AAEF,MAAMe,aAAa,GAAG,IAAA3B,cAAM,EAAC,KAAK,CAAC,CAAC;EAClCU,OAAO,EAAE;AACX,CAAC,CAAC;AAEF,MAAMkB,eAAe,GAAG,IAAA5B,cAAM,EAAC6B,eAAM,CAAC,CAAC,CAAC;EAAE3B;AAAM,CAAC,MAAM;EACrDK,MAAM,EAAE,aAAaL,KAAK,CAACM,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC,EAAE;EACjDqB,KAAK,EAAEA,eAAK,CAACC,IAAI,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,MAAMC,qBAAqB,GAAG,IAAAhC,cAAM,EAACiC,mBAAU,CAAC,CAAC,CAAC;EAAE/B;AAAM,CAAC,MAAM;EAC/DgC,UAAU,EAAEhC,KAAK,CAACE,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAM+B,SAAS,GAAG,IAAAnC,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEE;AAAM,CAAC,MAAM;EAC9CiB,QAAQ,EAAEjB,KAAK,CAACkC,UAAU,CAACjB,QAAQ,GAAG,CAAC;EACvCW,KAAK,EAAE5B,KAAK,CAACM,OAAO,CAAC6B,KAAK,CAACC,IAAI;EAC/BC,UAAU,EAAErC,KAAK,CAACE,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAMoC,WAAW,GAAG,IAAAxC,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEE;AAAM,CAAC,MAAM;EAChDuC,UAAU,EAAEvC,KAAK,CAACM,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC;EACtCqB,KAAK,EAAE5B,KAAK,CAACM,OAAO,CAACC,IAAI,CAAC,MAAM,CAAC;EACjCC,OAAO,EAAE,QAAQ;EACjBJ,QAAQ,EAAE,MAAM;EAChBoC,OAAO,EAAE,KAAK;EACdnC,MAAM,EAAE;AACV,CAAC,CAAC,CAAC;AAEH,MAAMoC,YAAY,GAAG,IAAA3C,cAAM,EAAC,KAAK,CAAC,CAAC;EACjCU,OAAO,EAAE,MAAM;EACfE,cAAc,EAAE,eAAe;EAC/Bc,UAAU,EAAE;AACd,CAAC,CAAC;AAEF,MAAMkB,mBAAmB,GAAG,IAAA5C,cAAM,EAAC6C,iBAAQ,CAAC,CAAC;EAC3Cf,KAAK,EAAE,GAAGA,eAAK,CAACgB,QAAQ,CAAC,CAAC;AAC5B,CAAC,CAAC;;AAEF;AACA,IAAI,OAAOC,QAAQ,KAAK,WAAW,EAAE;EACnC,MAAMC,OAAO,GAAG,gCAAgC;EAChD,IAAI,CAACD,QAAQ,CAACE,cAAc,CAACD,OAAO,CAAC,EAAE;IACrC,MAAME,KAAK,GAAGH,QAAQ,CAACI,aAAa,CAAC,OAAO,CAAC;IAC7CD,KAAK,CAACE,EAAE,GAAGJ,OAAO;IAClBE,KAAK,CAACG,WAAW,GAAG;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;IACDN,QAAQ,CAACO,IAAI,CAACC,WAAW,CAACL,KAAK,CAAC;EAClC;AACF;AAEO,MAAMM,QAAQ,SAAShG,KAAK,CAACiG,SAAS,CAAC;EAkB5CC,WAAWA,CAACC,KAAK,EAAE;IACjB,KAAK,CAACA,KAAK,CAAC;IAAC,IAAAC,gBAAA,CAAAtE,OAAA,oBAcHuE,IAAI,IAAMC,GAAG,IAAK;MAC5B,MAAM;QAAEC,QAAQ;QAAEC,gBAAgB;QAAEC;MAAY,CAAC,GAAG,IAAI,CAACN,KAAK;MAC9D,MAAMO,WAAW,GAAG;QAAE,GAAGH;MAAS,CAAC;MAEnCG,WAAW,CAACL,IAAI,CAAC,GAAGC,GAAG,CAACK,MAAM,CAACC,KAAK;MAEpCJ,gBAAgB,CAACE,WAAW,EAAED,WAAW,CAAC;IAC5C,CAAC;IAAA,IAAAL,gBAAA,CAAAtE,OAAA,2BAEkBuE,IAAI,IAAMC,GAAG,IAAK;MACnC,MAAM;QAAEC,QAAQ;QAAEC,gBAAgB;QAAEC;MAAY,CAAC,GAAG,IAAI,CAACN,KAAK;MAC9D,MAAMO,WAAW,GAAG;QAAE,GAAGH;MAAS,CAAC;MAEnCG,WAAW,CAACL,IAAI,CAAC,GAAGC,GAAG,CAACK,MAAM,CAACE,OAAO;MAEtCL,gBAAgB,CAACE,WAAW,EAAED,WAAW,CAAC;IAC5C,CAAC;IAAA,IAAAL,gBAAA,CAAAtE,OAAA,kCAEyBuE,IAAI,IAAK,MAAM;MACvC,MAAM;QAAEE,QAAQ;QAAEC,gBAAgB;QAAEC;MAAY,CAAC,GAAG,IAAI,CAACN,KAAK;MAC9D,MAAMO,WAAW,GAAG;QAAE,GAAGH;MAAS,CAAC;MAEnCG,WAAW,CAACL,IAAI,CAAC,GAAG,CAACE,QAAQ,CAACF,IAAI,CAAC;MAEnCG,gBAAgB,CAACE,WAAW,EAAED,WAAW,CAAC;IAC5C,CAAC;IAAA,IAAAL,gBAAA,CAAAtE,OAAA,0BAEiBgF,MAAM,IAAK;MAC3B,MAAM;QAAEP,QAAQ;QAAEC,gBAAgB;QAAEC;MAAY,CAAC,GAAG,IAAI,CAACN,KAAK;MAC9D,MAAMO,WAAW,GAAG;QAAE,GAAGH;MAAS,CAAC;MAEnCG,WAAW,CAACI,MAAM,GAAGA,MAAM;MAE3BN,gBAAgB,CAACE,WAAW,EAAED,WAAW,CAAC;IAC5C,CAAC;IAAA,IAAAL,gBAAA,CAAAtE,OAAA,mCAE0BiF,WAAW,IAAMD,MAAM,IAAK;MACrD,MAAM;QAAEP,QAAQ;QAAEC,gBAAgB;QAAEC;MAAY,CAAC,GAAG,IAAI,CAACN,KAAK;MAC9D,MAAMO,WAAW,GAAG;QAAE,GAAGH;MAAS,CAAC;MAEnCG,WAAW,CAACM,UAAU,CAACD,WAAW,CAAC,GAAGD,MAAM;MAE5CN,gBAAgB,CAACE,WAAW,EAAED,WAAW,CAAC;IAC5C,CAAC;IAAA,IAAAL,gBAAA,CAAAtE,OAAA,0BAEgB,MAAM;MACrB,MAAM;QAAEyE,QAAQ;QAAEC,gBAAgB;QAAEC;MAAY,CAAC,GAAG,IAAI,CAACN,KAAK;MAC9D,MAAM;QAAEc;MAAmB,CAAC,GAAG,IAAI,CAACC,KAAK;MACzC,MAAMR,WAAW,GAAG;QAAE,GAAGH;MAAS,CAAC;MAEnC,IAAI,CAACG,WAAW,CAACM,UAAU,EAAE;QAC3BN,WAAW,CAACM,UAAU,GAAG,CAAC,CAAC;MAC7B;MAEAN,WAAW,CAACM,UAAU,CAACC,kBAAkB,CAAC,GAAG,EAAE;MAE/CT,gBAAgB,CAACE,WAAW,EAAED,WAAW,CAAC;MAE1C,IAAI,CAACU,QAAQ,CAAC;QACZF,kBAAkB,EAAEA,kBAAkB,GAAG;MAC3C,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAb,gBAAA,CAAAtE,OAAA,6BAEoBiF,WAAW,IAAK,MAAM;MACzC,MAAM;QAAER,QAAQ;QAAEC,gBAAgB;QAAEC;MAAY,CAAC,GAAG,IAAI,CAACN,KAAK;MAC9D,MAAMO,WAAW,GAAG;QAAE,GAAGH;MAAS,CAAC;MAEnC,OAAOG,WAAW,CAACM,UAAU,CAACD,WAAW,CAAC;MAE1CP,gBAAgB,CAACE,WAAW,EAAED,WAAW,CAAC;MAE1C,IAAI,CAACU,QAAQ,CAAED,KAAK,KAAM;QACxBE,UAAU,EAAE;UACV,GAAGF,KAAK,CAACE,UAAU;UACnBC,SAAS,EAAE,CAACH,KAAK,CAACE,UAAU,CAACL,WAAW,CAAC,GAAGG,KAAK,CAACE,UAAU,CAACC,SAAS,GAAGH,KAAK,CAACE,UAAU,CAACC,SAAS,GAAG;QACxG;MACF,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,IAAAjB,gBAAA,CAAAtE,OAAA,kBAEQ,MAAM;MACb,MAAM;QAAEwF;MAAe,CAAC,GAAG,IAAI,CAACnB,KAAK;MACrC,IAAI,CAACgB,QAAQ,CAAED,KAAK,KAAM;QACxBE,UAAU,EAAE;UACV,GAAGF,KAAK,CAACE,UAAU;UACnBC,SAAS,EAAEH,KAAK,CAACE,UAAU,CAACC,SAAS,GAAG,CAAC;UACzCvC,IAAI,EAAE;QACR;MACF,CAAC,CAAC,CAAC;MAEHwC,cAAc,CAAC,CAAC;IAClB,CAAC;IAAA,IAAAlB,gBAAA,CAAAtE,OAAA,mBAES,MAAM;MACd,IAAI,CAACqF,QAAQ,CAAED,KAAK,KAAM;QACxBE,UAAU,EAAE;UACV,GAAGF,KAAK,CAACE,UAAU;UACnBC,SAAS,EAAE,CAACH,KAAK,CAACE,UAAU,CAACtC,IAAI,GAAGoC,KAAK,CAACE,UAAU,CAACC,SAAS,GAAG,CAAC,GAAGH,KAAK,CAACE,UAAU,CAACC,SAAS;UAC/FvC,IAAI,EAAE;QACR;MACF,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,IAAAsB,gBAAA,CAAAtE,OAAA,4BAEmBiF,WAAW,IAAK,MAAM;MACxC,IAAI,CAACI,QAAQ,CAAED,KAAK,KAAM;QACxBE,UAAU,EAAE;UACV,GAAGF,KAAK,CAACE,UAAU;UACnBC,SAAS,EAAE,CAACH,KAAK,CAACE,UAAU,CAACL,WAAW,CAAC,GAAGG,KAAK,CAACE,UAAU,CAACC,SAAS,GAAG,CAAC,GAAGH,KAAK,CAACE,UAAU,CAACC,SAAS;UACvG,CAACN,WAAW,GAAG;QACjB;MACF,CAAC,CAAC,CAAC;IACL,CAAC;IAAA,IAAAX,gBAAA,CAAAtE,OAAA,2BAEkBiF,WAAW,IAAK,MAAM;MACvC,IAAI,CAACI,QAAQ,CAAED,KAAK,KAAM;QACxBE,UAAU,EAAE;UACV,GAAGF,KAAK,CAACE,UAAU;UACnBC,SAAS,EAAEH,KAAK,CAACE,UAAU,CAACC,SAAS,GAAG,CAAC;UACzC,CAACN,WAAW,GAAG;QACjB;MACF,CAAC,CAAC,CAAC;IACL,CAAC;IApIC,MAAM;MAAER,QAAQ,EAAE;QAAES;MAAW,CAAC,GAAG,CAAC;IAAE,CAAC,GAAGb,KAAK,IAAI,CAAC,CAAC;IACrD,MAAMoB,gBAAgB,GAAGnF,MAAM,CAACoF,IAAI,CAACR,UAAU,IAAI,CAAC,CAAC,CAAC,CAACS,MAAM;IAE7D,IAAI,CAACP,KAAK,GAAG;MACXD,kBAAkB,EAAEM,gBAAgB,GAAG,CAAC;MACxCH,UAAU,EAAE;QACVC,SAAS,EAAE,CAAC;QACZvC,IAAI,EAAE;MACR;IACF,CAAC;EACH;EA4HA4C,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,IAAI;MAAElB,WAAW;MAAEF,QAAQ;MAAEqB,mBAAmB;MAAEC,YAAY;MAAEhD;IAAM,CAAC,GAAG,IAAI,CAACsB,KAAK;IAC5F,MAAM;MAAEiB;IAAW,CAAC,GAAG,IAAI,CAACF,KAAK;IACjC,MAAM;MAAEY,UAAU;MAAEhB,MAAM;MAAEE,UAAU;MAAEe,WAAW;MAAEC;IAAmB,CAAC,GAAGzB,QAAQ;IACpF,MAAM0B,aAAa,GAAG7F,MAAM,CAACoF,IAAI,CAACR,UAAU,IAAI,CAAC,CAAC,CAAC,CAACS,MAAM,GAAG,CAAC;IAC9D,MAAMS,UAAU,GAAG;MACjBC,MAAM,EAAE,iBAAiB;MACzBC,WAAW,EAAE;IACf,CAAC;IACD,MAAMC,MAAM,GAAG;MACbC,SAAS,EAAE,GAAGlB,UAAU,CAACC,SAAS,GAAG,CAAC,GAAG,GAAG,GAAG,GAAG;IACpD,CAAC;IACD;IACA,MAAMkB,YAAY,GAAG,KAAKC,QAAQ,CAAC/B,WAAW,CAAC,GAAG,CAAC,EAAE;IAErD,oBACEzG,KAAA,CAAA2F,aAAA,CAACpD,iBAAiB;MAACmD,KAAK,EAAE2C;IAAO,gBAC/BrI,KAAA,CAAA2F,aAAA,CAACtC,iBAAiB,qBAChBrD,KAAA,CAAA2F,aAAA,CAAC1B,QAAQ,qBACPjE,KAAA,CAAA2F,aAAA,CAACnC,WAAW;MAACiF,SAAS,EAAC;IAAK,GAAC,eACd,eAAAzI,KAAA,CAAA2F,aAAA,CAACX,WAAW,QAAEuD,YAA0B,CAC1C,CAAC,eAEdvI,KAAA,CAAA2F,aAAA,CAAC9B,qBAAqB;MAAC6E,KAAK,EAAC;IAAY,gBACvC1I,KAAA,CAAA2F,aAAA,CAAC7E,OAAA,CAAAgB,OAAM;MAAC6G,QAAQ,EAAE,IAAI,CAACA,QAAQ,CAAC,YAAY,CAAE;MAAC/B,KAAK,EAAEkB,UAAU,IAAI,SAAU;MAACc,SAAS,EAAE;QAACC,kBAAkB,EAAE;UAAEC,KAAK,EAAE,GAAG;UAAEC,IAAI,EAAE;QAAI;MAAE;IAAE,gBACzI/I,KAAA,CAAA2F,aAAA,CAAC5E,SAAA,CAAAe,OAAQ;MAAC8E,KAAK,EAAC;IAAS,GAAC,oBAA4B,CAAC,eACvD5G,KAAA,CAAA2F,aAAA,CAAC5E,SAAA,CAAAe,OAAQ;MAAC8E,KAAK,EAAC;IAAU,GAAC,qBAA6B,CAClD,CACa,CACf,CAAC,EAEVkB,UAAU,KAAK,SAAS,iBACvB9H,KAAA,CAAA2F,aAAA,CAACxB,aAAa,QACXyD,mBAAmB,CAACoB,OAAO,iBAC1BhJ,KAAA,CAAA2F,aAAA,CAACjF,iBAAA,CAAAoB,OAAgB;MACf4G,KAAK,EAAEd,mBAAmB,CAACc,KAAM;MACjCO,OAAO,eACLjJ,KAAA,CAAA2F,aAAA,CAACP,mBAAmB;QAClByB,OAAO,EAAEmB,kBAAmB;QAC5BW,QAAQ,EAAE,IAAI,CAACO,sBAAsB,CAAC,oBAAoB;MAAE,CAC7D;IACF,CACF,CACF,EAEArB,YAAY,CAACmB,OAAO,iBACnBhJ,KAAA,CAAA2F,aAAA,CAACjF,iBAAA,CAAAoB,OAAgB;MACf4G,KAAK,EAAEb,YAAY,CAACa,KAAM;MAC1BO,OAAO,eACLjJ,KAAA,CAAA2F,aAAA,CAACP,mBAAmB;QAClByB,OAAO,EAAEkB,WAAY;QACrBY,QAAQ,EAAE,IAAI,CAACO,sBAAsB,CAAC,aAAa;MAAE,CACtD;IACF,CACF,CAEU,CAChB,eAEDlJ,KAAA,CAAA2F,aAAA,CAAC3B,qBAAqB,qBACpBhE,KAAA,CAAA2F,aAAA,CAAC/E,WAAA,CAAAkB,OAAU,QAAC,gBAA0B,CAAC,eACvC9B,KAAA,CAAA2F,aAAA,CAACrF,YAAA,CAAA6I,WAAW;MACVC,UAAU,EAAEzB,IAAK;MACjBO,UAAU,EAAEA,UAAW;MACvBmB,gBAAgB;MAChBjC,UAAU,EAAEA,UAAU,CAACtC,IAAK;MAC5BwE,KAAK,EAAExC,MAAM,IAAI,EAAG;MACpB6B,QAAQ,EAAE,IAAI,CAACY,cAAe;MAC9BC,OAAO,EAAE,IAAI,CAACA,OAAQ;MACtBC,MAAM,EAAE,IAAI,CAACA,MAAO;MACpB5E,KAAK,EAAEA,KAAK,IAAIA,KAAK,CAACiC;IAAO,CAC9B,CAAC,EACDjC,KAAK,IAAIA,KAAK,CAACiC,MAAM,gBAAG9G,KAAA,CAAA2F,aAAA,CAAChB,SAAS,QAAEE,KAAK,CAACiC,MAAkB,CAAC,GAAG,IAC5C,CAAC,EAEvBmB,aAAa,IACZ7F,MAAM,CAACoF,IAAI,CAACR,UAAU,CAAC,CAAC0C,GAAG,CAAC,CAAC3C,WAAW,EAAE4C,MAAM,kBAC9C3J,KAAA,CAAA2F,aAAA,CAAC3B,qBAAqB;MAAC4F,GAAG,EAAE7C;IAAY,gBACtC/G,KAAA,CAAA2F,aAAA,CAAC/E,WAAA,CAAAkB,OAAU,QAAC,WAEV,EAACM,MAAM,CAACoF,IAAI,CAACR,UAAU,CAAC,CAACS,MAAM,GAAG,CAAC,GAAG,IAAIkC,MAAM,GAAG,CAAC,EAAE,GAAG,EAC/C,CAAC,eACb3J,KAAA,CAAA2F,aAAA,CAACR,YAAY,qBACXnF,KAAA,CAAA2F,aAAA,CAACrF,YAAA,CAAA6I,WAAW;MACVjB,UAAU,EAAEA,UAAW;MACvBmB,gBAAgB;MAChBD,UAAU,EAAEzB,IAAK;MACjBP,UAAU,EAAEA,UAAU,CAACL,WAAW,CAAC,IAAI,KAAM;MAC7CuC,KAAK,EAAEtC,UAAU,CAACD,WAAW,CAAC,IAAI,EAAG;MACrC4B,QAAQ,EAAE,IAAI,CAACkB,uBAAuB,CAAC9C,WAAW,CAAE;MACpDyC,OAAO,EAAE,IAAI,CAACM,gBAAgB,CAAC/C,WAAW,CAAE;MAC5C0C,MAAM,EAAE,IAAI,CAACM,eAAe,CAAChD,WAAW,CAAE;MAC1ClC,KAAK,EAAEA,KAAK,IAAIA,KAAK,CAACkC,WAAW;IAAE,CACpC,CAAC,eACF/G,KAAA,CAAA2F,aAAA,CAACnB,qBAAqB;MACpBwF,OAAO,EAAE,IAAI,CAACC,iBAAiB,CAAClD,WAAW,CAAE;MAC7CmD,IAAI,EAAC;IAAO,gBACZlK,KAAA,CAAA2F,aAAA,CAACzE,OAAA,CAAAY,OAAM,MAAE,CACY,CACX,CAAC,EACd+C,KAAK,IAAIA,KAAK,CAACkC,WAAW,CAAC,gBAAG/G,KAAA,CAAA2F,aAAA,CAAChB,SAAS,QAAEE,KAAK,CAACkC,WAAW,CAAa,CAAC,GAAG,IACxD,CACxB,CAAC,eAEJ/G,KAAA,CAAA2F,aAAA,CAACvB,eAAe;MAAC+F,IAAI,EAAC,SAAS;MAACH,OAAO,EAAE,IAAI,CAACI;IAAe,GAAC,eAE7C,CACA,CACF,CAAC;EAExB;AACF;AAACC,OAAA,CAAArE,QAAA,GAAAA,QAAA;AAAA,IAAAI,gBAAA,CAAAtE,OAAA,EA1QYkE,QAAQ,eACA;EACjBsE,eAAe,EAAEC,kBAAS,CAACC,IAAI;EAC/B3F,KAAK,EAAE0F,kBAAS,CAACE,MAAM;EACvB9C,IAAI,EAAE4C,kBAAS,CAACG,SAAS,CAAC,CAACH,kBAAS,CAACI,MAAM,EAAEJ,kBAAS,CAACK,MAAM,CAAC,CAAC;EAC/DpE,gBAAgB,EAAE+D,kBAAS,CAACM,IAAI,CAACC,UAAU;EAC3CxD,cAAc,EAAEiD,kBAAS,CAACM,IAAI,CAACC,UAAU;EACzCvE,QAAQ,EAAEgE,kBAAS,CAACE,MAAM,CAACK,UAAU;EACrCjD,YAAY,EAAE0C,kBAAS,CAACE,MAAM,CAACK,UAAU;EACzClD,mBAAmB,EAAE2C,kBAAS,CAACE,MAAM,CAACK,UAAU;EAChDrE,WAAW,EAAE8D,kBAAS,CAACK,MAAM,CAACE;AAChC,CAAC;AAAA,IAAA1E,gBAAA,CAAAtE,OAAA,EAXUkE,QAAQ,kBAaG;EACpBsE,eAAe,EAAE,KAAK;EACtB3C,IAAI,EAAE;AACR,CAAC;AAAA,IAAAoD,QAAA,GAAAV,OAAA,CAAAvI,OAAA,GA4PYkE,QAAQ","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/math-templated-configure",
3
3
  "private": true,
4
- "version": "4.2.0-next.0",
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.20",
15
- "@pie-lib/editable-html-tip-tap": "1.2.0-next.19",
16
- "@pie-lib/math-toolbar": "2.2.0-next.11",
17
- "@pie-lib/render-ui": "5.2.0-next.6",
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",
@@ -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
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@pie-element/math-templated-controller",
3
3
  "private": true,
4
- "version": "5.2.0-next.0",
4
+ "version": "5.2.0-next.1",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
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
- placement: 'bottom-end',
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: '650px',
655
+ width: 'auto',
540
656
  opacity: 1,
541
657
  '& .MuiTooltip-arrow': {
542
658
  display: 'none'
543
659
  }
544
660
  },
545
- modifiers: {
546
- preventOverflow: {
547
- enabled: true,
548
- boundariesElement: 'body'
549
- },
550
- flip: {
551
- enabled: false
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: '600px',
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}`];