@pie-element/math-inline 8.8.10 → 8.8.11-next.87
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/configure/lib/configure.js +3 -3
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/general-config-block.js +5 -5
- package/configure/lib/general-config-block.js.map +1 -1
- package/configure/lib/response.js +3 -3
- package/configure/lib/response.js.map +1 -1
- package/configure/package.json +6 -1
- package/controller/lib/index.js +2 -2
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +2 -1
- package/lib/main.js +6 -6
- package/lib/main.js.map +1 -1
- package/lib/print.js +1 -1
- package/lib/print.js.map +1 -1
- package/lib/simple-question-block.js +3 -3
- package/lib/simple-question-block.js.map +1 -1
- package/module/configure.js +1 -16645
- package/module/controller.js +171 -521
- package/module/element.js +1 -12966
- package/module/index.html +1 -1
- package/module/manifest.json +5 -5
- package/module/print.html +1 -1
- package/module/print.js +1 -12696
- package/package.json +8 -3
|
@@ -25,13 +25,13 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
25
25
|
|
|
26
26
|
var _styles = require("@material-ui/core/styles");
|
|
27
27
|
|
|
28
|
-
var _configUi = require("@pie-lib/
|
|
28
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
29
29
|
|
|
30
30
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
31
31
|
|
|
32
32
|
var _debug = _interopRequireDefault(require("debug"));
|
|
33
33
|
|
|
34
|
-
var _editableHtml = require("@pie-lib/
|
|
34
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
35
35
|
|
|
36
36
|
var _generalConfigBlock = _interopRequireDefault(require("./general-config-block"));
|
|
37
37
|
|
|
@@ -206,7 +206,7 @@ var Configure = /*#__PURE__*/function (_React$Component) {
|
|
|
206
206
|
}, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
207
207
|
label: teacherInstructions.label,
|
|
208
208
|
className: classes.promptHolder
|
|
209
|
-
}, /*#__PURE__*/_react["default"].createElement(_editableHtml
|
|
209
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
210
210
|
className: classes.prompt,
|
|
211
211
|
markup: model.teacherInstructions || '',
|
|
212
212
|
onChange: this.changeTeacherInstructions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","dropdown","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","errorText","fontSize","typography","color","palette","error","main","Configure","model","props","onModelChanged","teacherInstructions","feedback","classes","imageSupport","configuration","onConfigurationChanged","uploadSoundSupport","allowTrailingZeros","baseInputConfiguration","contentDimensions","ignoreOrder","maxImageWidth","maxImageHeight","prompt","rationale","responseType","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","withRubric","mathMlOptions","language","languageChoices","errors","extraCSSRules","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","teacherInstructionsError","toolbarOpts","position","defaultImageMaxWidth","defaultImageMaxHeight","panelSettings","label","ResponseTypes","simple","advanced","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","config","Settings","Properties","changeTeacherInstructions","inputConfiguration","onChange","onFeedbackChange","React","Component","PropTypes","func","object","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,oCAAN,CAAZ;AACA,IAAQC,KAAR,GAA2CC,kBAA3C,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAA2CD,kBAA3C,CAAeC,MAAf;AAAA,IAAuBC,KAAvB,GAA2CF,kBAA3C,CAAuBE,KAAvB;AAAA,IAA8BC,QAA9B,GAA2CH,kBAA3C,CAA8BG,QAA9B;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,KAAK,EAAE,MADK;AAEZC,MAAAA,UAAU,EAAEH,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAFrB;AAGZC,MAAAA,YAAY,EAAEN,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAHvB,KADW;AAMzBE,IAAAA,SAAS,EAAE;AACTC,MAAAA,QAAQ,EAAER,KAAK,CAACS,UAAN,CAAiBD,QAAjB,GAA4B,CAD7B;AAETE,MAAAA,KAAK,EAAEV,KAAK,CAACW,OAAN,CAAcC,KAAd,CAAoBC,IAFlB;AAGTV,MAAAA,UAAU,EAAEH,KAAK,CAACI,OAAN,CAAcC;AAHjB;AANc,GAAZ;AAAA,CAAf;;IAaaS,S;;;;;;;;;;;;;;;iGAWA,UAACC,KAAD,EAAW;AACpB,YAAKC,KAAL,CAAWC,cAAX,CAA0BF,KAA1B;AACD,K;kHAE2B,UAACG,mBAAD,EAAyB;AACnD,YAAKF,KAAL,CAAWC,cAAX,iCACK,MAAKD,KAAL,CAAWD,KADhB;AAEEG,QAAAA,mBAAmB,EAAnBA;AAFF;AAID,K;yGAEkB,UAACC,QAAD,EAAc;AAC/B,wBAAkC,MAAKH,KAAvC;AAAA,UAAQD,KAAR,eAAQA,KAAR;AAAA,UAAeE,cAAf,eAAeA,cAAf;AACAF,MAAAA,KAAK,CAACI,QAAN,GAAiBA,QAAjB;AACAF,MAAAA,cAAc,CAACF,KAAD,CAAd;AACD,K;;;;;;WAED,kBAAS;AACP,yBACE,KAAKC,KADP;AAAA,UAAQI,OAAR,gBAAQA,OAAR;AAAA,UAAiBL,KAAjB,gBAAiBA,KAAjB;AAAA,UAAwBM,YAAxB,gBAAwBA,YAAxB;AAAA,UAAsCJ,cAAtC,gBAAsCA,cAAtC;AAAA,UAAsDK,aAAtD,gBAAsDA,aAAtD;AAAA,UAAqEC,sBAArE,gBAAqEA,sBAArE;AAAA,UAA6FC,kBAA7F,gBAA6FA,kBAA7F;;AAEA,iBAoBIF,aAAa,IAAI,EApBrB;AAAA,uCACEG,kBADF;AAAA,UACEA,kBADF,sCACuB,EADvB;AAAA,uCAEEC,sBAFF;AAAA,UAEEA,sBAFF,sCAE2B,EAF3B;AAAA,uCAGEC,iBAHF;AAAA,UAGEA,iBAHF,sCAGsB,EAHtB;AAAA,+BAIER,QAJF;AAAA,UAIEA,QAJF,8BAIa,EAJb;AAAA,kCAKES,WALF;AAAA,UAKEA,WALF,iCAKgB,EALhB;AAAA,oCAMEC,aANF;AAAA,UAMEA,aANF,mCAMkB,EANlB;AAAA,qCAOEC,cAPF;AAAA,UAOEA,cAPF,oCAOmB,EAPnB;AAAA,6BAQEC,MARF;AAAA,UAQEA,MARF,4BAQW,EARX;AAAA,gCASEC,SATF;AAAA,UASEA,SATF,+BASc,EATd;AAAA,mCAUEC,YAVF;AAAA,UAUEA,YAVF,kCAUiB,EAVjB;AAAA,kCAWEC,WAXF;AAAA,UAWEA,WAXF,iCAWgB,EAXhB;AAAA,UAYEC,qBAZF,QAYEA,qBAZF;AAAA,iCAaEC,UAbF;AAAA,UAaEA,UAbF,gCAae,EAbf;AAAA,uCAcEC,mBAdF;AAAA,UAcEA,mBAdF,sCAcwB,EAdxB;AAAA,uCAeEnB,mBAfF;AAAA,UAeEA,mBAfF,sCAewB,EAfxB;AAAA,iCAgBEoB,UAhBF;AAAA,UAgBEA,UAhBF,gCAgBe,EAhBf;AAAA,oCAiBEC,aAjBF;AAAA,UAiBEA,aAjBF,mCAiBkB,EAjBlB;AAAA,+BAkBEC,QAlBF;AAAA,UAkBEA,QAlBF,8BAkBa,EAlBb;AAAA,sCAmBEC,eAnBF;AAAA,UAmBEA,eAnBF,qCAmBoB,EAnBpB;;AAqBA,kBASI1B,KAAK,IAAI,EATb;AAAA,+BACE2B,MADF;AAAA,UACEA,MADF,6BACW,EADX;AAAA,UAEEC,aAFF,SAEEA,aAFF;AAAA,UAGEC,eAHF,SAGEA,eAHF;AAAA,UAIEC,aAJF,SAIEA,aAJF;AAAA,UAKEC,gBALF,SAKEA,gBALF;AAAA,UAMEC,iBANF,SAMEA,iBANF;AAAA,UAOEC,0BAPF,SAOEA,0BAPF;AAAA,UAQEC,qBARF,SAQEA,qBARF;;AAWA,UAA6BC,wBAA7B,GAA0DR,MAA1D,CAAQxB,mBAAR;AAEAzB,MAAAA,GAAG,CAAC,gBAAD,EAAmBsB,KAAnB,CAAH;AAEA,UAAMoC,WAAW,GAAG;AAClBC,QAAAA,QAAQ,EAAEH,qBAAqB,KAAK,KAA1B,GAAkC,KAAlC,GAA0C;AADlC,OAApB;AAIA,UAAMI,oBAAoB,GAAGxB,aAAa,IAAIA,aAAa,CAACE,MAA5D;AACA,UAAMuB,qBAAqB,GAAGxB,cAAc,IAAIA,cAAc,CAACC,MAA/D;AAEA,UAAMwB,aAAa,GAAG;AACpBtB,QAAAA,YAAY,EAAEA,YAAY,CAACtC,QAAb,IAAyBE,KAAK,CAACoC,YAAY,CAACuB,KAAd,EAAqB,CAACC,qBAAcC,MAAf,EAAuBD,qBAAcE,QAArC,CAArB,CADxB;AAEpBf,QAAAA,eAAe,EAAEzB,QAAQ,CAACxB,QAAT,IAAqBC,MAAM,CAACuB,QAAQ,CAACqC,KAAV,CAFxB;AAGpBX,QAAAA,aAAa,EAAEd,MAAM,CAACpC,QAAP,IAAmBC,MAAM,CAACmC,MAAM,CAACyB,KAAR,CAHpB;AAIpB,4BAAoBhB,QAAQ,CAAC7C,QAAT,IAAqBC,MAAM,CAAC4C,QAAQ,CAACgB,KAAV,EAAiB,IAAjB,CAJ3B;AAKpBhB,QAAAA,QAAQ,EAAEA,QAAQ,CAAC7C,QAAT,IAAqB6C,QAAQ,CAACoB,OAA9B,IAAyC9D,QAAQ,CAAC2C,eAAe,CAACe,KAAjB,EAAwBf,eAAe,CAACoB,OAAxC;AALvC,OAAtB;AAOA,UAAMC,eAAe,GAAG;AACtBd,QAAAA,0BAA0B,EAAE9B,mBAAmB,CAACvB,QAApB,IAAgCC,MAAM,CAACsB,mBAAmB,CAACsC,KAArB,CAD5C;AAEtBO,QAAAA,0BAA0B,EAAE1B,mBAAmB,CAAC1C,QAApB,IAAgCC,MAAM,CAACyC,mBAAmB,CAACmB,KAArB,CAF5C;AAGtBV,QAAAA,gBAAgB,EAAEd,SAAS,CAACrC,QAAV,IAAsBC,MAAM,CAACoC,SAAS,CAACwB,KAAX,CAHxB;AAItBT,QAAAA,iBAAiB,EAAEX,UAAU,CAACzC,QAAX,IAAuBC,MAAM,CAACwC,UAAU,CAACoB,KAAZ,CAJ1B;AAKtBtB,QAAAA,WAAW,EAAEA,WAAW,CAACvC,QAAZ,IAAwBE,KAAK,CAACqC,WAAW,CAACsB,KAAb,EAAoB,CAAC,MAAD,EAAS,QAAT,CAApB,CALpB;AAMtB,+BAAuB5B,WAAW,CAACjC,QAAZ,IAAwBC,MAAM,CAACgC,WAAW,CAAC4B,KAAb,CAN/B;AAOtB,sCAA8B/B,kBAAkB,CAAC9B,QAAnB,IAA+BC,MAAM,CAAC6B,kBAAkB,CAAC+B,KAApB,CAP7C;AAQtBQ,QAAAA,aAAa,EAAE,CAAA1B,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAE3C,QAAZ,KAAwBC,MAAM,CAAC0C,UAAD,aAACA,UAAD,uBAACA,UAAU,CAAEkB,KAAb;AARvB,OAAxB;AAWA,0BACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,aAAa,EAAEb,aADjB;AAEE,QAAA,UAAU,EAAEhB,iBAFd;AAGE,QAAA,YAAY,EAAEQ,qBAHhB;AAIE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAEpB,KADT;AAEE,UAAA,aAAa,EAAEO,aAFjB;AAGE,UAAA,aAAa,EAAE,uBAACP,KAAD;AAAA,mBAAWE,cAAc,CAACF,KAAD,CAAzB;AAAA,WAHjB;AAIE,UAAA,qBAAqB,EAAE,+BAACkD,MAAD;AAAA,mBAAY1C,sBAAsB,CAAC0C,MAAD,CAAlC;AAAA,WAJzB;AAKE,UAAA,MAAM,EAAE;AACNC,YAAAA,QAAQ,EAAEX,aADJ;AAENY,YAAAA,UAAU,EAAEL;AAFN;AALV;AALJ,SAiBGd,0BAA0B,iBACzB,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAE9B,mBAAmB,CAACsC,KAA3C;AAAkD,QAAA,SAAS,EAAEpC,OAAO,CAACnB;AAArE,sBACE,gCAAC,0BAAD;AACE,QAAA,SAAS,EAAEmB,OAAO,CAACW,MADrB;AAEE,QAAA,MAAM,EAAEhB,KAAK,CAACG,mBAAN,IAA6B,EAFvC;AAGE,QAAA,QAAQ,EAAE,KAAKkD,yBAHjB;AAIE,QAAA,YAAY,EAAE/C,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,KAAK,EAAE6B,wBANT;AAOE,QAAA,WAAW,EAAEC,WAPf;AAQE,QAAA,WAAW,EAAE,2BAAejC,mBAAf,aAAeA,mBAAf,uBAAeA,mBAAmB,CAAEmD,kBAApC,EAAwD3C,sBAAxD,CARf;AASE,QAAA,UAAU,EAAEqB,iBATd;AAUE,QAAA,aAAa,EAAGlB,aAAa,IAAIA,aAAa,CAACX,mBAAhC,IAAwDmC,oBAVzE;AAWE,QAAA,cAAc,EAAGvB,cAAc,IAAIA,cAAc,CAACZ,mBAAlC,IAA0DoC,qBAX5E;AAYE,QAAA,kBAAkB,EAAE9B,kBAZtB;AAaE,QAAA,uBAAuB,EAAE,CAAC;AAAEgB,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAb3B;AAcE,QAAA,aAAa,EAAED;AAdjB,QADF,EAiBGW,wBAAwB,iBAAI;AAAK,QAAA,SAAS,EAAE9B,OAAO,CAACb;AAAxB,SAAoC2C,wBAApC,CAjB/B,CAlBJ,eAuCE,gCAAC,8BAAD;AACE,QAAA,YAAY,EAAE7B,YADhB;AAEE,QAAA,kBAAkB,EAAEG,kBAFtB;AAGE,QAAA,KAAK,EAAET,KAHT;AAIE,QAAA,aAAa,EAAEO,aAJjB;AAKE,QAAA,QAAQ,EAAE,KAAKgD,QALjB;AAME,QAAA,gBAAgB,EAAExB,gBANpB;AAOE,QAAA,aAAa,EAAED,aAPjB;AAQE,QAAA,WAAW,EAAEM,WARf;AASE,QAAA,UAAU,EAAEJ;AATd,QAvCF,EAmDGH,eAAe,iBACd,gCAAC,wBAAD;AAAgB,QAAA,QAAQ,EAAE7B,KAAK,CAACI,QAAhC;AAA0C,QAAA,QAAQ,EAAE,KAAKoD,gBAAzD;AAA2E,QAAA,WAAW,EAAEpB;AAAxF,QApDJ,CADF;AAyDD;;;EArJ4BqB,kBAAMC,S;;;iCAAxB3D,S,eACQ;AACjBG,EAAAA,cAAc,EAAEyD,sBAAUC,IADT;AAEjBpD,EAAAA,sBAAsB,EAAEmD,sBAAUC,IAFjB;AAGjBvD,EAAAA,OAAO,EAAEsD,sBAAUE,MAHF;AAIjB7D,EAAAA,KAAK,EAAE2D,sBAAUE,MAAV,CAAiBC,UAJP;AAKjBvD,EAAAA,aAAa,EAAEoD,sBAAUE,MAAV,CAAiBC,UALf;AAMjBxD,EAAAA,YAAY,EAAEqD,sBAAUE,MANP;AAOjBpD,EAAAA,kBAAkB,EAAEkD,sBAAUE;AAPb,C;;eAuJN,wBAAW7E,MAAX,EAAmBe,SAAnB,C","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FeedbackConfig, settings, layout, InputContainer } from '@pie-lib/pie-toolbox/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport GeneralConfigBlock from './general-config-block';\nimport { getPluginProps, ResponseTypes } from './utils';\n\nconst log = debug('@pie-element:math-inline:configure');\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n };\n\n onChange = (model) => {\n this.props.onModelChanged(model);\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions,\n });\n };\n\n onFeedbackChange = (feedback) => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n onModelChanged(model);\n };\n\n render() {\n const { classes, model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport } =\n this.props;\n const {\n allowTrailingZeros = {},\n baseInputConfiguration = {},\n contentDimensions = {},\n feedback = {},\n ignoreOrder = {},\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n rationale = {},\n responseType = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const { teacherInstructions: teacherInstructionsError } = errors;\n\n log('[render] model', model);\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n responseType: responseType.settings && radio(responseType.label, [ResponseTypes.simple, ResponseTypes.advanced]),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n 'ignoreOrder.enabled': ignoreOrder.settings && toggle(ignoreOrder.label),\n 'allowTrailingZeros.enabled': allowTrailingZeros.settings && toggle(allowTrailingZeros.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n <GeneralConfigBlock\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n model={model}\n configuration={configuration}\n onChange={this.onChange}\n rationaleEnabled={rationaleEnabled}\n promptEnabled={promptEnabled}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.onFeedbackChange} toolbarOpts={toolbarOpts} />\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
|
|
1
|
+
{"version":3,"sources":["../src/configure.jsx"],"names":["log","Panel","settings","toggle","radio","dropdown","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","errorText","fontSize","typography","color","palette","error","main","Configure","model","props","onModelChanged","teacherInstructions","feedback","classes","imageSupport","configuration","onConfigurationChanged","uploadSoundSupport","allowTrailingZeros","baseInputConfiguration","contentDimensions","ignoreOrder","maxImageWidth","maxImageHeight","prompt","rationale","responseType","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","withRubric","mathMlOptions","language","languageChoices","errors","extraCSSRules","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","teacherInstructionsError","toolbarOpts","position","defaultImageMaxWidth","defaultImageMaxHeight","panelSettings","label","ResponseTypes","simple","advanced","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","config","Settings","Properties","changeTeacherInstructions","inputConfiguration","onChange","onFeedbackChange","React","Component","PropTypes","func","object","isRequired"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,oCAAN,CAAZ;AACA,IAAQC,KAAR,GAA2CC,kBAA3C,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAA2CD,kBAA3C,CAAeC,MAAf;AAAA,IAAuBC,KAAvB,GAA2CF,kBAA3C,CAAuBE,KAAvB;AAAA,IAA8BC,QAA9B,GAA2CH,kBAA3C,CAA8BG,QAA9B;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,KAAK,EAAE,MADK;AAEZC,MAAAA,UAAU,EAAEH,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB,CAFrB;AAGZC,MAAAA,YAAY,EAAEN,KAAK,CAACI,OAAN,CAAcC,IAAd,GAAqB;AAHvB,KADW;AAMzBE,IAAAA,SAAS,EAAE;AACTC,MAAAA,QAAQ,EAAER,KAAK,CAACS,UAAN,CAAiBD,QAAjB,GAA4B,CAD7B;AAETE,MAAAA,KAAK,EAAEV,KAAK,CAACW,OAAN,CAAcC,KAAd,CAAoBC,IAFlB;AAGTV,MAAAA,UAAU,EAAEH,KAAK,CAACI,OAAN,CAAcC;AAHjB;AANc,GAAZ;AAAA,CAAf;;IAaaS,S;;;;;;;;;;;;;;;iGAWA,UAACC,KAAD,EAAW;AACpB,YAAKC,KAAL,CAAWC,cAAX,CAA0BF,KAA1B;AACD,K;kHAE2B,UAACG,mBAAD,EAAyB;AACnD,YAAKF,KAAL,CAAWC,cAAX,iCACK,MAAKD,KAAL,CAAWD,KADhB;AAEEG,QAAAA,mBAAmB,EAAnBA;AAFF;AAID,K;yGAEkB,UAACC,QAAD,EAAc;AAC/B,wBAAkC,MAAKH,KAAvC;AAAA,UAAQD,KAAR,eAAQA,KAAR;AAAA,UAAeE,cAAf,eAAeA,cAAf;AACAF,MAAAA,KAAK,CAACI,QAAN,GAAiBA,QAAjB;AACAF,MAAAA,cAAc,CAACF,KAAD,CAAd;AACD,K;;;;;;WAED,kBAAS;AACP,yBACE,KAAKC,KADP;AAAA,UAAQI,OAAR,gBAAQA,OAAR;AAAA,UAAiBL,KAAjB,gBAAiBA,KAAjB;AAAA,UAAwBM,YAAxB,gBAAwBA,YAAxB;AAAA,UAAsCJ,cAAtC,gBAAsCA,cAAtC;AAAA,UAAsDK,aAAtD,gBAAsDA,aAAtD;AAAA,UAAqEC,sBAArE,gBAAqEA,sBAArE;AAAA,UAA6FC,kBAA7F,gBAA6FA,kBAA7F;;AAEA,iBAoBIF,aAAa,IAAI,EApBrB;AAAA,uCACEG,kBADF;AAAA,UACEA,kBADF,sCACuB,EADvB;AAAA,uCAEEC,sBAFF;AAAA,UAEEA,sBAFF,sCAE2B,EAF3B;AAAA,uCAGEC,iBAHF;AAAA,UAGEA,iBAHF,sCAGsB,EAHtB;AAAA,+BAIER,QAJF;AAAA,UAIEA,QAJF,8BAIa,EAJb;AAAA,kCAKES,WALF;AAAA,UAKEA,WALF,iCAKgB,EALhB;AAAA,oCAMEC,aANF;AAAA,UAMEA,aANF,mCAMkB,EANlB;AAAA,qCAOEC,cAPF;AAAA,UAOEA,cAPF,oCAOmB,EAPnB;AAAA,6BAQEC,MARF;AAAA,UAQEA,MARF,4BAQW,EARX;AAAA,gCASEC,SATF;AAAA,UASEA,SATF,+BASc,EATd;AAAA,mCAUEC,YAVF;AAAA,UAUEA,YAVF,kCAUiB,EAVjB;AAAA,kCAWEC,WAXF;AAAA,UAWEA,WAXF,iCAWgB,EAXhB;AAAA,UAYEC,qBAZF,QAYEA,qBAZF;AAAA,iCAaEC,UAbF;AAAA,UAaEA,UAbF,gCAae,EAbf;AAAA,uCAcEC,mBAdF;AAAA,UAcEA,mBAdF,sCAcwB,EAdxB;AAAA,uCAeEnB,mBAfF;AAAA,UAeEA,mBAfF,sCAewB,EAfxB;AAAA,iCAgBEoB,UAhBF;AAAA,UAgBEA,UAhBF,gCAgBe,EAhBf;AAAA,oCAiBEC,aAjBF;AAAA,UAiBEA,aAjBF,mCAiBkB,EAjBlB;AAAA,+BAkBEC,QAlBF;AAAA,UAkBEA,QAlBF,8BAkBa,EAlBb;AAAA,sCAmBEC,eAnBF;AAAA,UAmBEA,eAnBF,qCAmBoB,EAnBpB;;AAqBA,kBASI1B,KAAK,IAAI,EATb;AAAA,+BACE2B,MADF;AAAA,UACEA,MADF,6BACW,EADX;AAAA,UAEEC,aAFF,SAEEA,aAFF;AAAA,UAGEC,eAHF,SAGEA,eAHF;AAAA,UAIEC,aAJF,SAIEA,aAJF;AAAA,UAKEC,gBALF,SAKEA,gBALF;AAAA,UAMEC,iBANF,SAMEA,iBANF;AAAA,UAOEC,0BAPF,SAOEA,0BAPF;AAAA,UAQEC,qBARF,SAQEA,qBARF;;AAWA,UAA6BC,wBAA7B,GAA0DR,MAA1D,CAAQxB,mBAAR;AAEAzB,MAAAA,GAAG,CAAC,gBAAD,EAAmBsB,KAAnB,CAAH;AAEA,UAAMoC,WAAW,GAAG;AAClBC,QAAAA,QAAQ,EAAEH,qBAAqB,KAAK,KAA1B,GAAkC,KAAlC,GAA0C;AADlC,OAApB;AAIA,UAAMI,oBAAoB,GAAGxB,aAAa,IAAIA,aAAa,CAACE,MAA5D;AACA,UAAMuB,qBAAqB,GAAGxB,cAAc,IAAIA,cAAc,CAACC,MAA/D;AAEA,UAAMwB,aAAa,GAAG;AACpBtB,QAAAA,YAAY,EAAEA,YAAY,CAACtC,QAAb,IAAyBE,KAAK,CAACoC,YAAY,CAACuB,KAAd,EAAqB,CAACC,qBAAcC,MAAf,EAAuBD,qBAAcE,QAArC,CAArB,CADxB;AAEpBf,QAAAA,eAAe,EAAEzB,QAAQ,CAACxB,QAAT,IAAqBC,MAAM,CAACuB,QAAQ,CAACqC,KAAV,CAFxB;AAGpBX,QAAAA,aAAa,EAAEd,MAAM,CAACpC,QAAP,IAAmBC,MAAM,CAACmC,MAAM,CAACyB,KAAR,CAHpB;AAIpB,4BAAoBhB,QAAQ,CAAC7C,QAAT,IAAqBC,MAAM,CAAC4C,QAAQ,CAACgB,KAAV,EAAiB,IAAjB,CAJ3B;AAKpBhB,QAAAA,QAAQ,EAAEA,QAAQ,CAAC7C,QAAT,IAAqB6C,QAAQ,CAACoB,OAA9B,IAAyC9D,QAAQ,CAAC2C,eAAe,CAACe,KAAjB,EAAwBf,eAAe,CAACoB,OAAxC;AALvC,OAAtB;AAOA,UAAMC,eAAe,GAAG;AACtBd,QAAAA,0BAA0B,EAAE9B,mBAAmB,CAACvB,QAApB,IAAgCC,MAAM,CAACsB,mBAAmB,CAACsC,KAArB,CAD5C;AAEtBO,QAAAA,0BAA0B,EAAE1B,mBAAmB,CAAC1C,QAApB,IAAgCC,MAAM,CAACyC,mBAAmB,CAACmB,KAArB,CAF5C;AAGtBV,QAAAA,gBAAgB,EAAEd,SAAS,CAACrC,QAAV,IAAsBC,MAAM,CAACoC,SAAS,CAACwB,KAAX,CAHxB;AAItBT,QAAAA,iBAAiB,EAAEX,UAAU,CAACzC,QAAX,IAAuBC,MAAM,CAACwC,UAAU,CAACoB,KAAZ,CAJ1B;AAKtBtB,QAAAA,WAAW,EAAEA,WAAW,CAACvC,QAAZ,IAAwBE,KAAK,CAACqC,WAAW,CAACsB,KAAb,EAAoB,CAAC,MAAD,EAAS,QAAT,CAApB,CALpB;AAMtB,+BAAuB5B,WAAW,CAACjC,QAAZ,IAAwBC,MAAM,CAACgC,WAAW,CAAC4B,KAAb,CAN/B;AAOtB,sCAA8B/B,kBAAkB,CAAC9B,QAAnB,IAA+BC,MAAM,CAAC6B,kBAAkB,CAAC+B,KAApB,CAP7C;AAQtBQ,QAAAA,aAAa,EAAE,CAAA1B,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAE3C,QAAZ,KAAwBC,MAAM,CAAC0C,UAAD,aAACA,UAAD,uBAACA,UAAU,CAAEkB,KAAb;AARvB,OAAxB;AAWA,0BACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,aAAa,EAAEb,aADjB;AAEE,QAAA,UAAU,EAAEhB,iBAFd;AAGE,QAAA,YAAY,EAAEQ,qBAHhB;AAIE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAEpB,KADT;AAEE,UAAA,aAAa,EAAEO,aAFjB;AAGE,UAAA,aAAa,EAAE,uBAACP,KAAD;AAAA,mBAAWE,cAAc,CAACF,KAAD,CAAzB;AAAA,WAHjB;AAIE,UAAA,qBAAqB,EAAE,+BAACkD,MAAD;AAAA,mBAAY1C,sBAAsB,CAAC0C,MAAD,CAAlC;AAAA,WAJzB;AAKE,UAAA,MAAM,EAAE;AACNC,YAAAA,QAAQ,EAAEX,aADJ;AAENY,YAAAA,UAAU,EAAEL;AAFN;AALV;AALJ,SAiBGd,0BAA0B,iBACzB,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAE9B,mBAAmB,CAACsC,KAA3C;AAAkD,QAAA,SAAS,EAAEpC,OAAO,CAACnB;AAArE,sBACE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEmB,OAAO,CAACW,MADrB;AAEE,QAAA,MAAM,EAAEhB,KAAK,CAACG,mBAAN,IAA6B,EAFvC;AAGE,QAAA,QAAQ,EAAE,KAAKkD,yBAHjB;AAIE,QAAA,YAAY,EAAE/C,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,KAAK,EAAE6B,wBANT;AAOE,QAAA,WAAW,EAAEC,WAPf;AAQE,QAAA,WAAW,EAAE,2BAAejC,mBAAf,aAAeA,mBAAf,uBAAeA,mBAAmB,CAAEmD,kBAApC,EAAwD3C,sBAAxD,CARf;AASE,QAAA,UAAU,EAAEqB,iBATd;AAUE,QAAA,aAAa,EAAGlB,aAAa,IAAIA,aAAa,CAACX,mBAAhC,IAAwDmC,oBAVzE;AAWE,QAAA,cAAc,EAAGvB,cAAc,IAAIA,cAAc,CAACZ,mBAAlC,IAA0DoC,qBAX5E;AAYE,QAAA,kBAAkB,EAAE9B,kBAZtB;AAaE,QAAA,uBAAuB,EAAE,CAAC;AAAEgB,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAb3B;AAcE,QAAA,aAAa,EAAED;AAdjB,QADF,EAiBGW,wBAAwB,iBAAI;AAAK,QAAA,SAAS,EAAE9B,OAAO,CAACb;AAAxB,SAAoC2C,wBAApC,CAjB/B,CAlBJ,eAuCE,gCAAC,8BAAD;AACE,QAAA,YAAY,EAAE7B,YADhB;AAEE,QAAA,kBAAkB,EAAEG,kBAFtB;AAGE,QAAA,KAAK,EAAET,KAHT;AAIE,QAAA,aAAa,EAAEO,aAJjB;AAKE,QAAA,QAAQ,EAAE,KAAKgD,QALjB;AAME,QAAA,gBAAgB,EAAExB,gBANpB;AAOE,QAAA,aAAa,EAAED,aAPjB;AAQE,QAAA,WAAW,EAAEM,WARf;AASE,QAAA,UAAU,EAAEJ;AATd,QAvCF,EAmDGH,eAAe,iBACd,gCAAC,wBAAD;AAAgB,QAAA,QAAQ,EAAE7B,KAAK,CAACI,QAAhC;AAA0C,QAAA,QAAQ,EAAE,KAAKoD,gBAAzD;AAA2E,QAAA,WAAW,EAAEpB;AAAxF,QApDJ,CADF;AAyDD;;;EArJ4BqB,kBAAMC,S;;;iCAAxB3D,S,eACQ;AACjBG,EAAAA,cAAc,EAAEyD,sBAAUC,IADT;AAEjBpD,EAAAA,sBAAsB,EAAEmD,sBAAUC,IAFjB;AAGjBvD,EAAAA,OAAO,EAAEsD,sBAAUE,MAHF;AAIjB7D,EAAAA,KAAK,EAAE2D,sBAAUE,MAAV,CAAiBC,UAJP;AAKjBvD,EAAAA,aAAa,EAAEoD,sBAAUE,MAAV,CAAiBC,UALf;AAMjBxD,EAAAA,YAAY,EAAEqD,sBAAUE,MANP;AAOjBpD,EAAAA,kBAAkB,EAAEkD,sBAAUE;AAPb,C;;eAuJN,wBAAW7E,MAAX,EAAmBe,SAAnB,C","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport { FeedbackConfig, settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport EditableHtml from '@pie-lib/editable-html';\nimport GeneralConfigBlock from './general-config-block';\nimport { getPluginProps, ResponseTypes } from './utils';\n\nconst log = debug('@pie-element:math-inline:configure');\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n };\n\n onChange = (model) => {\n this.props.onModelChanged(model);\n };\n\n changeTeacherInstructions = (teacherInstructions) => {\n this.props.onModelChanged({\n ...this.props.model,\n teacherInstructions,\n });\n };\n\n onFeedbackChange = (feedback) => {\n const { model, onModelChanged } = this.props;\n model.feedback = feedback;\n onModelChanged(model);\n };\n\n render() {\n const { classes, model, imageSupport, onModelChanged, configuration, onConfigurationChanged, uploadSoundSupport } =\n this.props;\n const {\n allowTrailingZeros = {},\n baseInputConfiguration = {},\n contentDimensions = {},\n feedback = {},\n ignoreOrder = {},\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n rationale = {},\n responseType = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors = {},\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const { teacherInstructions: teacherInstructionsError } = errors;\n\n log('[render] model', model);\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelSettings = {\n responseType: responseType.settings && radio(responseType.label, [ResponseTypes.simple, ResponseTypes.advanced]),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n 'ignoreOrder.enabled': ignoreOrder.settings && toggle(ignoreOrder.label),\n 'allowTrailingZeros.enabled': allowTrailingZeros.settings && toggle(allowTrailingZeros.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={(config) => onConfigurationChanged(config)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.changeTeacherInstructions}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n <GeneralConfigBlock\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n model={model}\n configuration={configuration}\n onChange={this.onChange}\n rationaleEnabled={rationaleEnabled}\n promptEnabled={promptEnabled}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.onFeedbackChange} toolbarOpts={toolbarOpts} />\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles(styles)(Configure);\n"],"file":"configure.js"}
|
|
@@ -31,9 +31,9 @@ var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
|
31
31
|
|
|
32
32
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
33
33
|
|
|
34
|
-
var _editableHtml = require("@pie-lib/
|
|
34
|
+
var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
|
|
35
35
|
|
|
36
|
-
var _configUi = require("@pie-lib/
|
|
36
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
37
37
|
|
|
38
38
|
var _styles = require("@material-ui/core/styles");
|
|
39
39
|
|
|
@@ -45,7 +45,7 @@ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
|
|
|
45
45
|
|
|
46
46
|
var _response = _interopRequireDefault(require("./response"));
|
|
47
47
|
|
|
48
|
-
var _mathToolbar = require("@pie-lib/
|
|
48
|
+
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
49
49
|
|
|
50
50
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
51
51
|
|
|
@@ -469,7 +469,7 @@ var GeneralConfigBlock = /*#__PURE__*/function (_React$Component) {
|
|
|
469
469
|
}, promptEnabled && /*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
470
470
|
label: cPrompt.label,
|
|
471
471
|
className: classes.promptHolder
|
|
472
|
-
}, /*#__PURE__*/React.createElement(_editableHtml
|
|
472
|
+
}, /*#__PURE__*/React.createElement(_editableHtml["default"], {
|
|
473
473
|
onFocus: this.onPromptFocus,
|
|
474
474
|
className: classes.prompt,
|
|
475
475
|
markup: prompt || '',
|
|
@@ -604,7 +604,7 @@ var GeneralConfigBlock = /*#__PURE__*/function (_React$Component) {
|
|
|
604
604
|
}), rationaleEnabled && /*#__PURE__*/React.createElement(_configUi.InputContainer, {
|
|
605
605
|
label: cRationale.label,
|
|
606
606
|
className: classes.promptHolder
|
|
607
|
-
}, /*#__PURE__*/React.createElement(_editableHtml
|
|
607
|
+
}, /*#__PURE__*/React.createElement(_editableHtml["default"], {
|
|
608
608
|
className: classes.prompt,
|
|
609
609
|
markup: rationale || '',
|
|
610
610
|
onChange: this.onChange('rationale'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/general-config-block.jsx"],"names":["registered","styles","theme","container","display","flexDirection","templateTitle","fontSize","title","addResponseButton","border","palette","grey","width","flexContainer","alignItems","justifyContent","selectContainer","flex","marginTop","spacing","unit","marginBottom","responseTemplate","responseEditor","maxWidth","height","minHeight","textAlign","padding","promptHolder","paddingTop","blockContainer","margin","blockContainerGeneric","blockResponse","fontFamily","color","background","borderRight","blockResponseGeneric","blockMath","tooltip","typography","whiteSpace","errorText","error","main","advancedResponse","REGEX","TEMPORARY_RESPONSE_FIELD","ANSWER_BLOCK_REGEX","NEWLINE_BLOCK","NEWLINE_LATEX","prepareForStatic","expression","answerBlocks","replace","prepareForModel","GeneralConfigBlock","props","name","evtOrValue","model","onChange","newModel","target","value","setState","showKeypad","responseAreas","state","root","Object","keys","length","forEach","responseId","idx","el","querySelector","indexEl","MQ","MathQuill","getInterface","StaticMath","textContent","responseIdCounter","newCounter","responses","find","response","id","validation","answer","alternates","concat","index","classes","window","registerEmbed","data","genericAnswerBlock","htmlString","text","latex","handleAnswerBlockDomUpdate","imageSupport","uploadSoundSupport","configuration","promptEnabled","rationaleEnabled","toolbarOpts","prompt","equationEditor","promptEquationEditor","responseType","rationale","spellCheckEnabled","errors","baseInputConfiguration","cRationale","cPrompt","ignoreOrder","cIgnoreOrder","allowTrailingZeros","cAllowTrailingZeros","maxResponseAreas","maxImageWidth","maxImageHeight","mathMlOptions","validationMessage","promptError","rationaleError","responsesErrors","responseAreasError","defaultImageMaxWidth","defaultImageMaxHeight","classNames","editor","mathToolbar","responsesToUse","ResponseTypes","advanced","slice","validationTooltip","marginLeft","r","label","onPromptFocus","inputConfiguration","language","select","onFocus","onDone","simple","map","onResponseChange","math","controlledKeypadMode","React","Component","PropTypes","object","isRequired","func","bool"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport { InputContainer } from '@pie-lib/pie-toolbox/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Response from './response';\nimport { MathToolbar } from '@pie-lib/pie-toolbox/math-toolbar';\nimport isEqual from 'lodash/isEqual';\nimport { ResponseTypes, generateValidationMessage, getPluginProps } from './utils';\nimport MathQuill from '@pie-framework/mathquill';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nlet registered = false;\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n },\n templateTitle: {\n fontSize: '0.85rem',\n },\n title: {\n fontSize: '1.1rem',\n },\n addResponseButton: {\n border: `1px solid ${theme.palette.grey['A100']}`,\n float: 'right',\n width: '150px',\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n selectContainer: {\n flex: 'initial',\n width: '40%',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n responseTemplate: {\n display: 'flex',\n flexDirection: 'column',\n },\n responseEditor: {\n display: 'flex',\n justifyContent: 'center',\n width: '100%',\n // minWidth: '500px',\n maxWidth: 'inherit',\n height: 'auto',\n minHeight: '130px',\n textAlign: 'left',\n padding: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n blockContainer: {\n margin: theme.spacing.unit,\n display: 'inline-flex',\n border: '2px solid grey',\n },\n blockContainerGeneric: {\n margin: theme.spacing.unit / 2,\n },\n blockResponse: {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n flex: 2,\n color: 'grey',\n background: theme.palette.grey['A100'],\n fontSize: '0.8rem',\n padding: theme.spacing.unit / 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRight: '2px solid grey',\n },\n blockResponseGeneric: {\n borderRight: 0,\n },\n blockMath: {\n color: theme.palette.grey[400],\n padding: theme.spacing.unit / 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flex: 8,\n '& > .mq-math-mode': {\n '& > .mq-hasCursor': {\n '& > .mq-cursor': {\n display: 'none',\n },\n },\n },\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre-wrap',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n advancedResponse: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nconst REGEX = /{{response}}/gm;\nconst TEMPORARY_RESPONSE_FIELD = /\\\\%response\\\\%/gm;\nconst ANSWER_BLOCK_REGEX = /\\\\embed\\{answerBlock\\}\\[r\\d*\\]/g;\nconst NEWLINE_BLOCK = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = /\\\\newline/g;\n\nfunction prepareForStatic(expression) {\n if (expression) {\n let answerBlocks = 1; // assume one at least\n\n return expression\n .replace(REGEX, () => `\\\\embed{answerBlock}[r${answerBlocks++}]`)\n .replace(NEWLINE_LATEX, '\\\\embed{newLine}[]');\n }\n}\n\nfunction prepareForModel(expression) {\n if (expression) {\n return expression\n .replace(ANSWER_BLOCK_REGEX, () => '{{response}}')\n .replace(TEMPORARY_RESPONSE_FIELD, () => '{{response}}')\n .replace(NEWLINE_BLOCK, () => '\\\\newline');\n }\n}\n\nclass GeneralConfigBlock extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n configuration: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n promptEnabled: PropTypes.bool,\n rationaleEnabled: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n const responseAreas = {};\n\n if (props.model && props.model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n props.model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n this.state = {\n showKeypad: false,\n responseAreas,\n responseIdCounter: Object.keys(responseAreas).length,\n };\n }\n\n onChange = (name) => (evtOrValue) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (typeof evtOrValue === 'object') {\n newModel[name] = evtOrValue.target.value;\n } else {\n newModel[name] = evtOrValue;\n }\n\n if (name === 'expression') {\n newModel[name] = prepareForModel(evtOrValue);\n }\n\n onChange(newModel);\n };\n\n onDone = () => {\n this.setState({ showKeypad: false });\n };\n\n onFocus = () => {\n this.setState({ showKeypad: true });\n };\n\n onPromptFocus = () => {\n this.setState({ showKeypad: false });\n };\n\n UNSAFE_componentWillMount() {\n const { classes } = this.props;\n\n if (typeof window !== 'undefined') {\n // const MathQuill = require('@pie-framework/mathquill');\n let MQ = MathQuill.getInterface(2);\n\n if (!registered) {\n MQ.registerEmbed('answerBlock', (data) => {\n // not used until we implement individual answer tracking\n // const individualAnswerBlock = `<div class=\"${classes.blockContainer}\">\n // <div class=\"${classes.blockResponse}\" id=\"${data}Index\">R</div>\n // <div class=\"${classes.blockMath}\">\n // <span id=\"${data}\"></span>\n // </div>\n // </div>`;\n\n const genericAnswerBlock = `<div class=\"${cx(classes.blockContainer, classes.blockContainerGeneric)}\">\n <div class=\"${cx(classes.blockResponse, classes.blockResponseGeneric)}\" id=\"${data}Index\">Response</div>\n </div>`;\n\n return {\n htmlString: genericAnswerBlock,\n text: () => 'text',\n latex: () => `\\\\embed{answerBlock}[${data}]`,\n };\n });\n\n registered = true;\n }\n }\n }\n\n componentDidMount() {\n this.handleAnswerBlockDomUpdate();\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n handleAnswerBlockDomUpdate = () => {\n const { model } = this.props;\n\n const responseAreas = {};\n\n if (model && model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n if (!isEqual(responseAreas, this.state.responseAreas)) {\n this.setState(\n {\n responseAreas,\n },\n () => {\n if (this.root && Object.keys(responseAreas).length) {\n Object.keys(responseAreas).forEach((responseId, idx) => {\n const el = this.root.querySelector(`#${responseId}`);\n const indexEl = this.root.querySelector(`#${responseId}Index`);\n\n if (el) {\n // const MathQuill = require('@pie-framework/mathquill');\n let MQ = MathQuill.getInterface(2);\n // We no longer have individual answers, so we cannot set text content of blocks\n // el.textContent = response.answer;\n MQ.StaticMath(el);\n indexEl.textContent = `R${idx + 1}`;\n }\n });\n }\n },\n );\n }\n };\n\n onAddResponse = () => {\n const { model, onChange } = this.props;\n const { responseIdCounter } = this.state;\n const newModel = { ...model };\n\n let newCounter = responseIdCounter;\n\n while (model.responses.find((response) => response.id === newCounter)) {\n newCounter++;\n }\n\n const response = {\n id: newCounter,\n validation: 'literal',\n answer: '',\n alternates: {},\n };\n\n newModel.responses = newModel.responses.concat(response);\n onChange(newModel);\n\n this.setState({\n responseIdCounter: response.id,\n });\n };\n\n onResponseChange = (response, index) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.responses[index] = response;\n onChange(newModel);\n };\n\n render() {\n const {\n classes,\n model,\n imageSupport,\n uploadSoundSupport,\n configuration,\n promptEnabled,\n rationaleEnabled,\n toolbarOpts,\n } = this.props;\n const { showKeypad } = this.state;\n const {\n prompt,\n expression,\n equationEditor,\n promptEquationEditor = '8',\n responses,\n responseType,\n rationale,\n spellCheckEnabled,\n errors = {},\n } = model;\n const {\n baseInputConfiguration = {},\n rationale: cRationale = {},\n prompt: cPrompt = {},\n ignoreOrder: cIgnoreOrder = {},\n allowTrailingZeros: cAllowTrailingZeros = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n } = configuration || {};\n const validationMessage = generateValidationMessage(configuration, model);\n const { prompt: promptError, rationale: rationaleError, responsesErrors, responseAreasError } = errors;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const classNames = {\n editor: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n\n const responsesToUse = responseType === ResponseTypes.advanced ? responses : responses.slice(0, 1);\n\n const validationTooltip = (\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }} />\n </Tooltip>\n );\n\n return (\n <div ref={(r) => (this.root = r || this.root)} className={classes.container}>\n {promptEnabled && (\n <InputContainer label={cPrompt.label} className={classes.promptHolder}>\n <EditableHtml\n onFocus={this.onPromptFocus}\n className={classes.prompt}\n markup={prompt || ''}\n onChange={this.onChange('prompt')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cPrompt?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n {responseType === ResponseTypes.advanced && (\n <div className={classes.advancedResponse}>\n <div className={classes.flexContainer} style={{ justifyContent: 'flex-start' }}>\n <div className={classes.title}>Define Response</div>\n {validationTooltip}\n </div>\n\n <InputContainer\n key=\"templateEditorType\"\n label=\"Response Template Equation Editor\"\n className={classes.selectContainer}\n >\n <Select\n className={classes.select}\n onChange={this.onChange('promptEquationEditor')}\n value={promptEquationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </InputContainer>\n\n <div className={classes.responseTemplate} key=\"templateHolder\">\n <InputLabel className={classes.templateTitle}>RESPONSE TEMPLATE</InputLabel>\n <MathToolbar\n classNames={classNames}\n allowAnswerBlock\n keypadMode={promptEquationEditor}\n controlledKeypad\n showKeypad={showKeypad}\n latex={prepareForStatic(expression) || ''}\n onChange={this.onChange('expression')}\n onFocus={this.onFocus}\n onDone={this.onDone}\n maxResponseAreas={maxResponseAreas}\n error={responseAreasError}\n />\n </div>\n\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n </div>\n )}\n\n <div className={classes.flexContainer} style={{ justifyContent: 'flex-start' }}>\n <div className={classes.title}>Define Correct Response</div>\n {responseType === ResponseTypes.simple ? validationTooltip : null}\n </div>\n\n <InputContainer label=\"Equation Editor\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('equationEditor')} value={equationEditor}>\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </InputContainer>\n\n {responsesToUse.map((response, idx) => (\n <Response\n key={response.id}\n mode={equationEditor}\n response={response}\n defaultResponse={responseType === ResponseTypes.simple}\n onResponseChange={this.onResponseChange}\n index={idx}\n cIgnoreOrder={cIgnoreOrder}\n cAllowTrailingZeros={cAllowTrailingZeros}\n error={responsesErrors && responsesErrors[idx]}\n />\n ))}\n\n {rationaleEnabled && (\n <InputContainer label={cRationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={rationale || ''}\n onChange={this.onChange('rationale')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cRationale?.inputConfiguration, {\n ...baseInputConfiguration,\n math: {\n controlledKeypadMode: false,\n },\n })}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GeneralConfigBlock);\n"],"file":"general-config-block.js"}
|
|
1
|
+
{"version":3,"sources":["../src/general-config-block.jsx"],"names":["registered","styles","theme","container","display","flexDirection","templateTitle","fontSize","title","addResponseButton","border","palette","grey","width","flexContainer","alignItems","justifyContent","selectContainer","flex","marginTop","spacing","unit","marginBottom","responseTemplate","responseEditor","maxWidth","height","minHeight","textAlign","padding","promptHolder","paddingTop","blockContainer","margin","blockContainerGeneric","blockResponse","fontFamily","color","background","borderRight","blockResponseGeneric","blockMath","tooltip","typography","whiteSpace","errorText","error","main","advancedResponse","REGEX","TEMPORARY_RESPONSE_FIELD","ANSWER_BLOCK_REGEX","NEWLINE_BLOCK","NEWLINE_LATEX","prepareForStatic","expression","answerBlocks","replace","prepareForModel","GeneralConfigBlock","props","name","evtOrValue","model","onChange","newModel","target","value","setState","showKeypad","responseAreas","state","root","Object","keys","length","forEach","responseId","idx","el","querySelector","indexEl","MQ","MathQuill","getInterface","StaticMath","textContent","responseIdCounter","newCounter","responses","find","response","id","validation","answer","alternates","concat","index","classes","window","registerEmbed","data","genericAnswerBlock","htmlString","text","latex","handleAnswerBlockDomUpdate","imageSupport","uploadSoundSupport","configuration","promptEnabled","rationaleEnabled","toolbarOpts","prompt","equationEditor","promptEquationEditor","responseType","rationale","spellCheckEnabled","errors","baseInputConfiguration","cRationale","cPrompt","ignoreOrder","cIgnoreOrder","allowTrailingZeros","cAllowTrailingZeros","maxResponseAreas","maxImageWidth","maxImageHeight","mathMlOptions","validationMessage","promptError","rationaleError","responsesErrors","responseAreasError","defaultImageMaxWidth","defaultImageMaxHeight","classNames","editor","mathToolbar","responsesToUse","ResponseTypes","advanced","slice","validationTooltip","marginLeft","r","label","onPromptFocus","inputConfiguration","language","select","onFocus","onDone","simple","map","onResponseChange","math","controlledKeypadMode","React","Component","PropTypes","object","isRequired","func","bool"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;;;;;AAEA,IAAIA,UAAU,GAAG,KAAjB;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,SAAS,EAAE;AACTC,MAAAA,OAAO,EAAE,MADA;AAETC,MAAAA,aAAa,EAAE;AAFN,KADc;AAKzBC,IAAAA,aAAa,EAAE;AACbC,MAAAA,QAAQ,EAAE;AADG,KALU;AAQzBC,IAAAA,KAAK,EAAE;AACLD,MAAAA,QAAQ,EAAE;AADL,KARkB;AAWzBE,IAAAA,iBAAiB,EAAE;AACjBC,MAAAA,MAAM,sBAAeR,KAAK,CAACS,OAAN,CAAcC,IAAd,CAAmB,MAAnB,CAAf,CADW;AAEjB,eAAO,OAFU;AAGjBC,MAAAA,KAAK,EAAE;AAHU,KAXM;AAgBzBC,IAAAA,aAAa,EAAE;AACbV,MAAAA,OAAO,EAAE,MADI;AAEbW,MAAAA,UAAU,EAAE,QAFC;AAGbC,MAAAA,cAAc,EAAE;AAHH,KAhBU;AAqBzBC,IAAAA,eAAe,EAAE;AACfC,MAAAA,IAAI,EAAE,SADS;AAEfL,MAAAA,KAAK,EAAE,KAFQ;AAGfM,MAAAA,SAAS,EAAEjB,KAAK,CAACkB,OAAN,CAAcC,IAAd,GAAqB,CAHjB;AAIfC,MAAAA,YAAY,EAAEpB,KAAK,CAACkB,OAAN,CAAcC,IAAd,GAAqB;AAJpB,KArBQ;AA2BzBE,IAAAA,gBAAgB,EAAE;AAChBnB,MAAAA,OAAO,EAAE,MADO;AAEhBC,MAAAA,aAAa,EAAE;AAFC,KA3BO;AA+BzBmB,IAAAA,cAAc,EAAE;AACdpB,MAAAA,OAAO,EAAE,MADK;AAEdY,MAAAA,cAAc,EAAE,QAFF;AAGdH,MAAAA,KAAK,EAAE,MAHO;AAId;AACAY,MAAAA,QAAQ,EAAE,SALI;AAMdC,MAAAA,MAAM,EAAE,MANM;AAOdC,MAAAA,SAAS,EAAE,OAPG;AAQdC,MAAAA,SAAS,EAAE,MARG;AASdC,MAAAA,OAAO,EAAE3B,KAAK,CAACkB,OAAN,CAAcC;AATT,KA/BS;AA0CzBS,IAAAA,YAAY,EAAE;AACZjB,MAAAA,KAAK,EAAE,MADK;AAEZkB,MAAAA,UAAU,EAAE7B,KAAK,CAACkB,OAAN,CAAcC,IAAd,GAAqB,CAFrB;AAGZC,MAAAA,YAAY,EAAEpB,KAAK,CAACkB,OAAN,CAAcC,IAAd,GAAqB;AAHvB,KA1CW;AA+CzBW,IAAAA,cAAc,EAAE;AACdC,MAAAA,MAAM,EAAE/B,KAAK,CAACkB,OAAN,CAAcC,IADR;AAEdjB,MAAAA,OAAO,EAAE,aAFK;AAGdM,MAAAA,MAAM,EAAE;AAHM,KA/CS;AAoDzBwB,IAAAA,qBAAqB,EAAE;AACrBD,MAAAA,MAAM,EAAE/B,KAAK,CAACkB,OAAN,CAAcC,IAAd,GAAqB;AADR,KApDE;AAuDzBc,IAAAA,aAAa,EAAE;AACbC,MAAAA,UAAU,EAAE,iDADC;AAEblB,MAAAA,IAAI,EAAE,CAFO;AAGbmB,MAAAA,KAAK,EAAE,MAHM;AAIbC,MAAAA,UAAU,EAAEpC,KAAK,CAACS,OAAN,CAAcC,IAAd,CAAmB,MAAnB,CAJC;AAKbL,MAAAA,QAAQ,EAAE,QALG;AAMbsB,MAAAA,OAAO,EAAE3B,KAAK,CAACkB,OAAN,CAAcC,IAAd,GAAqB,CANjB;AAObjB,MAAAA,OAAO,EAAE,MAPI;AAQbW,MAAAA,UAAU,EAAE,QARC;AASbC,MAAAA,cAAc,EAAE,QATH;AAUbuB,MAAAA,WAAW,EAAE;AAVA,KAvDU;AAmEzBC,IAAAA,oBAAoB,EAAE;AACpBD,MAAAA,WAAW,EAAE;AADO,KAnEG;AAsEzBE,IAAAA,SAAS,EAAE;AACTJ,MAAAA,KAAK,EAAEnC,KAAK,CAACS,OAAN,CAAcC,IAAd,CAAmB,GAAnB,CADE;AAETiB,MAAAA,OAAO,EAAE3B,KAAK,CAACkB,OAAN,CAAcC,IAAd,GAAqB,CAFrB;AAGTjB,MAAAA,OAAO,EAAE,MAHA;AAITW,MAAAA,UAAU,EAAE,QAJH;AAKTC,MAAAA,cAAc,EAAE,QALP;AAMTE,MAAAA,IAAI,EAAE,CANG;AAOT,2BAAqB;AACnB,6BAAqB;AACnB,4BAAkB;AAChBd,YAAAA,OAAO,EAAE;AADO;AADC;AADF;AAPZ,KAtEc;AAqFzBsC,IAAAA,OAAO,EAAE;AACPnC,MAAAA,QAAQ,EAAEL,KAAK,CAACyC,UAAN,CAAiBpC,QAAjB,GAA4B,CAD/B;AAEPqC,MAAAA,UAAU,EAAE;AAFL,KArFgB;AAyFzBC,IAAAA,SAAS,EAAE;AACTtC,MAAAA,QAAQ,EAAEL,KAAK,CAACyC,UAAN,CAAiBpC,QAAjB,GAA4B,CAD7B;AAET8B,MAAAA,KAAK,EAAEnC,KAAK,CAACS,OAAN,CAAcmC,KAAd,CAAoBC,IAFlB;AAGThB,MAAAA,UAAU,EAAE7B,KAAK,CAACkB,OAAN,CAAcC;AAHjB,KAzFc;AA8FzB2B,IAAAA,gBAAgB,EAAE;AAChB1B,MAAAA,YAAY,EAAEpB,KAAK,CAACkB,OAAN,CAAcC,IAAd,GAAqB;AADnB;AA9FO,GAAZ;AAAA,CAAf;;AAmGA,IAAM4B,KAAK,GAAG,gBAAd;AACA,IAAMC,wBAAwB,GAAG,kBAAjC;AACA,IAAMC,kBAAkB,GAAG,iCAA3B;AACA,IAAMC,aAAa,GAAG,yBAAtB;AACA,IAAMC,aAAa,GAAG,YAAtB;;AAEA,SAASC,gBAAT,CAA0BC,UAA1B,EAAsC;AACpC,MAAIA,UAAJ,EAAgB;AACd,QAAIC,YAAY,GAAG,CAAnB,CADc,CACQ;;AAEtB,WAAOD,UAAU,CACdE,OADI,CACIR,KADJ,EACW;AAAA,6CAA+BO,YAAY,EAA3C;AAAA,KADX,EAEJC,OAFI,CAEIJ,aAFJ,EAEmB,oBAFnB,CAAP;AAGD;AACF;;AAED,SAASK,eAAT,CAAyBH,UAAzB,EAAqC;AACnC,MAAIA,UAAJ,EAAgB;AACd,WAAOA,UAAU,CACdE,OADI,CACIN,kBADJ,EACwB;AAAA,aAAM,cAAN;AAAA,KADxB,EAEJM,OAFI,CAEIP,wBAFJ,EAE8B;AAAA,aAAM,cAAN;AAAA,KAF9B,EAGJO,OAHI,CAGIL,aAHJ,EAGmB;AAAA,aAAM,WAAN;AAAA,KAHnB,CAAP;AAID;AACF;;IAEKO,kB;;;;;AAaJ,8BAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,iGAuBR,UAACC,IAAD;AAAA,aAAU,UAACC,UAAD,EAAgB;AACnC,0BAA4B,MAAKF,KAAjC;AAAA,YAAQG,KAAR,eAAQA,KAAR;AAAA,YAAeC,QAAf,eAAeA,QAAf;;AACA,YAAMC,QAAQ,qBAAQF,KAAR,CAAd;;AAEA,YAAI,yBAAOD,UAAP,MAAsB,QAA1B,EAAoC;AAClCG,UAAAA,QAAQ,CAACJ,IAAD,CAAR,GAAiBC,UAAU,CAACI,MAAX,CAAkBC,KAAnC;AACD,SAFD,MAEO;AACLF,UAAAA,QAAQ,CAACJ,IAAD,CAAR,GAAiBC,UAAjB;AACD;;AAED,YAAID,IAAI,KAAK,YAAb,EAA2B;AACzBI,UAAAA,QAAQ,CAACJ,IAAD,CAAR,GAAiBH,eAAe,CAACI,UAAD,CAAhC;AACD;;AAEDE,QAAAA,QAAQ,CAACC,QAAD,CAAR;AACD,OAfU;AAAA,KAvBQ;AAAA,+FAwCV,YAAM;AACb,YAAKG,QAAL,CAAc;AAAEC,QAAAA,UAAU,EAAE;AAAd,OAAd;AACD,KA1CkB;AAAA,gGA4CT,YAAM;AACd,YAAKD,QAAL,CAAc;AAAEC,QAAAA,UAAU,EAAE;AAAd,OAAd;AACD,KA9CkB;AAAA,sGAgDH,YAAM;AACpB,YAAKD,QAAL,CAAc;AAAEC,QAAAA,UAAU,EAAE;AAAd,OAAd;AACD,KAlDkB;AAAA,mHA6FU,YAAM;AACjC,UAAQN,KAAR,GAAkB,MAAKH,KAAvB,CAAQG,KAAR;AAEA,UAAMO,aAAa,GAAG,EAAtB;;AAEA,UAAIP,KAAK,IAAIA,KAAK,CAACR,UAAnB,EAA+B;AAC7B,YAAIC,YAAY,GAAG,CAAnB,CAD6B,CACP;AACtB;;AAEAO,QAAAA,KAAK,CAACR,UAAN,CAAiBE,OAAjB,CAAyBR,KAAzB,EAAgC,YAAM;AACpCqB,UAAAA,aAAa,YAAKd,YAAY,EAAjB,EAAb,GAAsC;AACpCW,YAAAA,KAAK,EAAE;AAD6B,WAAtC;AAGD,SAJD;AAKD;;AAED,UAAI,CAAC,yBAAQG,aAAR,EAAuB,MAAKC,KAAL,CAAWD,aAAlC,CAAL,EAAuD;AACrD,cAAKF,QAAL,CACE;AACEE,UAAAA,aAAa,EAAbA;AADF,SADF,EAIE,YAAM;AACJ,cAAI,MAAKE,IAAL,IAAaC,MAAM,CAACC,IAAP,CAAYJ,aAAZ,EAA2BK,MAA5C,EAAoD;AAClDF,YAAAA,MAAM,CAACC,IAAP,CAAYJ,aAAZ,EAA2BM,OAA3B,CAAmC,UAACC,UAAD,EAAaC,GAAb,EAAqB;AACtD,kBAAMC,EAAE,GAAG,MAAKP,IAAL,CAAUQ,aAAV,YAA4BH,UAA5B,EAAX;;AACA,kBAAMI,OAAO,GAAG,MAAKT,IAAL,CAAUQ,aAAV,YAA4BH,UAA5B,WAAhB;;AAEA,kBAAIE,EAAJ,EAAQ;AACN;AACA,oBAAIG,EAAE,GAAGC,sBAAUC,YAAV,CAAuB,CAAvB,CAAT,CAFM,CAGN;AACA;;;AACAF,gBAAAA,EAAE,CAACG,UAAH,CAAcN,EAAd;AACAE,gBAAAA,OAAO,CAACK,WAAR,cAA0BR,GAAG,GAAG,CAAhC;AACD;AACF,aAZD;AAaD;AACF,SApBH;AAsBD;AACF,KArIkB;AAAA,sGAuIH,YAAM;AACpB,yBAA4B,MAAKlB,KAAjC;AAAA,UAAQG,KAAR,gBAAQA,KAAR;AAAA,UAAeC,QAAf,gBAAeA,QAAf;AACA,UAAQuB,iBAAR,GAA8B,MAAKhB,KAAnC,CAAQgB,iBAAR;;AACA,UAAMtB,QAAQ,qBAAQF,KAAR,CAAd;;AAEA,UAAIyB,UAAU,GAAGD,iBAAjB;;AAEA,aAAOxB,KAAK,CAAC0B,SAAN,CAAgBC,IAAhB,CAAqB,UAACC,QAAD;AAAA,eAAcA,QAAQ,CAACC,EAAT,KAAgBJ,UAA9B;AAAA,OAArB,CAAP,EAAuE;AACrEA,QAAAA,UAAU;AACX;;AAED,UAAMG,QAAQ,GAAG;AACfC,QAAAA,EAAE,EAAEJ,UADW;AAEfK,QAAAA,UAAU,EAAE,SAFG;AAGfC,QAAAA,MAAM,EAAE,EAHO;AAIfC,QAAAA,UAAU,EAAE;AAJG,OAAjB;AAOA9B,MAAAA,QAAQ,CAACwB,SAAT,GAAqBxB,QAAQ,CAACwB,SAAT,CAAmBO,MAAnB,CAA0BL,QAA1B,CAArB;AACA3B,MAAAA,QAAQ,CAACC,QAAD,CAAR;;AAEA,YAAKG,QAAL,CAAc;AACZmB,QAAAA,iBAAiB,EAAEI,QAAQ,CAACC;AADhB,OAAd;AAGD,KA/JkB;AAAA,yGAiKA,UAACD,QAAD,EAAWM,KAAX,EAAqB;AACtC,yBAA4B,MAAKrC,KAAjC;AAAA,UAAQG,KAAR,gBAAQA,KAAR;AAAA,UAAeC,QAAf,gBAAeA,QAAf;;AACA,UAAMC,QAAQ,qBAAQF,KAAR,CAAd;;AAEAE,MAAAA,QAAQ,CAACwB,SAAT,CAAmBQ,KAAnB,IAA4BN,QAA5B;AACA3B,MAAAA,QAAQ,CAACC,QAAD,CAAR;AACD,KAvKkB;AAGjB,QAAMK,cAAa,GAAG,EAAtB;;AAEA,QAAIV,KAAK,CAACG,KAAN,IAAeH,KAAK,CAACG,KAAN,CAAYR,UAA/B,EAA2C;AACzC,UAAIC,YAAY,GAAG,CAAnB,CADyC,CACnB;AACtB;;AAEAI,MAAAA,KAAK,CAACG,KAAN,CAAYR,UAAZ,CAAuBE,OAAvB,CAA+BR,KAA/B,EAAsC,YAAM;AAC1CqB,QAAAA,cAAa,YAAKd,YAAY,EAAjB,EAAb,GAAsC;AACpCW,UAAAA,KAAK,EAAE;AAD6B,SAAtC;AAGD,OAJD;AAKD;;AAED,UAAKI,KAAL,GAAa;AACXF,MAAAA,UAAU,EAAE,KADD;AAEXC,MAAAA,aAAa,EAAbA,cAFW;AAGXiB,MAAAA,iBAAiB,EAAEd,MAAM,CAACC,IAAP,CAAYJ,cAAZ,EAA2BK;AAHnC,KAAb;AAhBiB;AAqBlB;;;;WA+BD,qCAA4B;AAC1B,UAAQuB,OAAR,GAAoB,KAAKtC,KAAzB,CAAQsC,OAAR;;AAEA,UAAI,OAAOC,MAAP,KAAkB,WAAtB,EAAmC;AACjC;AACA,YAAIjB,EAAE,GAAGC,sBAAUC,YAAV,CAAuB,CAAvB,CAAT;;AAEA,YAAI,CAACpF,UAAL,EAAiB;AACfkF,UAAAA,EAAE,CAACkB,aAAH,CAAiB,aAAjB,EAAgC,UAACC,IAAD,EAAU;AACxC;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,gBAAMC,kBAAkB,0BAAkB,4BAAGJ,OAAO,CAAClE,cAAX,EAA2BkE,OAAO,CAAChE,qBAAnC,CAAlB,+CACJ,4BAAGgE,OAAO,CAAC/D,aAAX,EAA0B+D,OAAO,CAAC1D,oBAAlC,CADI,qBAC4D6D,IAD5D,iDAAxB;AAIA,mBAAO;AACLE,cAAAA,UAAU,EAAED,kBADP;AAELE,cAAAA,IAAI,EAAE;AAAA,uBAAM,MAAN;AAAA,eAFD;AAGLC,cAAAA,KAAK,EAAE;AAAA,sDAA8BJ,IAA9B;AAAA;AAHF,aAAP;AAKD,WAlBD;AAoBArG,UAAAA,UAAU,GAAG,IAAb;AACD;AACF;AACF;;;WAED,6BAAoB;AAClB,WAAK0G,0BAAL;AACD;;;WAED,8BAAqB;AACnB,WAAKA,0BAAL;AACD;;;WA8ED,kBAAS;AAAA;;AACP,yBASI,KAAK9C,KATT;AAAA,UACEsC,OADF,gBACEA,OADF;AAAA,UAEEnC,KAFF,gBAEEA,KAFF;AAAA,UAGE4C,YAHF,gBAGEA,YAHF;AAAA,UAIEC,kBAJF,gBAIEA,kBAJF;AAAA,UAKEC,aALF,gBAKEA,aALF;AAAA,UAMEC,aANF,gBAMEA,aANF;AAAA,UAOEC,gBAPF,gBAOEA,gBAPF;AAAA,UAQEC,WARF,gBAQEA,WARF;AAUA,UAAQ3C,UAAR,GAAuB,KAAKE,KAA5B,CAAQF,UAAR;AACA,UACE4C,MADF,GAUIlD,KAVJ,CACEkD,MADF;AAAA,UAEE1D,UAFF,GAUIQ,KAVJ,CAEER,UAFF;AAAA,UAGE2D,cAHF,GAUInD,KAVJ,CAGEmD,cAHF;AAAA,kCAUInD,KAVJ,CAIEoD,oBAJF;AAAA,UAIEA,oBAJF,sCAIyB,GAJzB;AAAA,UAKE1B,SALF,GAUI1B,KAVJ,CAKE0B,SALF;AAAA,UAME2B,YANF,GAUIrD,KAVJ,CAMEqD,YANF;AAAA,UAOEC,SAPF,GAUItD,KAVJ,CAOEsD,SAPF;AAAA,UAQEC,iBARF,GAUIvD,KAVJ,CAQEuD,iBARF;AAAA,0BAUIvD,KAVJ,CASEwD,MATF;AAAA,UASEA,MATF,8BASW,EATX;;AAWA,iBAUIV,aAAa,IAAI,EAVrB;AAAA,uCACEW,sBADF;AAAA,UACEA,sBADF,sCAC2B,EAD3B;AAAA,gCAEEH,SAFF;AAAA,UAEaI,UAFb,+BAE0B,EAF1B;AAAA,6BAGER,MAHF;AAAA,UAGUS,OAHV,4BAGoB,EAHpB;AAAA,kCAIEC,WAJF;AAAA,UAIeC,YAJf,iCAI8B,EAJ9B;AAAA,uCAKEC,kBALF;AAAA,UAKsBC,mBALtB,sCAK4C,EAL5C;AAAA,UAMEC,gBANF,QAMEA,gBANF;AAAA,oCAOEC,aAPF;AAAA,UAOEA,aAPF,mCAOkB,EAPlB;AAAA,qCAQEC,cARF;AAAA,UAQEA,cARF,oCAQmB,EARnB;AAAA,oCASEC,aATF;AAAA,UASEA,aATF,mCASkB,EATlB;;AAWA,UAAMC,iBAAiB,GAAG,sCAA0BtB,aAA1B,EAAyC9C,KAAzC,CAA1B;AACA,UAAgBqE,WAAhB,GAAgGb,MAAhG,CAAQN,MAAR;AAAA,UAAwCoB,cAAxC,GAAgGd,MAAhG,CAA6BF,SAA7B;AAAA,UAAwDiB,eAAxD,GAAgGf,MAAhG,CAAwDe,eAAxD;AAAA,UAAyEC,kBAAzE,GAAgGhB,MAAhG,CAAyEgB,kBAAzE;AAEA,UAAMC,oBAAoB,GAAGR,aAAa,IAAIA,aAAa,CAACf,MAA5D;AACA,UAAMwB,qBAAqB,GAAGR,cAAc,IAAIA,cAAc,CAAChB,MAA/D;AAEA,UAAMyB,UAAU,GAAG;AACjBC,QAAAA,MAAM,EAAEzC,OAAO,CAAC1E,cADC;AAEjBoH,QAAAA,WAAW,EAAE1C,OAAO,CAAC0C;AAFJ,OAAnB;AAKA,UAAMC,cAAc,GAAGzB,YAAY,KAAK0B,qBAAcC,QAA/B,GAA0CtD,SAA1C,GAAsDA,SAAS,CAACuD,KAAV,CAAgB,CAAhB,EAAmB,CAAnB,CAA7E;AAEA,UAAMC,iBAAiB,gBACrB,oBAAC,mBAAD;AACE,QAAA,OAAO,EAAE;AAAEvG,UAAAA,OAAO,EAAEwD,OAAO,CAACxD;AAAnB,SADX;AAEE,QAAA,oBAAoB,MAFtB;AAGE,QAAA,oBAAoB,MAHtB;AAIE,QAAA,SAAS,EAAE,OAJb;AAKE,QAAA,KAAK,EAAEyF;AALT,sBAOE,oBAAC,gBAAD;AAAM,QAAA,QAAQ,EAAE,OAAhB;AAAyB,QAAA,KAAK,EAAE,SAAhC;AAA2C,QAAA,KAAK,EAAE;AAAEe,UAAAA,UAAU,EAAE;AAAd;AAAlD,QAPF,CADF;AAYA,0BACE;AAAK,QAAA,GAAG,EAAE,aAACC,CAAD;AAAA,iBAAQ,MAAI,CAAC3E,IAAL,GAAY2E,CAAC,IAAI,MAAI,CAAC3E,IAA9B;AAAA,SAAV;AAA+C,QAAA,SAAS,EAAE0B,OAAO,CAAC/F;AAAlE,SACG2G,aAAa,iBACZ,oBAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEY,OAAO,CAAC0B,KAA/B;AAAsC,QAAA,SAAS,EAAElD,OAAO,CAACpE;AAAzD,sBACE,oBAAC,wBAAD;AACE,QAAA,OAAO,EAAE,KAAKuH,aADhB;AAEE,QAAA,SAAS,EAAEnD,OAAO,CAACe,MAFrB;AAGE,QAAA,MAAM,EAAEA,MAAM,IAAI,EAHpB;AAIE,QAAA,QAAQ,EAAE,KAAKjD,QAAL,CAAc,QAAd,CAJZ;AAKE,QAAA,YAAY,EAAE2C,YALhB;AAME,QAAA,QAAQ,EAAE,KANZ;AAOE,QAAA,KAAK,EAAEyB,WAPT;AAQE,QAAA,WAAW,EAAEpB,WARf;AASE,QAAA,WAAW,EAAE,2BAAeU,OAAf,aAAeA,OAAf,uBAAeA,OAAO,CAAE4B,kBAAxB,EAA4C9B,sBAA5C,CATf;AAUE,QAAA,UAAU,EAAEF,iBAVd;AAWE,QAAA,aAAa,EAAEkB,oBAXjB;AAYE,QAAA,cAAc,EAAEC,qBAZlB;AAaE,QAAA,kBAAkB,EAAE7B,kBAbtB;AAcE,QAAA,uBAAuB,EAAE,CAAC;AAAE2C,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAd3B;AAeE,QAAA,aAAa,EAAErB;AAfjB,QADF,EAkBGE,WAAW,iBAAI;AAAK,QAAA,SAAS,EAAElC,OAAO,CAACrD;AAAxB,SAAoCuF,WAApC,CAlBlB,CAFJ,EAwBGhB,YAAY,KAAK0B,qBAAcC,QAA/B,iBACC;AAAK,QAAA,SAAS,EAAE7C,OAAO,CAAClD;AAAxB,sBACE;AAAK,QAAA,SAAS,EAAEkD,OAAO,CAACpF,aAAxB;AAAuC,QAAA,KAAK,EAAE;AAAEE,UAAAA,cAAc,EAAE;AAAlB;AAA9C,sBACE;AAAK,QAAA,SAAS,EAAEkF,OAAO,CAAC1F;AAAxB,2BADF,EAEGyI,iBAFH,CADF,eAME,oBAAC,wBAAD;AACE,QAAA,GAAG,EAAC,oBADN;AAEE,QAAA,KAAK,EAAC,mCAFR;AAGE,QAAA,SAAS,EAAE/C,OAAO,CAACjF;AAHrB,sBAKE,oBAAC,kBAAD;AACE,QAAA,SAAS,EAAEiF,OAAO,CAACsD,MADrB;AAEE,QAAA,QAAQ,EAAE,KAAKxF,QAAL,CAAc,sBAAd,CAFZ;AAGE,QAAA,KAAK,EAAEmD;AAHT,sBAKE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,2CALF,eAME,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,8BANF,eAOE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,8BAPF,eAQE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,+BARF,eASE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,uBATF,eAUE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,uBAVF,eAWE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,uBAXF,eAYE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,wBAZF,eAaE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,oBAbF,eAcE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,4BAdF,eAeE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,sBAfF,eAgBE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,0BAhBF,CALF,CANF,eA+BE;AAAK,QAAA,SAAS,EAAEjB,OAAO,CAAC3E,gBAAxB;AAA0C,QAAA,GAAG,EAAC;AAA9C,sBACE,oBAAC,sBAAD;AAAY,QAAA,SAAS,EAAE2E,OAAO,CAAC5F;AAA/B,6BADF,eAEE,oBAAC,wBAAD;AACE,QAAA,UAAU,EAAEoI,UADd;AAEE,QAAA,gBAAgB,MAFlB;AAGE,QAAA,UAAU,EAAEvB,oBAHd;AAIE,QAAA,gBAAgB,MAJlB;AAKE,QAAA,UAAU,EAAE9C,UALd;AAME,QAAA,KAAK,EAAEf,gBAAgB,CAACC,UAAD,CAAhB,IAAgC,EANzC;AAOE,QAAA,QAAQ,EAAE,KAAKS,QAAL,CAAc,YAAd,CAPZ;AAQE,QAAA,OAAO,EAAE,KAAKyF,OARhB;AASE,QAAA,MAAM,EAAE,KAAKC,MATf;AAUE,QAAA,gBAAgB,EAAE3B,gBAVpB;AAWE,QAAA,KAAK,EAAEQ;AAXT,QAFF,CA/BF,EAgDGA,kBAAkB,iBAAI;AAAK,QAAA,SAAS,EAAErC,OAAO,CAACrD;AAAxB,SAAoC0F,kBAApC,CAhDzB,CAzBJ,eA6EE;AAAK,QAAA,SAAS,EAAErC,OAAO,CAACpF,aAAxB;AAAuC,QAAA,KAAK,EAAE;AAAEE,UAAAA,cAAc,EAAE;AAAlB;AAA9C,sBACE;AAAK,QAAA,SAAS,EAAEkF,OAAO,CAAC1F;AAAxB,mCADF,EAEG4G,YAAY,KAAK0B,qBAAca,MAA/B,GAAwCV,iBAAxC,GAA4D,IAF/D,CA7EF,eAkFE,oBAAC,wBAAD;AAAgB,QAAA,KAAK,EAAC,iBAAtB;AAAwC,QAAA,SAAS,EAAE/C,OAAO,CAACjF;AAA3D,sBACE,oBAAC,kBAAD;AAAQ,QAAA,SAAS,EAAEiF,OAAO,CAACsD,MAA3B;AAAmC,QAAA,QAAQ,EAAE,KAAKxF,QAAL,CAAc,gBAAd,CAA7C;AAA8E,QAAA,KAAK,EAAEkD;AAArF,sBACE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,2CADF,eAEE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,8BAFF,eAGE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,8BAHF,eAIE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAC;AAAhB,+BAJF,eAKE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,uBALF,eAME,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,uBANF,eAOE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,uBAPF,eAQE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,wBARF,eASE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,oBATF,eAUE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,4BAVF,eAWE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,sBAXF,eAYE,oBAAC,oBAAD;AAAU,QAAA,KAAK,EAAE;AAAjB,0BAZF,CADF,CAlFF,EAmGG2B,cAAc,CAACe,GAAf,CAAmB,UAACjE,QAAD,EAAWb,GAAX;AAAA,4BAClB,oBAAC,oBAAD;AACE,UAAA,GAAG,EAAEa,QAAQ,CAACC,EADhB;AAEE,UAAA,IAAI,EAAEsB,cAFR;AAGE,UAAA,QAAQ,EAAEvB,QAHZ;AAIE,UAAA,eAAe,EAAEyB,YAAY,KAAK0B,qBAAca,MAJlD;AAKE,UAAA,gBAAgB,EAAE,MAAI,CAACE,gBALzB;AAME,UAAA,KAAK,EAAE/E,GANT;AAOE,UAAA,YAAY,EAAE8C,YAPhB;AAQE,UAAA,mBAAmB,EAAEE,mBARvB;AASE,UAAA,KAAK,EAAEQ,eAAe,IAAIA,eAAe,CAACxD,GAAD;AAT3C,UADkB;AAAA,OAAnB,CAnGH,EAiHGiC,gBAAgB,iBACf,oBAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEU,UAAU,CAAC2B,KAAlC;AAAyC,QAAA,SAAS,EAAElD,OAAO,CAACpE;AAA5D,sBACE,oBAAC,wBAAD;AACE,QAAA,SAAS,EAAEoE,OAAO,CAACe,MADrB;AAEE,QAAA,MAAM,EAAEI,SAAS,IAAI,EAFvB;AAGE,QAAA,QAAQ,EAAE,KAAKrD,QAAL,CAAc,WAAd,CAHZ;AAIE,QAAA,YAAY,EAAE2C,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,KAAK,EAAE0B,cANT;AAOE,QAAA,WAAW,EAAErB,WAPf;AAQE,QAAA,WAAW,EAAE,2BAAeS,UAAf,aAAeA,UAAf,uBAAeA,UAAU,CAAE6B,kBAA3B,kCACR9B,sBADQ;AAEXsC,UAAAA,IAAI,EAAE;AACJC,YAAAA,oBAAoB,EAAE;AADlB;AAFK,WARf;AAcE,QAAA,UAAU,EAAEzC,iBAdd;AAeE,QAAA,aAAa,EAAGU,aAAa,IAAIA,aAAa,CAACX,SAAhC,IAA8CmB,oBAf/D;AAgBE,QAAA,cAAc,EAAGP,cAAc,IAAIA,cAAc,CAACZ,SAAlC,IAAgDoB,qBAhBlE;AAiBE,QAAA,kBAAkB,EAAE7B,kBAjBtB;AAkBE,QAAA,uBAAuB,EAAE,CAAC;AAAE2C,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B,CAlB3B;AAmBE,QAAA,aAAa,EAAErB;AAnBjB,QADF,EAsBGG,cAAc,iBAAI;AAAK,QAAA,SAAS,EAAEnC,OAAO,CAACrD;AAAxB,SAAoCwF,cAApC,CAtBrB,CAlHJ,CADF;AA8ID;;;EA/X8B2B,KAAK,CAACC,S;;iCAAjCtG,kB,eACe;AACjBuC,EAAAA,OAAO,EAAEgE,sBAAUC,MAAV,CAAiBC,UADT;AAEjBrG,EAAAA,KAAK,EAAEmG,sBAAUC,MAAV,CAAiBC,UAFP;AAGjBzD,EAAAA,YAAY,EAAEuD,sBAAUC,MAHP;AAIjBvD,EAAAA,kBAAkB,EAAEsD,sBAAUC,MAJb;AAKjBtD,EAAAA,aAAa,EAAEqD,sBAAUC,MALR;AAMjBnG,EAAAA,QAAQ,EAAEkG,sBAAUG,IAAV,CAAeD,UANR;AAOjBtD,EAAAA,aAAa,EAAEoD,sBAAUI,IAPR;AAQjBvD,EAAAA,gBAAgB,EAAEmD,sBAAUI,IARX;AASjBtD,EAAAA,WAAW,EAAEkD,sBAAUC;AATN,C;;eAiYN,wBAAWlK,MAAX,EAAmB0D,kBAAnB,C","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport cx from 'classnames';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { InputContainer } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport Response from './response';\nimport { MathToolbar } from '@pie-lib/math-toolbar';\nimport isEqual from 'lodash/isEqual';\nimport { ResponseTypes, generateValidationMessage, getPluginProps } from './utils';\nimport MathQuill from '@pie-framework/mathquill';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nlet registered = false;\n\nconst styles = (theme) => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n },\n templateTitle: {\n fontSize: '0.85rem',\n },\n title: {\n fontSize: '1.1rem',\n },\n addResponseButton: {\n border: `1px solid ${theme.palette.grey['A100']}`,\n float: 'right',\n width: '150px',\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n selectContainer: {\n flex: 'initial',\n width: '40%',\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n responseTemplate: {\n display: 'flex',\n flexDirection: 'column',\n },\n responseEditor: {\n display: 'flex',\n justifyContent: 'center',\n width: '100%',\n // minWidth: '500px',\n maxWidth: 'inherit',\n height: 'auto',\n minHeight: '130px',\n textAlign: 'left',\n padding: theme.spacing.unit,\n },\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n blockContainer: {\n margin: theme.spacing.unit,\n display: 'inline-flex',\n border: '2px solid grey',\n },\n blockContainerGeneric: {\n margin: theme.spacing.unit / 2,\n },\n blockResponse: {\n fontFamily: 'Roboto, Helvetica, Arial, sans-serif !important',\n flex: 2,\n color: 'grey',\n background: theme.palette.grey['A100'],\n fontSize: '0.8rem',\n padding: theme.spacing.unit / 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRight: '2px solid grey',\n },\n blockResponseGeneric: {\n borderRight: 0,\n },\n blockMath: {\n color: theme.palette.grey[400],\n padding: theme.spacing.unit / 2,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flex: 8,\n '& > .mq-math-mode': {\n '& > .mq-hasCursor': {\n '& > .mq-cursor': {\n display: 'none',\n },\n },\n },\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre-wrap',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n advancedResponse: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n});\n\nconst REGEX = /{{response}}/gm;\nconst TEMPORARY_RESPONSE_FIELD = /\\\\%response\\\\%/gm;\nconst ANSWER_BLOCK_REGEX = /\\\\embed\\{answerBlock\\}\\[r\\d*\\]/g;\nconst NEWLINE_BLOCK = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = /\\\\newline/g;\n\nfunction prepareForStatic(expression) {\n if (expression) {\n let answerBlocks = 1; // assume one at least\n\n return expression\n .replace(REGEX, () => `\\\\embed{answerBlock}[r${answerBlocks++}]`)\n .replace(NEWLINE_LATEX, '\\\\embed{newLine}[]');\n }\n}\n\nfunction prepareForModel(expression) {\n if (expression) {\n return expression\n .replace(ANSWER_BLOCK_REGEX, () => '{{response}}')\n .replace(TEMPORARY_RESPONSE_FIELD, () => '{{response}}')\n .replace(NEWLINE_BLOCK, () => '\\\\newline');\n }\n}\n\nclass GeneralConfigBlock extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n configuration: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n promptEnabled: PropTypes.bool,\n rationaleEnabled: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n\n const responseAreas = {};\n\n if (props.model && props.model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n props.model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n this.state = {\n showKeypad: false,\n responseAreas,\n responseIdCounter: Object.keys(responseAreas).length,\n };\n }\n\n onChange = (name) => (evtOrValue) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (typeof evtOrValue === 'object') {\n newModel[name] = evtOrValue.target.value;\n } else {\n newModel[name] = evtOrValue;\n }\n\n if (name === 'expression') {\n newModel[name] = prepareForModel(evtOrValue);\n }\n\n onChange(newModel);\n };\n\n onDone = () => {\n this.setState({ showKeypad: false });\n };\n\n onFocus = () => {\n this.setState({ showKeypad: true });\n };\n\n onPromptFocus = () => {\n this.setState({ showKeypad: false });\n };\n\n UNSAFE_componentWillMount() {\n const { classes } = this.props;\n\n if (typeof window !== 'undefined') {\n // const MathQuill = require('@pie-framework/mathquill');\n let MQ = MathQuill.getInterface(2);\n\n if (!registered) {\n MQ.registerEmbed('answerBlock', (data) => {\n // not used until we implement individual answer tracking\n // const individualAnswerBlock = `<div class=\"${classes.blockContainer}\">\n // <div class=\"${classes.blockResponse}\" id=\"${data}Index\">R</div>\n // <div class=\"${classes.blockMath}\">\n // <span id=\"${data}\"></span>\n // </div>\n // </div>`;\n\n const genericAnswerBlock = `<div class=\"${cx(classes.blockContainer, classes.blockContainerGeneric)}\">\n <div class=\"${cx(classes.blockResponse, classes.blockResponseGeneric)}\" id=\"${data}Index\">Response</div>\n </div>`;\n\n return {\n htmlString: genericAnswerBlock,\n text: () => 'text',\n latex: () => `\\\\embed{answerBlock}[${data}]`,\n };\n });\n\n registered = true;\n }\n }\n }\n\n componentDidMount() {\n this.handleAnswerBlockDomUpdate();\n }\n\n componentDidUpdate() {\n this.handleAnswerBlockDomUpdate();\n }\n\n handleAnswerBlockDomUpdate = () => {\n const { model } = this.props;\n\n const responseAreas = {};\n\n if (model && model.expression) {\n let answerBlocks = 1; // assume one at least\n // build out local state model using responses declared in expression\n\n model.expression.replace(REGEX, () => {\n responseAreas[`r${answerBlocks++}`] = {\n value: '',\n };\n });\n }\n\n if (!isEqual(responseAreas, this.state.responseAreas)) {\n this.setState(\n {\n responseAreas,\n },\n () => {\n if (this.root && Object.keys(responseAreas).length) {\n Object.keys(responseAreas).forEach((responseId, idx) => {\n const el = this.root.querySelector(`#${responseId}`);\n const indexEl = this.root.querySelector(`#${responseId}Index`);\n\n if (el) {\n // const MathQuill = require('@pie-framework/mathquill');\n let MQ = MathQuill.getInterface(2);\n // We no longer have individual answers, so we cannot set text content of blocks\n // el.textContent = response.answer;\n MQ.StaticMath(el);\n indexEl.textContent = `R${idx + 1}`;\n }\n });\n }\n },\n );\n }\n };\n\n onAddResponse = () => {\n const { model, onChange } = this.props;\n const { responseIdCounter } = this.state;\n const newModel = { ...model };\n\n let newCounter = responseIdCounter;\n\n while (model.responses.find((response) => response.id === newCounter)) {\n newCounter++;\n }\n\n const response = {\n id: newCounter,\n validation: 'literal',\n answer: '',\n alternates: {},\n };\n\n newModel.responses = newModel.responses.concat(response);\n onChange(newModel);\n\n this.setState({\n responseIdCounter: response.id,\n });\n };\n\n onResponseChange = (response, index) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.responses[index] = response;\n onChange(newModel);\n };\n\n render() {\n const {\n classes,\n model,\n imageSupport,\n uploadSoundSupport,\n configuration,\n promptEnabled,\n rationaleEnabled,\n toolbarOpts,\n } = this.props;\n const { showKeypad } = this.state;\n const {\n prompt,\n expression,\n equationEditor,\n promptEquationEditor = '8',\n responses,\n responseType,\n rationale,\n spellCheckEnabled,\n errors = {},\n } = model;\n const {\n baseInputConfiguration = {},\n rationale: cRationale = {},\n prompt: cPrompt = {},\n ignoreOrder: cIgnoreOrder = {},\n allowTrailingZeros: cAllowTrailingZeros = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n mathMlOptions = {},\n } = configuration || {};\n const validationMessage = generateValidationMessage(configuration, model);\n const { prompt: promptError, rationale: rationaleError, responsesErrors, responseAreasError } = errors;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const classNames = {\n editor: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n\n const responsesToUse = responseType === ResponseTypes.advanced ? responses : responses.slice(0, 1);\n\n const validationTooltip = (\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ marginLeft: '5px' }} />\n </Tooltip>\n );\n\n return (\n <div ref={(r) => (this.root = r || this.root)} className={classes.container}>\n {promptEnabled && (\n <InputContainer label={cPrompt.label} className={classes.promptHolder}>\n <EditableHtml\n onFocus={this.onPromptFocus}\n className={classes.prompt}\n markup={prompt || ''}\n onChange={this.onChange('prompt')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cPrompt?.inputConfiguration, baseInputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n {responseType === ResponseTypes.advanced && (\n <div className={classes.advancedResponse}>\n <div className={classes.flexContainer} style={{ justifyContent: 'flex-start' }}>\n <div className={classes.title}>Define Response</div>\n {validationTooltip}\n </div>\n\n <InputContainer\n key=\"templateEditorType\"\n label=\"Response Template Equation Editor\"\n className={classes.selectContainer}\n >\n <Select\n className={classes.select}\n onChange={this.onChange('promptEquationEditor')}\n value={promptEquationEditor}\n >\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </InputContainer>\n\n <div className={classes.responseTemplate} key=\"templateHolder\">\n <InputLabel className={classes.templateTitle}>RESPONSE TEMPLATE</InputLabel>\n <MathToolbar\n classNames={classNames}\n allowAnswerBlock\n keypadMode={promptEquationEditor}\n controlledKeypad\n showKeypad={showKeypad}\n latex={prepareForStatic(expression) || ''}\n onChange={this.onChange('expression')}\n onFocus={this.onFocus}\n onDone={this.onDone}\n maxResponseAreas={maxResponseAreas}\n error={responseAreasError}\n />\n </div>\n\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n </div>\n )}\n\n <div className={classes.flexContainer} style={{ justifyContent: 'flex-start' }}>\n <div className={classes.title}>Define Correct Response</div>\n {responseType === ResponseTypes.simple ? validationTooltip : null}\n </div>\n\n <InputContainer label=\"Equation Editor\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('equationEditor')} value={equationEditor}>\n <MenuItem value=\"non-negative-integers\">Numeric - Non-Negative Integers</MenuItem>\n <MenuItem value=\"integers\">Numeric - Integers</MenuItem>\n <MenuItem value=\"decimals\">Numeric - Decimals</MenuItem>\n <MenuItem value=\"fractions\">Numeric - Fractions</MenuItem>\n <MenuItem value={1}>Grade 1 - 2</MenuItem>\n <MenuItem value={3}>Grade 3 - 5</MenuItem>\n <MenuItem value={6}>Grade 6 - 7</MenuItem>\n <MenuItem value={8}>Grade 8 - HS</MenuItem>\n <MenuItem value={'geometry'}>Geometry</MenuItem>\n <MenuItem value={'advanced-algebra'}>Advanced Algebra</MenuItem>\n <MenuItem value={'statistics'}>Statistics</MenuItem>\n <MenuItem value={'item-authoring'}>Item Authoring</MenuItem>\n </Select>\n </InputContainer>\n\n {responsesToUse.map((response, idx) => (\n <Response\n key={response.id}\n mode={equationEditor}\n response={response}\n defaultResponse={responseType === ResponseTypes.simple}\n onResponseChange={this.onResponseChange}\n index={idx}\n cIgnoreOrder={cIgnoreOrder}\n cAllowTrailingZeros={cAllowTrailingZeros}\n error={responsesErrors && responsesErrors[idx]}\n />\n ))}\n\n {rationaleEnabled && (\n <InputContainer label={cRationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={rationale || ''}\n onChange={this.onChange('rationale')}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(cRationale?.inputConfiguration, {\n ...baseInputConfiguration,\n math: {\n controlledKeypadMode: false,\n },\n })}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(GeneralConfigBlock);\n"],"file":"general-config-block.js"}
|
|
@@ -27,9 +27,9 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
27
27
|
|
|
28
28
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
29
|
|
|
30
|
-
var _configUi = require("@pie-lib/
|
|
30
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
31
31
|
|
|
32
|
-
var _mathToolbar = require("@pie-lib/
|
|
32
|
+
var _mathToolbar = require("@pie-lib/math-toolbar");
|
|
33
33
|
|
|
34
34
|
var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
|
|
35
35
|
|
|
@@ -51,7 +51,7 @@ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
|
|
|
51
51
|
|
|
52
52
|
var _styles = require("@material-ui/core/styles");
|
|
53
53
|
|
|
54
|
-
var _renderUi = require("@pie-lib/
|
|
54
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
55
55
|
|
|
56
56
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
57
57
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/response.jsx"],"names":["INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED","styles","theme","responseContainer","marginBottom","spacing","unit","width","minWidth","border","palette","grey","display","flexDirection","justifyContent","cardContent","paddingBottom","title","fontWeight","fontSize","flex","selectContainer","inputContainer","titleBar","alignItems","responseEditor","maxWidth","height","minHeight","mathToolbar","alternateButton","removeAlternateButton","marginLeft","color","errorText","typography","error","main","paddingTop","customColor","tertiary","Response","props","name","evt","response","onResponseChange","index","newResponse","target","value","checked","answer","alternateId","alternates","alternateIdCounter","state","setState","showKeypad","openCount","alternatesLength","Object","keys","length","classes","mode","defaultResponse","cAllowTrailingZeros","cIgnoreOrder","validation","ignoreOrder","allowTrailingZeros","hasAlternates","classNames","editor","select","onChange","flexContainer","enabled","label","onLiteralOptionsChange","onAnswerChange","onFocus","onDone","map","altIdx","alternateBar","onRemoveAlternate","onAlternateAnswerChange","onAlternateFocus","onAlternateDone","onAddAlternate","React","Component","PropTypes","object","isRequired","bool","oneOfType","string","number","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { InputContainer } from '@pie-lib/pie-toolbox/config-ui';\nimport { MathToolbar } from '@pie-lib/pie-toolbox/math-toolbar';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Button from '@material-ui/core/Button';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Typography from '@material-ui/core/Typography';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\n\n// TODO once we support individual response correctness, we need to remove this constant\nconst INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;\n\nconst styles = (theme) => ({\n responseContainer: {\n marginBottom: theme.spacing.unit * 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 cardContent: {\n paddingBottom: `${theme.spacing.unit * 2}px !important`,\n },\n title: {\n fontWeight: 700,\n fontSize: '1.2rem',\n flex: 3,\n },\n selectContainer: {\n flex: 2,\n },\n inputContainer: {\n marginBottom: theme.spacing.unit * 2,\n },\n titleBar: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n responseEditor: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n minWidth: '500px',\n maxWidth: '900px',\n height: 'auto',\n minHeight: '40px',\n },\n mathToolbar: {\n width: '100%',\n },\n alternateButton: {\n border: `1px solid ${theme.palette.grey['A100']}`,\n },\n removeAlternateButton: {\n marginLeft: theme.spacing.unit * 2,\n border: `1px solid ${theme.palette.grey['A100']}`,\n color: 'gray',\n fontSize: '0.8rem',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n customColor: {\n color: `${color.tertiary()} !important`\n },\n});\n\nclass Response extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n defaultResponse: PropTypes.bool,\n error: PropTypes.object,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n index: PropTypes.number,\n onResponseChange: PropTypes.func.isRequired,\n response: PropTypes.object.isRequired,\n cIgnoreOrder: PropTypes.object.isRequired,\n cAllowTrailingZeros: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n defaultResponse: false,\n mode: 'miscellaneous',\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, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.value;\n\n onResponseChange(newResponse, index);\n };\n\n onConfigChanged = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.checked;\n\n onResponseChange(newResponse, index);\n };\n\n onLiteralOptionsChange = (name) => () => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = !response[name];\n\n onResponseChange(newResponse, index);\n };\n\n onAnswerChange = (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.answer = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAlternateAnswerChange = (alternateId) => (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.alternates[alternateId] = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAddAlternate = () => {\n const { response, onResponseChange, index } = 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, index);\n\n this.setState({\n alternateIdCounter: alternateIdCounter + 1,\n });\n };\n\n onRemoveAlternate = (alternateId) => () => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n delete newResponse.alternates[alternateId];\n\n onResponseChange(newResponse, index);\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 this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n main: false,\n },\n }));\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 { classes, mode, defaultResponse, index, response, cAllowTrailingZeros, cIgnoreOrder, error } = this.props;\n\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: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n const styles = {\n minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`,\n };\n\n return (\n <Card className={classes.responseContainer} style={styles}>\n <CardContent className={classes.cardContent}>\n <div className={classes.titleBar}>\n <Typography className={classes.title} component=\"div\">\n Response {INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? (defaultResponse ? '' : index + 1) : ''}\n </Typography>\n\n <InputContainer label=\"Validation\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('validation')} value={validation || 'literal'}>\n <MenuItem value=\"literal\">Literal Validation</MenuItem>\n <MenuItem value=\"symbolic\">Symbolic Validation</MenuItem>\n </Select>\n </InputContainer>\n </div>\n\n {validation === 'literal' && (\n <div className={classes.flexContainer}>\n {cAllowTrailingZeros.enabled && (\n <FormControlLabel\n label={cAllowTrailingZeros.label}\n control={\n <Checkbox\n className={classes.customColor}\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 <Checkbox \n className={classes.customColor} \n checked={ignoreOrder} \n onChange={this.onLiteralOptionsChange('ignoreOrder')} />}\n />\n )}\n </div>\n )}\n\n <div className={classes.inputContainer}>\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 ? <div className={classes.errorText}>{error.answer}</div> : null}\n </div>\n\n {hasAlternates &&\n Object.keys(alternates).map((alternateId, altIdx) => (\n <div className={classes.inputContainer} key={alternateId}>\n <div className={classes.alternateBar}>\n <InputLabel>\n Alternate\n {Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''}\n </InputLabel>\n <Button\n className={classes.removeAlternateButton}\n type=\"secondary\"\n onClick={this.onRemoveAlternate(alternateId)}\n >\n Remove\n </Button>\n </div>\n\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 {error && error[alternateId] ? <div className={classes.errorText}>{error[alternateId]}</div> : null}\n </div>\n ))}\n\n <Button className={classes.alternateButton} type=\"primary\" onClick={this.onAddAlternate}>\n ADD ALTERNATE\n </Button>\n </CardContent>\n </Card>\n );\n }\n}\n\nexport default withStyles(styles)(Response);\n"],"file":"response.js"}
|
|
1
|
+
{"version":3,"sources":["../src/response.jsx"],"names":["INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED","styles","theme","responseContainer","marginBottom","spacing","unit","width","minWidth","border","palette","grey","display","flexDirection","justifyContent","cardContent","paddingBottom","title","fontWeight","fontSize","flex","selectContainer","inputContainer","titleBar","alignItems","responseEditor","maxWidth","height","minHeight","mathToolbar","alternateButton","removeAlternateButton","marginLeft","color","errorText","typography","error","main","paddingTop","customColor","tertiary","Response","props","name","evt","response","onResponseChange","index","newResponse","target","value","checked","answer","alternateId","alternates","alternateIdCounter","state","setState","showKeypad","openCount","alternatesLength","Object","keys","length","classes","mode","defaultResponse","cAllowTrailingZeros","cIgnoreOrder","validation","ignoreOrder","allowTrailingZeros","hasAlternates","classNames","editor","select","onChange","flexContainer","enabled","label","onLiteralOptionsChange","onAnswerChange","onFocus","onDone","map","altIdx","alternateBar","onRemoveAlternate","onAlternateAnswerChange","onAlternateFocus","onAlternateDone","onAddAlternate","React","Component","PropTypes","object","isRequired","bool","oneOfType","string","number","func"],"mappings":"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","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 '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport Button from '@material-ui/core/Button';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport Typography from '@material-ui/core/Typography';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\n// TODO once we support individual response correctness, we need to remove this constant\nconst INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED = false;\n\nconst styles = (theme) => ({\n responseContainer: {\n marginBottom: theme.spacing.unit * 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 cardContent: {\n paddingBottom: `${theme.spacing.unit * 2}px !important`,\n },\n title: {\n fontWeight: 700,\n fontSize: '1.2rem',\n flex: 3,\n },\n selectContainer: {\n flex: 2,\n },\n inputContainer: {\n marginBottom: theme.spacing.unit * 2,\n },\n titleBar: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n responseEditor: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: '100%',\n minWidth: '500px',\n maxWidth: '900px',\n height: 'auto',\n minHeight: '40px',\n },\n mathToolbar: {\n width: '100%',\n },\n alternateButton: {\n border: `1px solid ${theme.palette.grey['A100']}`,\n },\n removeAlternateButton: {\n marginLeft: theme.spacing.unit * 2,\n border: `1px solid ${theme.palette.grey['A100']}`,\n color: 'gray',\n fontSize: '0.8rem',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n});\n\nclass Response extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n defaultResponse: PropTypes.bool,\n error: PropTypes.object,\n mode: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),\n index: PropTypes.number,\n onResponseChange: PropTypes.func.isRequired,\n response: PropTypes.object.isRequired,\n cIgnoreOrder: PropTypes.object.isRequired,\n cAllowTrailingZeros: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n defaultResponse: false,\n mode: 'miscellaneous',\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, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.value;\n\n onResponseChange(newResponse, index);\n };\n\n onConfigChanged = (name) => (evt) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = evt.target.checked;\n\n onResponseChange(newResponse, index);\n };\n\n onLiteralOptionsChange = (name) => () => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse[name] = !response[name];\n\n onResponseChange(newResponse, index);\n };\n\n onAnswerChange = (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.answer = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAlternateAnswerChange = (alternateId) => (answer) => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n newResponse.alternates[alternateId] = answer;\n\n onResponseChange(newResponse, index);\n };\n\n onAddAlternate = () => {\n const { response, onResponseChange, index } = 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, index);\n\n this.setState({\n alternateIdCounter: alternateIdCounter + 1,\n });\n };\n\n onRemoveAlternate = (alternateId) => () => {\n const { response, onResponseChange, index } = this.props;\n const newResponse = { ...response };\n\n delete newResponse.alternates[alternateId];\n\n onResponseChange(newResponse, index);\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 this.setState((state) => ({\n showKeypad: {\n ...state.showKeypad,\n openCount: state.showKeypad.openCount - 1,\n main: false,\n },\n }));\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 { classes, mode, defaultResponse, index, response, cAllowTrailingZeros, cIgnoreOrder, error } = this.props;\n\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: classes.responseEditor,\n mathToolbar: classes.mathToolbar,\n };\n const styles = {\n minHeight: `${showKeypad.openCount > 0 ? 430 : 230}px`,\n };\n\n return (\n <Card className={classes.responseContainer} style={styles}>\n <CardContent className={classes.cardContent}>\n <div className={classes.titleBar}>\n <Typography className={classes.title} component=\"div\">\n Response {INDIVIDUAL_RESPONSE_CORRECTNESS_SUPPORTED ? (defaultResponse ? '' : index + 1) : ''}\n </Typography>\n\n <InputContainer label=\"Validation\" className={classes.selectContainer}>\n <Select className={classes.select} onChange={this.onChange('validation')} value={validation || 'literal'}>\n <MenuItem value=\"literal\">Literal Validation</MenuItem>\n <MenuItem value=\"symbolic\">Symbolic Validation</MenuItem>\n </Select>\n </InputContainer>\n </div>\n\n {validation === 'literal' && (\n <div className={classes.flexContainer}>\n {cAllowTrailingZeros.enabled && (\n <FormControlLabel\n label={cAllowTrailingZeros.label}\n control={\n <Checkbox\n className={classes.customColor}\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 <Checkbox\n className={classes.customColor}\n checked={ignoreOrder}\n onChange={this.onLiteralOptionsChange('ignoreOrder')}\n />\n }\n />\n )}\n </div>\n )}\n\n <div className={classes.inputContainer}>\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 ? <div className={classes.errorText}>{error.answer}</div> : null}\n </div>\n\n {hasAlternates &&\n Object.keys(alternates).map((alternateId, altIdx) => (\n <div className={classes.inputContainer} key={alternateId}>\n <div className={classes.alternateBar}>\n <InputLabel>\n Alternate\n {Object.keys(alternates).length > 1 ? ` ${altIdx + 1}` : ''}\n </InputLabel>\n <Button\n className={classes.removeAlternateButton}\n type=\"secondary\"\n onClick={this.onRemoveAlternate(alternateId)}\n >\n Remove\n </Button>\n </div>\n\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 {error && error[alternateId] ? <div className={classes.errorText}>{error[alternateId]}</div> : null}\n </div>\n ))}\n\n <Button className={classes.alternateButton} type=\"primary\" onClick={this.onAddAlternate}>\n ADD ALTERNATE\n </Button>\n </CardContent>\n </Card>\n );\n }\n}\n\nexport default withStyles(styles)(Response);\n"],"file":"response.js"}
|
package/configure/package.json
CHANGED
|
@@ -11,7 +11,12 @@
|
|
|
11
11
|
"@material-ui/icons": "^3.0.1",
|
|
12
12
|
"@pie-framework/mathquill": "^1.1.3",
|
|
13
13
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
14
|
-
"@pie-lib/
|
|
14
|
+
"@pie-lib/editable-html": "^11.17.0",
|
|
15
|
+
"@pie-lib/config-ui": "^11.25.0",
|
|
16
|
+
"@pie-lib/math-rendering": "^3.18.0",
|
|
17
|
+
"@pie-lib/math-toolbar": "^1.27.0",
|
|
18
|
+
"@pie-lib/render-ui": "^4.31.0",
|
|
19
|
+
"@pie-lib/test-utils": "^0.18.0",
|
|
15
20
|
"classnames": "^2.2.5",
|
|
16
21
|
"debug": "^3.1.0",
|
|
17
22
|
"prop-types": "^15.6.2",
|
package/controller/lib/index.js
CHANGED
|
@@ -23,11 +23,11 @@ var _debug = _interopRequireDefault(require("debug"));
|
|
|
23
23
|
|
|
24
24
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
25
25
|
|
|
26
|
-
var _feedback = require("@pie-lib/
|
|
26
|
+
var _feedback = require("@pie-lib/feedback");
|
|
27
27
|
|
|
28
28
|
var _utils = require("./utils");
|
|
29
29
|
|
|
30
|
-
var _translator = _interopRequireDefault(require("@pie-lib/
|
|
30
|
+
var _translator = _interopRequireDefault(require("@pie-lib/translator"));
|
|
31
31
|
|
|
32
32
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
33
33
|
|