@pie-element/inline-dropdown 8.3.4-next.3 → 9.0.0-beta.0

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["toggle","settings","Panel","dropdown","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","choiceRationaleHolder","markup","minHeight","choiceConfiguration","paddingBottom","text","fontSize","typography","marginRight","rationaleLabel","display","alignItems","whiteSpace","color","disabled","padding","lineHeight","rationaleChoices","panelDetails","flexContainer","tooltip","maxWidth","errorText","palette","error","main","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","Main","warning","open","newVal","props","onModelChanged","model","prompt","onModelChange","rationale","index","choice","indexOfChoice","choices","findIndex","elem","label","value","splice","teacherInstructions","slateMarkup","callback","setState","onClose","onConfirm","respAreaChoices","state","domMarkup","allRespAreas","querySelectorAll","allChoices","forEach","el","dataset","existingRespAreaChoices","obj","key","newRespAreaChoices","shouldWarn","newChoices","length","find","c","correct","remove","choiceIndex","maxResponseAreaChoices","configuration","undefined","r","idx","map","parseInt","filter","val","isNaN","push","respIndex","selectedIndex","nProps","newState","domNode","ReactDOM","findDOMNode","classes","onConfigurationChanged","imageSupport","uploadSoundSupport","baseInputConfiguration","choiceRationale","contentDimensions","lockChoiceOrder","maxResponseAreas","maxImageWidth","maxImageHeight","partialScoring","settingsPanelDisabled","spellCheck","template","withRubric","mathMlOptions","language","languageChoices","responseAreaInputConfiguration","choiceRationaleEnabled","errors","extraCSSRules","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","promptError","rationaleError","responseAreasError","responseAreaChoicesError","teacherInstructionsError","defaultImageMaxWidth","defaultImageMaxHeight","renderChoiceRationale","Object","keys","__html","onChoiceRationaleChanged","toolbarOpts","position","validationMessage","panelSettings","enabled","options","panelProperties","rubricEnabled","getPluginProps","Settings","Properties","onTeacherInstructionsChanged","inputConfiguration","onPromptChanged","pluginProps","activePlugins","ALL_PLUGINS","responseAreaProps","type","duplicates","respAreaToolbar","node","onToolbarDone","onAddChoice","onCheck","onRemoveChoice","data","get","onSelectChoice","className","onChange","disableImageAlignmentButtons","highlightShape","languageCharactersProps","onRationaleChanged","React","Component","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\nimport { AlertDialog, InputContainer, layout, settings } from '@pie-lib/config-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\nimport isUndefined from 'lodash/isUndefined';\nimport isEmpty from 'lodash/isEmpty';\nimport reduce from 'lodash/reduce';\nimport max from 'lodash/max';\nimport { withStyles } from '@material-ui/core/styles';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport Typography from '@material-ui/core/Typography';\nimport ExpansionPanel from '@material-ui/core/ExpansionPanel';\nimport ExpansionPanelSummary from '@material-ui/core/ExpansionPanelSummary';\nimport ExpansionPanelDetails from '@material-ui/core/ExpansionPanelDetails';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport Info from '@material-ui/icons/Info';\n\nimport InlineDropdownToolbar from './inline-dropdown-toolbar';\nimport { generateValidationMessage } from './utils';\nimport ResponseAreaComponent from './response-area';\n\nconst { toggle, Panel, 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 choiceRationaleHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit / 2,\n marginBottom: theme.spacing.unit * 2,\n },\n markup: {\n minHeight: '100px',\n width: '100%',\n '& [data-slate-editor=\"true\"]': {\n minHeight: '100px',\n },\n },\n choiceConfiguration: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 2,\n },\n text: {\n fontSize: theme.typography.fontSize + 2,\n marginRight: theme.spacing.unit,\n },\n rationaleLabel: {\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'break-spaces',\n color: color.disabled(),\n padding: 0,\n fontSize: theme.typography.fontSize - 2,\n lineHeight: 1,\n },\n rationaleChoices: {\n marginBottom: theme.spacing.unit * 2.5,\n },\n panelDetails: {\n display: 'block',\n paddingTop: 0,\n paddingBottom: 0,\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n marginBottom: theme.spacing.unit,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n state = {\n warning: { open: false },\n };\n\n componentDidMount() {\n const {\n model: { choices },\n } = this.props;\n\n this.setState({ respAreaChoices: cloneDeep(choices) });\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const newState = {};\n\n if (\n !isEqual(nProps.model.choices, this.props.model.choices) ||\n !isEqual(nProps.model.choices, this.state.respAreaChoices)\n ) {\n newState.respAreaChoices = cloneDeep(nProps.model.choices);\n }\n\n if (!isEmpty(newState)) {\n this.setState(newState);\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onModelChange = (newVal) => {\n this.props.onModelChanged({ ...this.props.model, ...newVal });\n };\n\n onPromptChanged = (prompt) => {\n this.onModelChange({ prompt });\n };\n\n onRationaleChanged = (rationale) => {\n this.onModelChange({ rationale });\n };\n\n onChoiceRationaleChanged = (index, choice) => {\n const { model } = this.props;\n const indexOfChoice =\n model.choices &&\n model.choices[index] &&\n model.choices[index].findIndex((elem) => elem.label === choice.label && elem.value === choice.value);\n\n model.choices[index] && model.choices[index].splice(indexOfChoice, 1, choice);\n\n this.onModelChange(model);\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.onModelChange({ teacherInstructions });\n };\n\n onMarkupChanged = (slateMarkup) => {\n this.onModelChange({ slateMarkup });\n };\n\n onCheck = (callback) => {\n this.setState({\n warning: {\n open: true,\n text: 'Response areas with under 2 options or with no correct answers will be discarded.',\n onClose: () => {\n this.setState({ warning: { open: false } });\n },\n onConfirm: () => {\n this.setState({ warning: { open: false } }, callback);\n },\n },\n });\n };\n\n onChange = (markup) => {\n const { respAreaChoices } = this.state;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll('[data-type=\"inline_dropdown\"]');\n const allChoices = {};\n\n allRespAreas.forEach((el) => {\n allChoices[el.dataset.index] = el.dataset.value || '';\n });\n\n const existingRespAreaChoices = reduce(\n respAreaChoices,\n (obj, choices, key) => {\n if (!isUndefined(allChoices[key])) {\n obj[key] = respAreaChoices[key];\n }\n\n return obj;\n },\n {},\n );\n\n const newRespAreaChoices = {};\n let shouldWarn = false;\n\n allRespAreas.forEach((el, index) => {\n const newChoices = existingRespAreaChoices[el.dataset.index] || [];\n\n if (newChoices.length < 2 || !newChoices.find((c) => c.correct)) {\n el.remove();\n shouldWarn = true;\n } else {\n newRespAreaChoices[index] = existingRespAreaChoices[el.dataset.index] || [];\n el.dataset.index = index;\n }\n });\n\n if (shouldWarn) {\n this.setState({\n warning: {\n open: true,\n text: 'Response areas with under 2 options or with no correct answers will be discarded.',\n onClose: () => {\n this.setState({ warning: { open: false } });\n },\n onConfirm: () => {\n this.setState({ warning: { open: false } }, () =>\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML,\n }),\n );\n },\n },\n });\n } else {\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML,\n });\n }\n };\n\n onAddChoice = (index, label, choiceIndex) => {\n const { respAreaChoices } = this.state;\n const { maxResponseAreaChoices } = this.props.configuration;\n\n if (respAreaChoices[index] && respAreaChoices[index].length >= maxResponseAreaChoices) {\n this.setState({\n warning: {\n open: true,\n text: `There are only ${maxResponseAreaChoices} answers allowed per choice.`,\n onClose: undefined,\n onConfirm: () => {\n this.setState({ warning: { open: false } });\n },\n },\n });\n\n return;\n }\n\n if (!respAreaChoices[index]) {\n respAreaChoices[index] = [];\n }\n\n // check for duplicate answer, but exclude the one that is currently edited\n if ((respAreaChoices[index] || []).find((r, idx) => r.label === label && idx !== choiceIndex)) {\n // show warning for duplicated answers\n this.setState({\n warning: {\n open: true,\n text: 'Duplicate answers are not allowed.',\n onClose: undefined,\n onConfirm: () => {\n this.setState({ warning: { open: false } });\n },\n },\n });\n\n return;\n }\n\n if (choiceIndex >= 0 && respAreaChoices[index]?.[choiceIndex]) {\n // we need to update the choice label with the new value\n respAreaChoices[index][choiceIndex].label = label;\n } else {\n // add a new choice\n const value =\n (respAreaChoices[index] &&\n max(respAreaChoices[index].map((c) => parseInt(c.value)).filter((val) => !isNaN(val)))) ||\n 0;\n\n respAreaChoices[index].push({\n label,\n value: `${value + 1}`,\n correct: false,\n });\n }\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onRemoveChoice = (respIndex, index) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex].splice(index, 1);\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onSelectChoice = (respIndex, selectedIndex) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex] = respAreaChoices[respIndex].map((choice, index) => ({\n ...choice,\n correct: index === selectedIndex,\n }));\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n render() {\n const { warning } = this.state;\n const { classes, model, configuration, onConfigurationChanged, imageSupport, uploadSoundSupport } = this.props;\n const {\n baseInputConfiguration = {},\n choiceRationale = {},\n contentDimensions = {},\n lockChoiceOrder = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n template = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n responseAreaInputConfiguration = {},\n } = configuration || {};\n\n const {\n choiceRationaleEnabled,\n choices,\n errors,\n extraCSSRules,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const {\n prompt: promptError,\n rationale: rationaleError,\n responseAreasError,\n responseAreaChoicesError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const renderChoiceRationale = () =>\n (Object.keys(choices) || []).map((key, index) => (\n <div key={key} className={classes.rationaleChoices}>\n <ExpansionPanel>\n <ExpansionPanelSummary expandIcon={<ExpandMoreIcon />}>\n <Typography className={classes.text}>{`Rationale for response area #${index + 1}`}</Typography>\n </ExpansionPanelSummary>\n\n <ExpansionPanelDetails className={classes.panelDetails}>\n {(choices[key] || []).map((choice) => (\n <React.Fragment key={choice.label}>\n <span\n className={classes.rationaleLabel}\n dangerouslySetInnerHTML={{\n __html: `${rationale.label} for ${choice.label} (${choice.correct ? 'correct' : 'incorrect'})`,\n }}\n />\n <InputContainer className={classes.choiceRationaleHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={choice.rationale || ''}\n spellCheck={spellCheckEnabled}\n onChange={(c) => this.onChoiceRationaleChanged(key, { ...choice, rationale: c })}\n imageSupport={imageSupport}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n </InputContainer>\n </React.Fragment>\n ))}\n </ExpansionPanelDetails>\n </ExpansionPanel>\n </div>\n ));\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const validationMessage = generateValidationMessage(configuration);\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.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 rationaleEnabled: rationale.settings && toggle(rationale.label),\n choiceRationaleEnabled: choiceRationale.settings && toggle(choiceRationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\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) => this.onModelChange(model)}\n onChangeConfiguration={(configuration) => onConfigurationChanged(configuration, true)}\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.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\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 {promptEnabled && (\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\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 <div className={classes.flexContainer}>\n <Typography className={classes.text} component={'div'}>\n Define Template, Choices, and Correct Responses\n </Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} />\n </Tooltip>\n </div>\n\n <ResponseAreaComponent\n responseAreasError={responseAreasError}\n responseAreaChoicesError={responseAreaChoicesError}\n editableHtmlProps={{\n pluginProps: getPluginProps(template?.inputConfiguration),\n activePlugins: ALL_PLUGINS,\n toolbarOpts: { position: 'top' },\n responseAreaProps: {\n type: 'inline-dropdown',\n options: {\n duplicates: true,\n },\n maxResponseAreas: maxResponseAreas,\n respAreaToolbar: (node, value, onToolbarDone) => {\n const { respAreaChoices } = this.state;\n\n return () => (\n <InlineDropdownToolbar\n onAddChoice={this.onAddChoice}\n onCheck={this.onCheck}\n onRemoveChoice={(index) => this.onRemoveChoice(node.data.get('index'), index)}\n onSelectChoice={(index) => this.onSelectChoice(node.data.get('index'), index)}\n node={node}\n value={value}\n onToolbarDone={onToolbarDone}\n choices={respAreaChoices[node.data.get('index')]}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n baseInputConfiguration={baseInputConfiguration}\n responseAreaInputConfiguration={responseAreaInputConfiguration}\n />\n );\n },\n },\n spellCheck: spellCheckEnabled,\n className: classes.markup,\n markup: model.slateMarkup || '',\n onChange: this.onChange,\n imageSupport: imageSupport,\n disableImageAlignmentButtons: true,\n disabled: false,\n highlightShape: false,\n error: responseAreasError,\n uploadSoundSupport: uploadSoundSupport,\n languageCharactersProps: [{ language: 'spanish' }, { language: 'special' }],\n mathMlOptions: mathMlOptions,\n }}\n />\n\n {choiceRationaleEnabled && renderChoiceRationale()}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\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\n <AlertDialog\n open={warning.open}\n title=\"Warning\"\n text={warning.text}\n onClose={warning.onClose}\n onConfirm={warning.onConfirm}\n />\n </layout.ConfigLayout>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"file":"main.js"}
1
+ {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_reactDom","_propTypes","_editableHtml","_interopRequireWildcard","_configUi","_mathRendering","_renderUi","_cloneDeep","_isEqual","_isUndefined","_isEmpty","_reduce","_max","_styles","_Tooltip","_Typography","_Accordion","_AccordionSummary","_AccordionDetails","_ExpandMore","_Info","_inlineDropdownToolbar","_utils","_responseArea","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","toggle","Panel","dropdown","settings","PromptHolder","styled","InputContainer","theme","width","paddingTop","spacing","marginBottom","ChoiceRationaleHolder","StyledTypography","Typography","fontSize","typography","marginRight","RationaleLabel","display","alignItems","whiteSpace","color","disabled","padding","lineHeight","RationaleChoices","StyledAccordionDetails","AccordionDetails","paddingBottom","FlexContainer","StyledTooltip","Tooltip","maxWidth","ErrorText","palette","error","main","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","Main","React","Component","constructor","args","_defineProperty2","warning","open","newVal","props","onModelChanged","model","prompt","onModelChange","rationale","index","choice","indexOfChoice","choices","findIndex","elem","label","value","splice","teacherInstructions","slateMarkup","callback","setState","text","onClose","onConfirm","markup","respAreaChoices","state","domMarkup","allRespAreas","querySelectorAll","allChoices","forEach","el","dataset","existingRespAreaChoices","reduce","obj","key","isUndefined","newRespAreaChoices","shouldWarn","newChoices","length","find","c","correct","remove","cloneDeep","choiceIndex","maxResponseAreaChoices","configuration","undefined","idx","max","map","parseInt","filter","val","isNaN","push","respIndex","selectedIndex","componentDidMount","UNSAFE_componentWillReceiveProps","nProps","newState","isEqual","isEmpty","componentDidUpdate","domNode","ReactDOM","findDOMNode","renderMath","render","onConfigurationChanged","imageSupport","uploadSoundSupport","baseInputConfiguration","choiceRationale","contentDimensions","lockChoiceOrder","maxResponseAreas","maxImageWidth","maxImageHeight","partialScoring","settingsPanelDisabled","spellCheck","template","withRubric","mathMlOptions","language","languageChoices","responseAreaInputConfiguration","choiceRationaleEnabled","errors","extraCSSRules","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","promptError","rationaleError","responseAreasError","responseAreaChoicesError","teacherInstructionsError","defaultImageMaxWidth","defaultImageMaxHeight","renderChoiceRationale","keys","slotProps","transition","timeout","enter","exit","expandIcon","component","Fragment","dangerouslySetInnerHTML","__html","onChange","onChoiceRationaleChanged","toolbarOpts","position","validationMessage","generateValidationMessage","panelSettings","enabled","options","panelProperties","rubricEnabled","getPluginProps","layout","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","groups","Settings","Properties","onTeacherInstructionsChanged","nonEmpty","pluginProps","inputConfiguration","languageCharactersProps","onPromptChanged","disableUnderline","disableFocusListener","disableTouchListener","placement","title","editableHtmlProps","activePlugins","ALL_PLUGINS","responseAreaProps","type","duplicates","respAreaToolbar","node","onToolbarDone","onAddChoice","onCheck","onRemoveChoice","data","onSelectChoice","disableImageAlignmentButtons","highlightShape","onRationaleChanged","AlertDialog","disableAutoFocus","disableEnforceFocus","disableRestoreFocus","exports","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","delete","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport EditableHtml, { ALL_PLUGINS } from '@pie-lib/editable-html';\nimport { AlertDialog, InputContainer, layout, settings } from '@pie-lib/config-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { color } from '@pie-lib/render-ui';\nimport cloneDeep from 'lodash/cloneDeep';\nimport isEqual from 'lodash/isEqual';\nimport isUndefined from 'lodash/isUndefined';\nimport isEmpty from 'lodash/isEmpty';\nimport reduce from 'lodash/reduce';\nimport max from 'lodash/max';\nimport { styled } from '@mui/material/styles';\nimport Tooltip from '@mui/material/Tooltip';\nimport Typography from '@mui/material/Typography';\nimport Accordion from '@mui/material/Accordion';\nimport AccordionSummary from '@mui/material/AccordionSummary';\nimport AccordionDetails from '@mui/material/AccordionDetails';\nimport ExpandMoreIcon from '@mui/icons-material/ExpandMore';\nimport Info from '@mui/icons-material/Info';\n\nimport InlineDropdownToolbar from './inline-dropdown-toolbar';\nimport { generateValidationMessage } from './utils';\nimport ResponseAreaComponent from './response-area';\n\nconst { toggle, Panel, dropdown } = settings;\n\nconst PromptHolder = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst ChoiceRationaleHolder = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(0.5),\n marginBottom: theme.spacing(2),\n}));\n\nconst StyledTypography = styled(Typography)(({ theme }) => ({\n fontSize: theme.typography.fontSize + 2,\n marginRight: theme.spacing(1),\n}));\n\nconst RationaleLabel = styled('span')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'break-spaces',\n color: color.disabled(),\n padding: 0,\n fontSize: theme.typography.fontSize - 2,\n lineHeight: 1,\n}));\n\nconst RationaleChoices = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nconst StyledAccordionDetails = styled(AccordionDetails)({\n display: 'block',\n paddingTop: 0,\n paddingBottom: 0,\n});\n\nconst FlexContainer = styled('div')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledTooltip = styled(Tooltip)(({ theme }) => ({\n '& .MuiTooltip-tooltip': {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n\n div.innerHTML = (htmlString || '').trim();\n\n return div;\n};\n\nexport class Main extends React.Component {\n static propTypes = {\n configuration: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n state = {\n warning: { open: false },\n };\n\n componentDidMount() {\n const {\n model: { choices },\n } = this.props;\n\n this.setState({ respAreaChoices: cloneDeep(choices) });\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const newState = {};\n\n if (\n !isEqual(nProps.model.choices, this.props.model.choices) ||\n !isEqual(nProps.model.choices, this.state.respAreaChoices)\n ) {\n newState.respAreaChoices = cloneDeep(nProps.model.choices);\n }\n\n if (!isEmpty(newState)) {\n this.setState(newState);\n }\n }\n\n componentDidUpdate() {\n //eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n onModelChange = (newVal) => {\n this.props.onModelChanged({ ...this.props.model, ...newVal });\n };\n\n onPromptChanged = (prompt) => {\n this.onModelChange({ prompt });\n };\n\n onRationaleChanged = (rationale) => {\n this.onModelChange({ rationale });\n };\n\n onChoiceRationaleChanged = (index, choice) => {\n const { model } = this.props;\n const indexOfChoice =\n model.choices &&\n model.choices[index] &&\n model.choices[index].findIndex((elem) => elem.label === choice.label && elem.value === choice.value);\n\n model.choices[index] && model.choices[index].splice(indexOfChoice, 1, choice);\n\n this.onModelChange(model);\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.onModelChange({ teacherInstructions });\n };\n\n onMarkupChanged = (slateMarkup) => {\n this.onModelChange({ slateMarkup });\n };\n\n onCheck = (callback) => {\n this.setState({\n warning: {\n open: true,\n text: 'Response areas with under 2 options or with no correct answers will be discarded.',\n onClose: () => {\n this.setState({ warning: { open: false } });\n },\n onConfirm: () => {\n this.setState({ warning: { open: false } }, callback);\n },\n },\n });\n };\n\n onChange = (markup) => {\n const { respAreaChoices } = this.state;\n const domMarkup = createElementFromHTML(markup);\n const allRespAreas = domMarkup.querySelectorAll('[data-type=\"inline_dropdown\"]');\n const allChoices = {};\n\n allRespAreas.forEach((el) => {\n allChoices[el.dataset.index] = el.dataset.value || '';\n });\n\n const existingRespAreaChoices = reduce(\n respAreaChoices,\n (obj, choices, key) => {\n if (!isUndefined(allChoices[key])) {\n obj[key] = respAreaChoices[key];\n }\n\n return obj;\n },\n {},\n );\n\n const newRespAreaChoices = {};\n let shouldWarn = false;\n\n allRespAreas.forEach((el, index) => {\n const newChoices = existingRespAreaChoices[el.dataset.index] || [];\n\n if (newChoices.length < 2 || !newChoices.find((c) => c.correct)) {\n el.remove();\n shouldWarn = true;\n } else {\n newRespAreaChoices[index] = existingRespAreaChoices[el.dataset.index] || [];\n el.dataset.index = index;\n }\n });\n\n if (shouldWarn) {\n this.setState({\n warning: {\n open: true,\n text: 'Response areas with under 2 options or with no correct answers will be discarded.',\n onClose: () => {\n this.setState({ warning: { open: false } });\n },\n onConfirm: () => {\n this.setState({ warning: { open: false } }, () =>\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML,\n }),\n );\n },\n },\n });\n } else {\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML,\n });\n }\n };\n\n onAddChoice = (index, label, choiceIndex) => {\n const { respAreaChoices } = this.state;\n const { maxResponseAreaChoices } = this.props.configuration;\n\n if (respAreaChoices[index] && respAreaChoices[index].length >= maxResponseAreaChoices) {\n this.setState({\n warning: {\n open: true,\n text: `There are only ${maxResponseAreaChoices} answers allowed per choice.`,\n onClose: undefined,\n onConfirm: () => {\n this.setState({ warning: { open: false } });\n },\n },\n });\n\n return;\n }\n\n if (!respAreaChoices[index]) {\n respAreaChoices[index] = [];\n }\n\n // check for duplicate answer, but exclude the one that is currently edited\n if ((respAreaChoices[index] || []).find((r, idx) => r.label === label && idx !== choiceIndex)) {\n // show warning for duplicated answers\n this.setState({\n warning: {\n open: true,\n text: 'Duplicate answers are not allowed.',\n onClose: undefined,\n onConfirm: () => {\n this.setState({ warning: { open: false } });\n },\n },\n });\n\n return;\n }\n\n if (choiceIndex >= 0 && respAreaChoices[index]?.[choiceIndex]) {\n // we need to update the choice label with the new value\n respAreaChoices[index][choiceIndex].label = label;\n } else {\n // add a new choice\n const value =\n (respAreaChoices[index] &&\n max(respAreaChoices[index].map((c) => parseInt(c.value)).filter((val) => !isNaN(val)))) ||\n 0;\n\n respAreaChoices[index].push({\n label,\n value: `${value + 1}`,\n correct: false,\n });\n }\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onRemoveChoice = (respIndex, index) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex].splice(index, 1);\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n onSelectChoice = (respIndex, selectedIndex) => {\n const { respAreaChoices } = this.state;\n\n respAreaChoices[respIndex] = respAreaChoices[respIndex].map((choice, index) => ({\n ...choice,\n correct: index === selectedIndex,\n }));\n\n this.onModelChange({ choices: cloneDeep(respAreaChoices) });\n };\n\n render() {\n const { warning } = this.state;\n const { model, configuration, onConfigurationChanged, imageSupport, uploadSoundSupport } = this.props;\n const {\n baseInputConfiguration = {},\n choiceRationale = {},\n contentDimensions = {},\n lockChoiceOrder = {},\n maxResponseAreas,\n maxImageWidth = {},\n maxImageHeight = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n template = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n responseAreaInputConfiguration = {},\n } = configuration || {};\n\n const {\n choiceRationaleEnabled,\n choices,\n errors,\n extraCSSRules,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n const {\n prompt: promptError,\n rationale: rationaleError,\n responseAreasError,\n responseAreaChoicesError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const renderChoiceRationale = () =>\n (Object.keys(choices) || []).map((key, index) => (\n <RationaleChoices key={key}>\n <Accordion slotProps={{ transition: { timeout: { enter: 225, exit: 195 } } }}>\n <AccordionSummary expandIcon={<ExpandMoreIcon />}>\n <StyledTypography component={'div'}>{`Rationale for response area #${index + 1}`}</StyledTypography>\n </AccordionSummary>\n\n <StyledAccordionDetails>\n {(choices[key] || []).map((choice) => (\n <React.Fragment key={choice.label}>\n <RationaleLabel\n dangerouslySetInnerHTML={{\n __html: `${rationale.label} for ${choice.label} (${choice.correct ? 'correct' : 'incorrect'})`,\n }}\n />\n <ChoiceRationaleHolder>\n <EditableHtml\n markup={choice.rationale || ''}\n spellCheck={spellCheckEnabled}\n onChange={(c) => this.onChoiceRationaleChanged(key, { ...choice, rationale: c })}\n imageSupport={imageSupport}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n />\n </ChoiceRationaleHolder>\n </React.Fragment>\n ))}\n </StyledAccordionDetails>\n </Accordion>\n </RationaleChoices>\n ));\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n const validationMessage = generateValidationMessage(configuration);\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n lockChoiceOrder: lockChoiceOrder.settings && toggle(lockChoiceOrder.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 rationaleEnabled: rationale.settings && toggle(rationale.label),\n choiceRationaleEnabled: choiceRationale.settings && toggle(choiceRationale.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\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) => this.onModelChange(model)}\n onChangeConfiguration={(configuration) => onConfigurationChanged(configuration, true)}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <PromptHolder label={teacherInstructions.label}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\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 && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </PromptHolder>\n )}\n\n {promptEnabled && (\n <PromptHolder label={prompt.label}>\n <EditableHtml\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n disableUnderline\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </PromptHolder>\n )}\n\n <FlexContainer>\n <StyledTypography component={'div'}>\n Define Template, Choices, and Correct Responses\n </StyledTypography>\n <StyledTooltip\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} />\n </StyledTooltip>\n </FlexContainer>\n\n <ResponseAreaComponent\n responseAreasError={responseAreasError}\n responseAreaChoicesError={responseAreaChoicesError}\n editableHtmlProps={{\n pluginProps: getPluginProps(template?.inputConfiguration),\n activePlugins: ALL_PLUGINS,\n toolbarOpts: { position: 'top' },\n responseAreaProps: {\n type: 'inline-dropdown',\n options: {\n duplicates: true,\n },\n maxResponseAreas: maxResponseAreas,\n respAreaToolbar: (node, value, onToolbarDone) => {\n const { respAreaChoices } = this.state;\n\n return () => (\n <InlineDropdownToolbar\n onAddChoice={this.onAddChoice}\n onCheck={this.onCheck}\n onRemoveChoice={(index) => this.onRemoveChoice(node.data.get('index'), index)}\n onSelectChoice={(index) => this.onSelectChoice(node.data.get('index'), index)}\n node={node}\n value={value}\n onToolbarDone={onToolbarDone}\n choices={respAreaChoices[node.data.get('index')]}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n mathMlOptions={mathMlOptions}\n baseInputConfiguration={baseInputConfiguration}\n responseAreaInputConfiguration={responseAreaInputConfiguration}\n />\n );\n },\n },\n spellCheck: spellCheckEnabled,\n markup: model.slateMarkup || '',\n onChange: this.onChange,\n imageSupport: imageSupport,\n disableImageAlignmentButtons: true,\n disabled: false,\n highlightShape: false,\n error: responseAreasError,\n uploadSoundSupport: uploadSoundSupport,\n languageCharactersProps: [{ language: 'spanish' }, { language: 'special' }],\n mathMlOptions: mathMlOptions,\n }}\n />\n\n {choiceRationaleEnabled && renderChoiceRationale()}\n\n {rationaleEnabled && (\n <PromptHolder label={rationale.label}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\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 && <ErrorText>{rationaleError}</ErrorText>}\n </PromptHolder>\n )}\n\n <AlertDialog\n open={warning.open}\n title=\"Warning\"\n text={warning.text}\n onClose={warning.onClose}\n onConfirm={warning.onConfirm}\n disableAutoFocus={true}\n disableEnforceFocus={true}\n disableRestoreFocus={true}\n />\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}
@@ -1,55 +1,39 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
7
  exports.removeUnwantedCharacters = exports.processMarkup = exports.createSlateMarkup = exports.createElementFromHTML = void 0;
9
-
10
8
  var _escape = _interopRequireDefault(require("lodash/escape"));
11
-
12
9
  // do not remove \t from \times, \triangle, \tan, \theta or \therefore
13
- var tSymbols = 'imes|riangle|an|heta|herefore'; // do not remove \n from \nthroot, \nparallel, \ncong, \napprox, \neq, \ne or \nsim
14
-
15
- var nSymbols = 'throot|parallel|cong|approx|eq|e|sim'; // match all \t and \n that are not part of math symbols that starts with \t or \n
16
-
17
- var matchTabAndNewLine = new RegExp("(\\t(?!".concat(tSymbols, "))|(\\n(?!").concat(nSymbols, "))|(\\\\t(?!").concat(tSymbols, "))|(\\\\n(?!").concat(nSymbols, "))"), 'g');
18
-
19
- var removeUnwantedCharacters = function removeUnwantedCharacters(markup) {
20
- return markup.replace(matchTabAndNewLine, '').replace(/\\"/g, '"').replace(/\\\//g, '/');
21
- };
22
-
10
+ const tSymbols = 'imes|riangle|an|heta|herefore';
11
+ // do not remove \n from \nthroot, \nparallel, \ncong, \napprox, \neq, \ne or \nsim
12
+ const nSymbols = 'throot|parallel|cong|approx|eq|e|sim';
13
+ // match all \t and \n that are not part of math symbols that starts with \t or \n
14
+ const matchTabAndNewLine = new RegExp(`(\\t(?!${tSymbols}))|(\\n(?!${nSymbols}))|(\\\\t(?!${tSymbols}))|(\\\\n(?!${nSymbols}))`, 'g');
15
+ const removeUnwantedCharacters = markup => markup.replace(matchTabAndNewLine, '').replace(/\\"/g, '"').replace(/\\\//g, '/');
23
16
  exports.removeUnwantedCharacters = removeUnwantedCharacters;
24
-
25
- var createElementFromHTML = function createElementFromHTML(htmlString) {
26
- var div = document.createElement('div');
17
+ const createElementFromHTML = htmlString => {
18
+ const div = document.createElement('div');
27
19
  div.innerHTML = htmlString.trim();
28
20
  return div;
29
21
  };
30
-
31
22
  exports.createElementFromHTML = createElementFromHTML;
32
-
33
- var processMarkup = function processMarkup(markup) {
34
- var newMarkup = removeUnwantedCharacters(markup);
35
- var slateMarkup = createElementFromHTML(newMarkup);
36
- slateMarkup.querySelectorAll('[data-type="inline_dropdown"]').forEach(function (s) {
37
- s.replaceWith("{{".concat(s.dataset.index, "}}"));
23
+ const processMarkup = markup => {
24
+ const newMarkup = removeUnwantedCharacters(markup);
25
+ const slateMarkup = createElementFromHTML(newMarkup);
26
+ slateMarkup.querySelectorAll('[data-type="inline_dropdown"]').forEach(s => {
27
+ s.replaceWith(`{{${s.dataset.index}}}`);
38
28
  });
39
29
  return slateMarkup.innerHTML;
40
30
  };
41
-
42
31
  exports.processMarkup = processMarkup;
43
- var REGEX = /\{\{(\d+)\}\}/g;
44
-
45
- var createSlateMarkup = function createSlateMarkup(markup, choices) {
46
- var newMarkup = removeUnwantedCharacters(markup);
47
-
48
- var createSelect = function createSelect(index) {
49
- var correctChoice = choices[index] && choices[index].find(function (c) {
50
- return c.correct;
51
- });
52
-
32
+ const REGEX = /\{\{(\d+)\}\}/g;
33
+ const createSlateMarkup = (markup, choices) => {
34
+ const newMarkup = removeUnwantedCharacters(markup);
35
+ const createSelect = index => {
36
+ let correctChoice = choices[index] && choices[index].find(c => c.correct);
53
37
  if (!correctChoice || !correctChoice.value) {
54
38
  correctChoice = {
55
39
  id: '',
@@ -57,14 +41,11 @@ var createSlateMarkup = function createSlateMarkup(markup, choices) {
57
41
  label: ''
58
42
  };
59
43
  }
60
-
61
- return "<span data-type=\"inline_dropdown\" data-index=\"".concat(index, "\" data-value=\"").concat((0, _escape["default"])(correctChoice.label), "\"></span>");
44
+ return `<span data-type="inline_dropdown" data-index="${index}" data-value="${(0, _escape.default)(correctChoice.label)}"></span>`;
62
45
  };
63
-
64
- return newMarkup.replace(REGEX, function (match, g) {
46
+ return newMarkup.replace(REGEX, (match, g) => {
65
47
  return createSelect(g);
66
48
  });
67
49
  };
68
-
69
50
  exports.createSlateMarkup = createSlateMarkup;
70
51
  //# sourceMappingURL=markupUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/markupUtils.js"],"names":["tSymbols","nSymbols","matchTabAndNewLine","RegExp","removeUnwantedCharacters","markup","replace","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","processMarkup","newMarkup","slateMarkup","querySelectorAll","forEach","s","replaceWith","dataset","index","REGEX","createSlateMarkup","choices","createSelect","correctChoice","find","c","correct","value","id","label","match","g"],"mappings":";;;;;;;;;AAAA;;AAEA;AACA,IAAMA,QAAQ,GAAG,+BAAjB,C,CACA;;AACA,IAAMC,QAAQ,GAAG,sCAAjB,C,CACA;;AACA,IAAMC,kBAAkB,GAAG,IAAIC,MAAJ,kBACfH,QADe,uBACMC,QADN,yBAC6BD,QAD7B,yBACoDC,QADpD,SAEzB,GAFyB,CAA3B;;AAKO,IAAMG,wBAAwB,GAAG,SAA3BA,wBAA2B,CAACC,MAAD;AAAA,SACtCA,MAAM,CAACC,OAAP,CAAeJ,kBAAf,EAAmC,EAAnC,EAAuCI,OAAvC,CAA+C,MAA/C,EAAuD,GAAvD,EAA4DA,OAA5D,CAAoE,OAApE,EAA6E,GAA7E,CADsC;AAAA,CAAjC;;;;AAGA,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAwB,CAACC,UAAD,EAAgB;AACnD,MAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAT,CAAuB,KAAvB,CAAZ;AAEAF,EAAAA,GAAG,CAACG,SAAJ,GAAgBJ,UAAU,CAACK,IAAX,EAAhB;AAEA,SAAOJ,GAAP;AACD,CANM;;;;AAQA,IAAMK,aAAa,GAAG,SAAhBA,aAAgB,CAACT,MAAD,EAAY;AACvC,MAAMU,SAAS,GAAGX,wBAAwB,CAACC,MAAD,CAA1C;AACA,MAAMW,WAAW,GAAGT,qBAAqB,CAACQ,SAAD,CAAzC;AAEAC,EAAAA,WAAW,CAACC,gBAAZ,CAA6B,+BAA7B,EAA8DC,OAA9D,CAAsE,UAACC,CAAD,EAAO;AAC3EA,IAAAA,CAAC,CAACC,WAAF,aAAmBD,CAAC,CAACE,OAAF,CAAUC,KAA7B;AACD,GAFD;AAIA,SAAON,WAAW,CAACJ,SAAnB;AACD,CATM;;;AAWP,IAAMW,KAAK,GAAG,gBAAd;;AAEO,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACnB,MAAD,EAASoB,OAAT,EAAqB;AACpD,MAAMV,SAAS,GAAGX,wBAAwB,CAACC,MAAD,CAA1C;;AACA,MAAMqB,YAAY,GAAG,SAAfA,YAAe,CAACJ,KAAD,EAAW;AAC9B,QAAIK,aAAa,GAAGF,OAAO,CAACH,KAAD,CAAP,IAAkBG,OAAO,CAACH,KAAD,CAAP,CAAeM,IAAf,CAAoB,UAACC,CAAD;AAAA,aAAOA,CAAC,CAACC,OAAT;AAAA,KAApB,CAAtC;;AAEA,QAAI,CAACH,aAAD,IAAkB,CAACA,aAAa,CAACI,KAArC,EAA4C;AAC1CJ,MAAAA,aAAa,GAAG;AACdK,QAAAA,EAAE,EAAE,EADU;AAEdD,QAAAA,KAAK,EAAE,EAFO;AAGdE,QAAAA,KAAK,EAAE;AAHO,OAAhB;AAKD;;AAED,sEAAwDX,KAAxD,6BAA8E,wBAC5EK,aAAa,CAACM,KAD8D,CAA9E;AAGD,GAdD;;AAgBA,SAAOlB,SAAS,CAACT,OAAV,CAAkBiB,KAAlB,EAAyB,UAACW,KAAD,EAAQC,CAAR,EAAc;AAC5C,WAAOT,YAAY,CAACS,CAAD,CAAnB;AACD,GAFM,CAAP;AAGD,CArBM","sourcesContent":["import escape from 'lodash/escape';\n\n// do not remove \\t from \\times, \\triangle, \\tan, \\theta or \\therefore\nconst tSymbols = 'imes|riangle|an|heta|herefore';\n// do not remove \\n from \\nthroot, \\nparallel, \\ncong, \\napprox, \\neq, \\ne or \\nsim\nconst nSymbols = 'throot|parallel|cong|approx|eq|e|sim';\n// match all \\t and \\n that are not part of math symbols that starts with \\t or \\n\nconst matchTabAndNewLine = new RegExp(\n `(\\\\t(?!${tSymbols}))|(\\\\n(?!${nSymbols}))|(\\\\\\\\t(?!${tSymbols}))|(\\\\\\\\n(?!${nSymbols}))`,\n 'g',\n);\n\nexport const removeUnwantedCharacters = (markup) =>\n markup.replace(matchTabAndNewLine, '').replace(/\\\\\"/g, '\"').replace(/\\\\\\//g, '/');\n\nexport const createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport const processMarkup = (markup) => {\n const newMarkup = removeUnwantedCharacters(markup);\n const slateMarkup = createElementFromHTML(newMarkup);\n\n slateMarkup.querySelectorAll('[data-type=\"inline_dropdown\"]').forEach((s) => {\n s.replaceWith(`{{${s.dataset.index}}}`);\n });\n\n return slateMarkup.innerHTML;\n};\n\nconst REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport const createSlateMarkup = (markup, choices) => {\n const newMarkup = removeUnwantedCharacters(markup);\n const createSelect = (index) => {\n let correctChoice = choices[index] && choices[index].find((c) => c.correct);\n\n if (!correctChoice || !correctChoice.value) {\n correctChoice = {\n id: '',\n value: '',\n label: '',\n };\n }\n\n return `<span data-type=\"inline_dropdown\" data-index=\"${index}\" data-value=\"${escape(\n correctChoice.label,\n )}\"></span>`;\n };\n\n return newMarkup.replace(REGEX, (match, g) => {\n return createSelect(g);\n });\n};\n"],"file":"markupUtils.js"}
1
+ {"version":3,"file":"markupUtils.js","names":["_escape","_interopRequireDefault","require","tSymbols","nSymbols","matchTabAndNewLine","RegExp","removeUnwantedCharacters","markup","replace","exports","createElementFromHTML","htmlString","div","document","createElement","innerHTML","trim","processMarkup","newMarkup","slateMarkup","querySelectorAll","forEach","s","replaceWith","dataset","index","REGEX","createSlateMarkup","choices","createSelect","correctChoice","find","c","correct","value","id","label","escape","match","g"],"sources":["../src/markupUtils.js"],"sourcesContent":["import escape from 'lodash/escape';\n\n// do not remove \\t from \\times, \\triangle, \\tan, \\theta or \\therefore\nconst tSymbols = 'imes|riangle|an|heta|herefore';\n// do not remove \\n from \\nthroot, \\nparallel, \\ncong, \\napprox, \\neq, \\ne or \\nsim\nconst nSymbols = 'throot|parallel|cong|approx|eq|e|sim';\n// match all \\t and \\n that are not part of math symbols that starts with \\t or \\n\nconst matchTabAndNewLine = new RegExp(\n `(\\\\t(?!${tSymbols}))|(\\\\n(?!${nSymbols}))|(\\\\\\\\t(?!${tSymbols}))|(\\\\\\\\n(?!${nSymbols}))`,\n 'g',\n);\n\nexport const removeUnwantedCharacters = (markup) =>\n markup.replace(matchTabAndNewLine, '').replace(/\\\\\"/g, '\"').replace(/\\\\\\//g, '/');\n\nexport const createElementFromHTML = (htmlString) => {\n const div = document.createElement('div');\n\n div.innerHTML = htmlString.trim();\n\n return div;\n};\n\nexport const processMarkup = (markup) => {\n const newMarkup = removeUnwantedCharacters(markup);\n const slateMarkup = createElementFromHTML(newMarkup);\n\n slateMarkup.querySelectorAll('[data-type=\"inline_dropdown\"]').forEach((s) => {\n s.replaceWith(`{{${s.dataset.index}}}`);\n });\n\n return slateMarkup.innerHTML;\n};\n\nconst REGEX = /\\{\\{(\\d+)\\}\\}/g;\n\nexport const createSlateMarkup = (markup, choices) => {\n const newMarkup = removeUnwantedCharacters(markup);\n const createSelect = (index) => {\n let correctChoice = choices[index] && choices[index].find((c) => c.correct);\n\n if (!correctChoice || !correctChoice.value) {\n correctChoice = {\n id: '',\n value: '',\n label: '',\n };\n }\n\n return `<span data-type=\"inline_dropdown\" data-index=\"${index}\" data-value=\"${escape(\n correctChoice.label,\n )}\"></span>`;\n };\n\n return newMarkup.replace(REGEX, (match, g) => {\n return createSelect(g);\n });\n};\n"],"mappings":";;;;;;;AAAA,IAAAA,OAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA;AACA,MAAMC,QAAQ,GAAG,+BAA+B;AAChD;AACA,MAAMC,QAAQ,GAAG,sCAAsC;AACvD;AACA,MAAMC,kBAAkB,GAAG,IAAIC,MAAM,CACnC,UAAUH,QAAQ,aAAaC,QAAQ,eAAeD,QAAQ,eAAeC,QAAQ,IAAI,EACzF,GACF,CAAC;AAEM,MAAMG,wBAAwB,GAAIC,MAAM,IAC7CA,MAAM,CAACC,OAAO,CAACJ,kBAAkB,EAAE,EAAE,CAAC,CAACI,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAACA,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AAACC,OAAA,CAAAH,wBAAA,GAAAA,wBAAA;AAE7E,MAAMI,qBAAqB,GAAIC,UAAU,IAAK;EACnD,MAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAEzCF,GAAG,CAACG,SAAS,GAAGJ,UAAU,CAACK,IAAI,CAAC,CAAC;EAEjC,OAAOJ,GAAG;AACZ,CAAC;AAACH,OAAA,CAAAC,qBAAA,GAAAA,qBAAA;AAEK,MAAMO,aAAa,GAAIV,MAAM,IAAK;EACvC,MAAMW,SAAS,GAAGZ,wBAAwB,CAACC,MAAM,CAAC;EAClD,MAAMY,WAAW,GAAGT,qBAAqB,CAACQ,SAAS,CAAC;EAEpDC,WAAW,CAACC,gBAAgB,CAAC,+BAA+B,CAAC,CAACC,OAAO,CAAEC,CAAC,IAAK;IAC3EA,CAAC,CAACC,WAAW,CAAC,KAAKD,CAAC,CAACE,OAAO,CAACC,KAAK,IAAI,CAAC;EACzC,CAAC,CAAC;EAEF,OAAON,WAAW,CAACJ,SAAS;AAC9B,CAAC;AAACN,OAAA,CAAAQ,aAAA,GAAAA,aAAA;AAEF,MAAMS,KAAK,GAAG,gBAAgB;AAEvB,MAAMC,iBAAiB,GAAGA,CAACpB,MAAM,EAAEqB,OAAO,KAAK;EACpD,MAAMV,SAAS,GAAGZ,wBAAwB,CAACC,MAAM,CAAC;EAClD,MAAMsB,YAAY,GAAIJ,KAAK,IAAK;IAC9B,IAAIK,aAAa,GAAGF,OAAO,CAACH,KAAK,CAAC,IAAIG,OAAO,CAACH,KAAK,CAAC,CAACM,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,OAAO,CAAC;IAE3E,IAAI,CAACH,aAAa,IAAI,CAACA,aAAa,CAACI,KAAK,EAAE;MAC1CJ,aAAa,GAAG;QACdK,EAAE,EAAE,EAAE;QACND,KAAK,EAAE,EAAE;QACTE,KAAK,EAAE;MACT,CAAC;IACH;IAEA,OAAO,iDAAiDX,KAAK,iBAAiB,IAAAY,eAAM,EAClFP,aAAa,CAACM,KAChB,CAAC,WAAW;EACd,CAAC;EAED,OAAOlB,SAAS,CAACV,OAAO,CAACkB,KAAK,EAAE,CAACY,KAAK,EAAEC,CAAC,KAAK;IAC5C,OAAOV,YAAY,CAACU,CAAC,CAAC;EACxB,CAAC,CAAC;AACJ,CAAC;AAAC9B,OAAA,CAAAkB,iBAAA,GAAAA,iBAAA","ignoreList":[]}
@@ -1,99 +1,48 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
7
+ exports.default = void 0;
20
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
9
  var _react = _interopRequireDefault(require("react"));
23
-
24
10
  var _reactDom = _interopRequireDefault(require("react-dom"));
25
-
26
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
12
+ var _styles = require("@mui/material/styles");
30
13
  var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
31
-
32
14
  var _mathRendering = require("@pie-lib/math-rendering");
33
-
34
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
35
-
36
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
37
-
38
- var styles = function styles(theme) {
39
- return {
40
- responseArea: {
41
- paddingBottom: theme.spacing.unit * 2.5
42
- },
43
- errorText: {
44
- fontSize: theme.typography.fontSize - 2,
45
- color: theme.palette.error.main,
46
- paddingTop: theme.spacing.unit
47
- }
48
- };
49
- };
50
-
51
- var ResponseAreaComponent = /*#__PURE__*/function (_React$Component) {
52
- (0, _inherits2["default"])(ResponseAreaComponent, _React$Component);
53
-
54
- var _super = _createSuper(ResponseAreaComponent);
55
-
56
- function ResponseAreaComponent() {
57
- (0, _classCallCheck2["default"])(this, ResponseAreaComponent);
58
- return _super.apply(this, arguments);
15
+ const ResponseArea = (0, _styles.styled)('div')(({
16
+ theme
17
+ }) => ({
18
+ paddingBottom: theme.spacing(2.5)
19
+ }));
20
+ const ErrorText = (0, _styles.styled)('div')(({
21
+ theme
22
+ }) => ({
23
+ fontSize: theme.typography.fontSize - 2,
24
+ color: theme.palette.error.main,
25
+ paddingTop: theme.spacing(1)
26
+ }));
27
+ class ResponseAreaComponent extends _react.default.Component {
28
+ componentDidMount() {
29
+ // eslint-disable-next-line react/no-find-dom-node
30
+ const domNode = _reactDom.default.findDOMNode(this);
31
+ (0, _mathRendering.renderMath)(domNode);
59
32
  }
60
-
61
- (0, _createClass2["default"])(ResponseAreaComponent, [{
62
- key: "componentDidMount",
63
- value: function componentDidMount() {
64
- // eslint-disable-next-line react/no-find-dom-node
65
- var domNode = _reactDom["default"].findDOMNode(this);
66
-
67
- (0, _mathRendering.renderMath)(domNode);
68
- }
69
- }, {
70
- key: "render",
71
- value: function render() {
72
- var _this$props = this.props,
73
- editableHtmlProps = _this$props.editableHtmlProps,
74
- responseAreasError = _this$props.responseAreasError,
75
- responseAreaChoicesError = _this$props.responseAreaChoicesError,
76
- classes = _this$props.classes;
77
- return /*#__PURE__*/_react["default"].createElement("div", {
78
- className: classes.responseArea
79
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], editableHtmlProps), responseAreasError && /*#__PURE__*/_react["default"].createElement("div", {
80
- className: classes.errorText
81
- }, responseAreasError), responseAreaChoicesError && /*#__PURE__*/_react["default"].createElement("div", {
82
- className: classes.errorText
83
- }, responseAreaChoicesError));
84
- }
85
- }]);
86
- return ResponseAreaComponent;
87
- }(_react["default"].Component);
88
-
89
- (0, _defineProperty2["default"])(ResponseAreaComponent, "propTypes", {
90
- editableHtmlProps: _propTypes["default"].object.isRequired,
91
- classes: _propTypes["default"].object.isRequired,
92
- responseAreasError: _propTypes["default"].string,
93
- responseAreaChoicesError: _propTypes["default"].string
33
+ render() {
34
+ const {
35
+ editableHtmlProps,
36
+ responseAreasError,
37
+ responseAreaChoicesError
38
+ } = this.props;
39
+ return /*#__PURE__*/_react.default.createElement(ResponseArea, null, /*#__PURE__*/_react.default.createElement(_editableHtml.default, editableHtmlProps), responseAreasError && /*#__PURE__*/_react.default.createElement(ErrorText, null, responseAreasError), responseAreaChoicesError && /*#__PURE__*/_react.default.createElement(ErrorText, null, responseAreaChoicesError));
40
+ }
41
+ }
42
+ (0, _defineProperty2.default)(ResponseAreaComponent, "propTypes", {
43
+ editableHtmlProps: _propTypes.default.object.isRequired,
44
+ responseAreasError: _propTypes.default.string,
45
+ responseAreaChoicesError: _propTypes.default.string
94
46
  });
95
-
96
- var _default = (0, _styles.withStyles)(styles)(ResponseAreaComponent);
97
-
98
- exports["default"] = _default;
47
+ var _default = exports.default = ResponseAreaComponent;
99
48
  //# sourceMappingURL=response-area.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/response-area.jsx"],"names":["styles","theme","responseArea","paddingBottom","spacing","unit","errorText","fontSize","typography","color","palette","error","main","paddingTop","ResponseAreaComponent","domNode","ReactDOM","findDOMNode","props","editableHtmlProps","responseAreasError","responseAreaChoicesError","classes","React","Component","PropTypes","object","isRequired","string"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAACC,KAAD;AAAA,SAAY;AACzBC,IAAAA,YAAY,EAAE;AACZC,MAAAA,aAAa,EAAEF,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB;AADxB,KADW;AAIzBC,IAAAA,SAAS,EAAE;AACTC,MAAAA,QAAQ,EAAEN,KAAK,CAACO,UAAN,CAAiBD,QAAjB,GAA4B,CAD7B;AAETE,MAAAA,KAAK,EAAER,KAAK,CAACS,OAAN,CAAcC,KAAd,CAAoBC,IAFlB;AAGTC,MAAAA,UAAU,EAAEZ,KAAK,CAACG,OAAN,CAAcC;AAHjB;AAJc,GAAZ;AAAA,CAAf;;IAWMS,qB;;;;;;;;;;;;WAQJ,6BAAoB;AAClB;AACA,UAAMC,OAAO,GAAGC,qBAASC,WAAT,CAAqB,IAArB,CAAhB;;AAEA,qCAAWF,OAAX;AACD;;;WAED,kBAAS;AACP,wBAAqF,KAAKG,KAA1F;AAAA,UAAQC,iBAAR,eAAQA,iBAAR;AAAA,UAA2BC,kBAA3B,eAA2BA,kBAA3B;AAAA,UAA+CC,wBAA/C,eAA+CA,wBAA/C;AAAA,UAAyEC,OAAzE,eAAyEA,OAAzE;AAEA,0BACE;AAAK,QAAA,SAAS,EAAEA,OAAO,CAACpB;AAAxB,sBACE,gCAAC,wBAAD,EAAkBiB,iBAAlB,CADF,EAEGC,kBAAkB,iBAAI;AAAK,QAAA,SAAS,EAAEE,OAAO,CAAChB;AAAxB,SAAoCc,kBAApC,CAFzB,EAGGC,wBAAwB,iBAAI;AAAK,QAAA,SAAS,EAAEC,OAAO,CAAChB;AAAxB,SAAoCe,wBAApC,CAH/B,CADF;AAOD;;;EAzBiCE,kBAAMC,S;;iCAApCV,qB,eACe;AACjBK,EAAAA,iBAAiB,EAAEM,sBAAUC,MAAV,CAAiBC,UADnB;AAEjBL,EAAAA,OAAO,EAAEG,sBAAUC,MAAV,CAAiBC,UAFT;AAGjBP,EAAAA,kBAAkB,EAAEK,sBAAUG,MAHb;AAIjBP,EAAAA,wBAAwB,EAAEI,sBAAUG;AAJnB,C;;eA2BN,wBAAW5B,MAAX,EAAmBc,qBAAnB,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst styles = (theme) => ({\n responseArea: {\n paddingBottom: theme.spacing.unit * 2.5,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n});\n\nclass ResponseAreaComponent extends React.Component {\n static propTypes = {\n editableHtmlProps: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n responseAreasError: PropTypes.string,\n responseAreaChoicesError: PropTypes.string,\n };\n\n componentDidMount() {\n // eslint-disable-next-line react/no-find-dom-node\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n render() {\n const { editableHtmlProps, responseAreasError, responseAreaChoicesError, classes } = this.props;\n\n return (\n <div className={classes.responseArea}>\n <EditableHtml {...editableHtmlProps} />\n {responseAreasError && <div className={classes.errorText}>{responseAreasError}</div>}\n {responseAreaChoicesError && <div className={classes.errorText}>{responseAreaChoicesError}</div>}\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(ResponseAreaComponent);\n"],"file":"response-area.js"}
1
+ {"version":3,"file":"response-area.js","names":["_react","_interopRequireDefault","require","_reactDom","_propTypes","_styles","_editableHtml","_mathRendering","ResponseArea","styled","theme","paddingBottom","spacing","ErrorText","fontSize","typography","color","palette","error","main","paddingTop","ResponseAreaComponent","React","Component","componentDidMount","domNode","ReactDOM","findDOMNode","renderMath","render","editableHtmlProps","responseAreasError","responseAreaChoicesError","props","default","createElement","_defineProperty2","PropTypes","object","isRequired","string","_default","exports"],"sources":["../src/response-area.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst ResponseArea = styled('div')(({ theme }) => ({\n paddingBottom: theme.spacing(2.5),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nclass ResponseAreaComponent extends React.Component {\n static propTypes = {\n editableHtmlProps: PropTypes.object.isRequired,\n responseAreasError: PropTypes.string,\n responseAreaChoicesError: PropTypes.string,\n };\n\n componentDidMount() {\n // eslint-disable-next-line react/no-find-dom-node\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n render() {\n const { editableHtmlProps, responseAreasError, responseAreaChoicesError } = this.props;\n\n return (\n <ResponseArea>\n <EditableHtml {...editableHtmlProps} />\n {responseAreasError && <ErrorText>{responseAreasError}</ErrorText>}\n {responseAreaChoicesError && <ErrorText>{responseAreaChoicesError}</ErrorText>}\n </ResponseArea>\n );\n }\n}\n\nexport default ResponseAreaComponent;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAL,OAAA;AAEA,MAAMM,YAAY,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EACjDC,aAAa,EAAED,KAAK,CAACE,OAAO,CAAC,GAAG;AAClC,CAAC,CAAC,CAAC;AAEH,MAAMC,SAAS,GAAG,IAAAJ,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EAC9CI,QAAQ,EAAEJ,KAAK,CAACK,UAAU,CAACD,QAAQ,GAAG,CAAC;EACvCE,KAAK,EAAEN,KAAK,CAACO,OAAO,CAACC,KAAK,CAACC,IAAI;EAC/BC,UAAU,EAAEV,KAAK,CAACE,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAMS,qBAAqB,SAASC,cAAK,CAACC,SAAS,CAAC;EAOlDC,iBAAiBA,CAAA,EAAG;IAClB;IACA,MAAMC,OAAO,GAAGC,iBAAQ,CAACC,WAAW,CAAC,IAAI,CAAC;IAE1C,IAAAC,yBAAU,EAACH,OAAO,CAAC;EACrB;EAEAI,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC,iBAAiB;MAAEC,kBAAkB;MAAEC;IAAyB,CAAC,GAAG,IAAI,CAACC,KAAK;IAEtF,oBACEjC,MAAA,CAAAkC,OAAA,CAAAC,aAAA,CAAC3B,YAAY,qBACXR,MAAA,CAAAkC,OAAA,CAAAC,aAAA,CAAC7B,aAAA,CAAA4B,OAAY,EAAKJ,iBAAoB,CAAC,EACtCC,kBAAkB,iBAAI/B,MAAA,CAAAkC,OAAA,CAAAC,aAAA,CAACtB,SAAS,QAAEkB,kBAA8B,CAAC,EACjEC,wBAAwB,iBAAIhC,MAAA,CAAAkC,OAAA,CAAAC,aAAA,CAACtB,SAAS,QAAEmB,wBAAoC,CACjE,CAAC;EAEnB;AACF;AAAC,IAAAI,gBAAA,CAAAF,OAAA,EAzBKb,qBAAqB,eACN;EACjBS,iBAAiB,EAAEO,kBAAS,CAACC,MAAM,CAACC,UAAU;EAC9CR,kBAAkB,EAAEM,kBAAS,CAACG,MAAM;EACpCR,wBAAwB,EAAEK,kBAAS,CAACG;AACtC,CAAC;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAR,OAAA,GAsBYb,qBAAqB","ignoreList":[]}
@@ -1,33 +1,22 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.getPluginProps = exports.generateValidationMessage = void 0;
9
-
10
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
-
12
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
13
-
14
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
15
-
16
- var generateValidationMessage = function generateValidationMessage(config) {
17
- var maxResponseAreas = config.maxResponseAreas,
18
- maxResponseAreaChoices = config.maxResponseAreaChoices;
19
- var responseAreasMessage = '\nThere should be at least 1 ' + (maxResponseAreas ? "and at most ".concat(maxResponseAreas, " ") : '') + 'response area' + (maxResponseAreas ? 's' : '') + ' defined.' + (maxResponseAreaChoices ? "\nThere should be at most ".concat(maxResponseAreaChoices, " choices defined per response area.") : '');
20
- var message = 'Validation requirements:' + responseAreasMessage;
7
+ const generateValidationMessage = config => {
8
+ const {
9
+ maxResponseAreas,
10
+ maxResponseAreaChoices
11
+ } = config;
12
+ const responseAreasMessage = '\nThere should be at least 1 ' + (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') + 'response area' + (maxResponseAreas ? 's' : '') + ' defined.' + (maxResponseAreaChoices ? `\nThere should be at most ${maxResponseAreaChoices} choices defined per response area.` : '');
13
+ const message = 'Validation requirements:' + responseAreasMessage;
21
14
  return message;
22
15
  };
23
-
24
16
  exports.generateValidationMessage = generateValidationMessage;
25
-
26
- var getPluginProps = function getPluginProps() {
27
- var props = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
28
- var baseInputConfiguration = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
- return _objectSpread(_objectSpread({}, baseInputConfiguration), props);
30
- };
31
-
17
+ const getPluginProps = (props = {}, baseInputConfiguration = {}) => ({
18
+ ...baseInputConfiguration,
19
+ ...props
20
+ });
32
21
  exports.getPluginProps = getPluginProps;
33
22
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.js"],"names":["generateValidationMessage","config","maxResponseAreas","maxResponseAreaChoices","responseAreasMessage","message","getPluginProps","props","baseInputConfiguration"],"mappings":";;;;;;;;;;;;;;;AAAO,IAAMA,yBAAyB,GAAG,SAA5BA,yBAA4B,CAACC,MAAD,EAAY;AACnD,MAAQC,gBAAR,GAAqDD,MAArD,CAAQC,gBAAR;AAAA,MAA0BC,sBAA1B,GAAqDF,MAArD,CAA0BE,sBAA1B;AAEA,MAAMC,oBAAoB,GACxB,mCACCF,gBAAgB,yBAAkBA,gBAAlB,SAAwC,EADzD,IAEA,eAFA,IAGCA,gBAAgB,GAAG,GAAH,GAAS,EAH1B,IAIA,WAJA,IAKCC,sBAAsB,uCACUA,sBADV,2CAEnB,EAPJ,CADF;AAUA,MAAME,OAAO,GAAG,6BAA6BD,oBAA7C;AAEA,SAAOC,OAAP;AACD,CAhBM;;;;AAkBA,IAAMC,cAAc,GAAG,SAAjBA,cAAiB;AAAA,MAACC,KAAD,uEAAS,EAAT;AAAA,MAAaC,sBAAb,uEAAsC,EAAtC;AAAA,yCACzBA,sBADyB,GAEzBD,KAFyB;AAAA,CAAvB","sourcesContent":["export const generateValidationMessage = (config) => {\n const { maxResponseAreas, maxResponseAreaChoices } = config;\n\n const responseAreasMessage =\n '\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' +\n (maxResponseAreas ? 's' : '') +\n ' defined.' +\n (maxResponseAreaChoices\n ? `\\nThere should be at most ${maxResponseAreaChoices} choices defined per response area.`\n : '');\n\n const message = 'Validation requirements:' + responseAreasMessage;\n\n return message;\n};\n\nexport const getPluginProps = (props = {}, baseInputConfiguration = {}) => ({\n ...baseInputConfiguration,\n ...props,\n});\n"],"file":"utils.js"}
1
+ {"version":3,"file":"utils.js","names":["generateValidationMessage","config","maxResponseAreas","maxResponseAreaChoices","responseAreasMessage","message","exports","getPluginProps","props","baseInputConfiguration"],"sources":["../src/utils.js"],"sourcesContent":["export const generateValidationMessage = (config) => {\n const { maxResponseAreas, maxResponseAreaChoices } = config;\n\n const responseAreasMessage =\n '\\nThere should be at least 1 ' +\n (maxResponseAreas ? `and at most ${maxResponseAreas} ` : '') +\n 'response area' +\n (maxResponseAreas ? 's' : '') +\n ' defined.' +\n (maxResponseAreaChoices\n ? `\\nThere should be at most ${maxResponseAreaChoices} choices defined per response area.`\n : '');\n\n const message = 'Validation requirements:' + responseAreasMessage;\n\n return message;\n};\n\nexport const getPluginProps = (props = {}, baseInputConfiguration = {}) => ({\n ...baseInputConfiguration,\n ...props,\n});\n"],"mappings":";;;;;;AAAO,MAAMA,yBAAyB,GAAIC,MAAM,IAAK;EACnD,MAAM;IAAEC,gBAAgB;IAAEC;EAAuB,CAAC,GAAGF,MAAM;EAE3D,MAAMG,oBAAoB,GACxB,+BAA+B,IAC9BF,gBAAgB,GAAG,eAAeA,gBAAgB,GAAG,GAAG,EAAE,CAAC,GAC5D,eAAe,IACdA,gBAAgB,GAAG,GAAG,GAAG,EAAE,CAAC,GAC7B,WAAW,IACVC,sBAAsB,GACnB,6BAA6BA,sBAAsB,qCAAqC,GACxF,EAAE,CAAC;EAET,MAAME,OAAO,GAAG,0BAA0B,GAAGD,oBAAoB;EAEjE,OAAOC,OAAO;AAChB,CAAC;AAACC,OAAA,CAAAN,yBAAA,GAAAA,yBAAA;AAEK,MAAMO,cAAc,GAAGA,CAACC,KAAK,GAAG,CAAC,CAAC,EAAEC,sBAAsB,GAAG,CAAC,CAAC,MAAM;EAC1E,GAAGA,sBAAsB;EACzB,GAAGD;AACL,CAAC,CAAC;AAACF,OAAA,CAAAC,cAAA,GAAAA,cAAA","ignoreList":[]}
@@ -1,22 +1,24 @@
1
1
  {
2
2
  "name": "@pie-element/inline-dropdown-configure",
3
- "version": "7.3.3",
3
+ "version": "8.0.0-beta.0",
4
4
  "private": true,
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
7
7
  "dependencies": {
8
- "@material-ui/core": "^3.9.2",
9
- "@material-ui/icons": "^3.0.1",
8
+ "@emotion/react": "^11.14.0",
9
+ "@emotion/style": "^0.8.0",
10
+ "@mui/icons-material": "^7.3.4",
11
+ "@mui/material": "^7.3.4",
10
12
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/config-ui": "11.30.2",
12
- "@pie-lib/editable-html": "11.21.2",
13
- "@pie-lib/math-rendering": "3.22.1",
14
- "@pie-lib/render-ui": "4.35.2",
13
+ "@pie-lib/config-ui": "11.30.4-next.0",
14
+ "@pie-lib/editable-html": "11.21.4-next.0",
15
+ "@pie-lib/math-rendering": "3.22.3-next.0",
16
+ "@pie-lib/render-ui": "4.35.4-next.0",
15
17
  "classnames": "^2.2.6",
16
18
  "debug": "^3.1.0",
17
19
  "lodash": "^4.17.15",
18
20
  "prop-types": "^15.6.2",
19
- "react": "^16.8.1",
20
- "react-dom": "^16.8.1"
21
+ "react": "18.2.0",
22
+ "react-dom": "18.2.0"
21
23
  }
22
24
  }
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
7
- var _default = {
6
+ exports.default = void 0;
7
+ var _default = exports.default = {
8
8
  alternateResponse: {},
9
9
  choiceRationaleEnabled: true,
10
10
  choices: {},
@@ -22,5 +22,4 @@ var _default = {
22
22
  teacherInstructionsEnabled: true,
23
23
  toolbarEditorPosition: 'bottom'
24
24
  };
25
- exports["default"] = _default;
26
25
  //# sourceMappingURL=defaults.js.map