@pie-element/inline-dropdown 10.1.2-next.2 → 10.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +1082 -0
- package/CHANGELOG.md +2192 -0
- package/LICENSE.md +5 -0
- package/README.md +1 -0
- package/configure/CHANGELOG.json +647 -0
- package/configure/CHANGELOG.md +1949 -0
- package/configure/lib/defaults.js +192 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +135 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/inline-dropdown-toolbar.js +456 -0
- package/configure/lib/inline-dropdown-toolbar.js.map +1 -0
- package/configure/lib/main.js +612 -0
- package/configure/lib/main.js.map +1 -0
- package/configure/lib/markupUtils.js +50 -0
- package/configure/lib/markupUtils.js.map +1 -0
- package/configure/lib/response-area.js +48 -0
- package/configure/lib/response-area.js.map +1 -0
- package/configure/lib/utils.js +22 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +24 -0
- package/controller/CHANGELOG.json +467 -0
- package/controller/CHANGELOG.md +1283 -0
- package/controller/lib/defaults.js +25 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +295 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/lib/utils.js +32 -0
- package/controller/lib/utils.js.map +1 -0
- package/controller/package.json +16 -0
- package/docs/config-schema.json +2854 -0
- package/docs/config-schema.json.md +2106 -0
- package/docs/demo/config.js +8 -0
- package/docs/demo/generate.js +76 -0
- package/docs/demo/index.html +1 -0
- package/docs/demo/session.js +11 -0
- package/docs/pie-schema.json +1152 -0
- package/docs/pie-schema.json.md +814 -0
- package/lib/index.js +85 -0
- package/lib/index.js.map +1 -0
- package/lib/inline-dropdown.js +176 -0
- package/lib/inline-dropdown.js.map +1 -0
- package/package.json +21 -85
- package/configure.js +0 -2
- package/controller.js +0 -1
- package/dist/author/defaults.d.ts +0 -194
- package/dist/author/defaults.js +0 -130
- package/dist/author/index.d.ts +0 -43
- package/dist/author/index.js +0 -83
- package/dist/author/inline-dropdown-toolbar.d.ts +0 -48
- package/dist/author/inline-dropdown-toolbar.js +0 -268
- package/dist/author/main.d.ts +0 -49
- package/dist/author/main.js +0 -379
- package/dist/author/markupUtils.d.ts +0 -12
- package/dist/author/markupUtils.js +0 -23
- package/dist/author/response-area.d.ts +0 -20
- package/dist/author/response-area.js +0 -32
- package/dist/author/utils.d.ts +0 -10
- package/dist/author/utils.js +0 -10
- package/dist/browser/Close-ihSzAQyP.js +0 -9031
- package/dist/browser/Close-ihSzAQyP.js.map +0 -1
- package/dist/browser/author/index.js +0 -40578
- package/dist/browser/author/index.js.map +0 -1
- package/dist/browser/controller/index.js +0 -196
- package/dist/browser/controller/index.js.map +0 -1
- package/dist/browser/delivery/index.js +0 -2714
- package/dist/browser/delivery/index.js.map +0 -1
- package/dist/browser/dist-CAsDMEWi.js +0 -133
- package/dist/browser/dist-CAsDMEWi.js.map +0 -1
- package/dist/browser/inline-dropdown.css +0 -2
- package/dist/controller/defaults.d.ts +0 -27
- package/dist/controller/defaults.js +0 -21
- package/dist/controller/index.d.ts +0 -54
- package/dist/controller/index.js +0 -124
- package/dist/controller/utils.d.ts +0 -12
- package/dist/controller/utils.js +0 -13
- package/dist/delivery/index.d.ts +0 -20
- package/dist/delivery/index.js +0 -60
- package/dist/delivery/inline-dropdown.d.ts +0 -38
- package/dist/delivery/inline-dropdown.js +0 -109
- package/dist/index.d.ts +0 -1
- package/dist/index.iife.d.ts +0 -8
- package/dist/index.iife.js +0 -148
- package/dist/index.js +0 -2
- package/dist/runtime-support.d.ts +0 -12
- package/dist/runtime-support.js +0 -12
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_reactDom","_propTypes","_editableHtmlTipTap","_interopRequireWildcard","_configUi","_mathRendering","_renderUi","_lodashEs","_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","confirmCallback","cancelCallback","setState","text","onClose","onConfirm","node","pos","editor","closeToolbar","onCancel","respAreaChoices","state","attrs","currentChoices","shouldWarn","length","find","c","correct","_holdInlineDropdownToolbarIndex","onCheck","deleteInlineDropdownByIndex","markup","domMarkup","allRespAreas","querySelectorAll","allChoices","forEach","el","dataset","existingRespAreaChoices","reduce","obj","key","isUndefined","newRespAreaChoices","cloneDeep","choiceIndex","maxResponseAreaChoices","configuration","showWarning","message","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","pluginProps","getPluginProps","inputConfiguration","onChange","onChoiceRationaleChanged","toolbarOpts","position","validationMessage","generateValidationMessage","panelSettings","enabled","options","panelProperties","rubricEnabled","layout","ConfigLayout","names","rules","dimensions","hideSettings","onChangeModel","onChangeConfiguration","groups","Settings","Properties","onTeacherInstructionsChanged","nonEmpty","languageCharactersProps","onPromptChanged","disableUnderline","disableFocusListener","disableTouchListener","placement","title","editableHtmlProps","activePlugins","ALL_PLUGINS","responseAreaProps","type","duplicates","onToolbarCloseRequest","validateResponseAreaClose","respAreaToolbar","nodeInfo","_extends2","onAddChoice","onRemoveChoice","onSelectChoice","onToolbarDone","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, deleteInlineDropdownByIndex } from '@pie-lib/editable-html-tip-tap';\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, isEmpty, isEqual, isUndefined, max, reduce } from 'lodash-es';\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 = (confirmCallback, cancelCallback) => {\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 } }, cancelCallback);\n },\n onConfirm: () => {\n this.setState({ warning: { open: false } }, confirmCallback);\n },\n },\n });\n };\n\n validateResponseAreaClose = (node, pos, editor, closeToolbar, onCancel) => {\n const { respAreaChoices } = this.state;\n const index = node.attrs.index;\n const currentChoices = respAreaChoices[index] || [];\n const shouldWarn = currentChoices.length < 2 || !currentChoices.find((c) => c.correct);\n\n if (!shouldWarn) {\n closeToolbar();\n return;\n }\n\n editor._holdInlineDropdownToolbarIndex = index;\n\n this.onCheck(\n () => {\n delete editor._holdInlineDropdownToolbarIndex;\n deleteInlineDropdownByIndex(editor, index, pos);\n closeToolbar();\n },\n onCancel,\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\n allRespAreas.forEach((el, index) => {\n const choices = existingRespAreaChoices[el.dataset.index];\n\n if (choices) {\n newRespAreaChoices[index] = choices;\n }\n\n el.dataset.index = index;\n });\n\n this.onModelChange({\n choices: cloneDeep(newRespAreaChoices),\n slateMarkup: domMarkup.innerHTML,\n });\n };\n\n onAddChoice = (index, label, choiceIndex) => {\n const { respAreaChoices } = this.state;\n const { maxResponseAreaChoices } = this.props.configuration;\n\n const showWarning = (message) =>\n this.setState({\n warning: {\n open: true,\n text: message,\n onClose: undefined,\n onConfirm: () => {\n this.setState({ warning: { open: false } });\n },\n },\n });\n\n if (respAreaChoices[index] && respAreaChoices[index].length >= maxResponseAreaChoices) {\n showWarning(`There are only ${maxResponseAreaChoices} answers allowed per choice.`);\n return;\n }\n\n if (!respAreaChoices[index]) {\n respAreaChoices[index] = [];\n }\n\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 showWarning('Duplicate answers are not allowed.');\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 pluginProps={getPluginProps(rationale?.inputConfiguration)}\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 const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={{\n names: ['red', 'blue'],\n rules: `\n .red {\n color: red !important;\n }\n\n .blue {\n color: blue !important;\n }\n `,\n }}\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'}>Define Template, Choices, and Correct Responses</StyledTypography>\n <StyledTooltip disableFocusListener disableTouchListener placement={'right'} title={validationMessage}>\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 extraCSSRules: {\n names: ['red', 'blue'],\n rules: `\n .red {\n color: red !important;\n }\n\n .blue {\n color: blue !important;\n }\n `,\n },\n responseAreaProps: {\n type: 'inline-dropdown',\n options: {\n duplicates: true,\n },\n maxResponseAreas: maxResponseAreas,\n onToolbarCloseRequest: ([node, pos], editor, closeToolbar, onCancel) => {\n this.validateResponseAreaClose(node, pos, editor, closeToolbar, onCancel);\n },\n respAreaToolbar: (nodeInfo, editor, closeToolbar) => {\n const [node, pos] = nodeInfo;\n const { respAreaChoices } = this.state;\n\n return (props) => (\n <InlineDropdownToolbar\n {...props}\n onAddChoice={this.onAddChoice}\n onRemoveChoice={(index) => this.onRemoveChoice(node.attrs.index, index)}\n onSelectChoice={(index) => this.onSelectChoice(node.attrs.index, index)}\n node={node}\n pos={pos}\n editor={editor}\n onToolbarDone={closeToolbar}\n choices={respAreaChoices[node.attrs.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":";;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,SAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,UAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,mBAAA,GAAAC,uBAAA,CAAAJ,OAAA;AACA,IAAAK,SAAA,GAAAL,OAAA;AACA,IAAAM,cAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AACA,IAAAQ,SAAA,GAAAR,OAAA;AACA,IAAAS,OAAA,GAAAT,OAAA;AACA,IAAAU,QAAA,GAAAX,sBAAA,CAAAC,OAAA;AACA,IAAAW,WAAA,GAAAZ,sBAAA,CAAAC,OAAA;AACA,IAAAY,UAAA,GAAAb,sBAAA,CAAAC,OAAA;AACA,IAAAa,iBAAA,GAAAd,sBAAA,CAAAC,OAAA;AACA,IAAAc,iBAAA,GAAAf,sBAAA,CAAAC,OAAA;AACA,IAAAe,WAAA,GAAAhB,sBAAA,CAAAC,OAAA;AACA,IAAAgB,KAAA,GAAAjB,sBAAA,CAAAC,OAAA;AAEA,IAAAiB,sBAAA,GAAAlB,sBAAA,CAAAC,OAAA;AACA,IAAAkB,MAAA,GAAAlB,OAAA;AACA,IAAAmB,aAAA,GAAApB,sBAAA,CAAAC,OAAA;AAAoD,SAAAI,wBAAAgB,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAlB,uBAAA,YAAAA,CAAAgB,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAEpD,MAAM;EAAEkB,MAAM;EAAEC,KAAK;EAAEC;AAAS,CAAC,GAAGC,kBAAQ;AAE5C,MAAMC,YAAY,GAAG,IAAAC,cAAM,EAACC,wBAAc,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EAC1DC,KAAK,EAAE,MAAM;EACbC,UAAU,EAAEF,KAAK,CAACG,OAAO,CAAC,CAAC,CAAC;EAC5BC,YAAY,EAAEJ,KAAK,CAACG,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,MAAME,qBAAqB,GAAG,IAAAP,cAAM,EAACC,wBAAc,CAAC,CAAC,CAAC;EAAEC;AAAM,CAAC,MAAM;EACnEC,KAAK,EAAE,MAAM;EACbC,UAAU,EAAEF,KAAK,CAACG,OAAO,CAAC,GAAG,CAAC;EAC9BC,YAAY,EAAEJ,KAAK,CAACG,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,MAAMG,gBAAgB,GAAG,IAAAR,cAAM,EAACS,mBAAU,CAAC,CAAC,CAAC;EAAEP;AAAM,CAAC,MAAM;EAC1DQ,QAAQ,EAAER,KAAK,CAACS,UAAU,CAACD,QAAQ,GAAG,CAAC;EACvCE,WAAW,EAAEV,KAAK,CAACG,OAAO,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,MAAMQ,cAAc,GAAG,IAAAb,cAAM,EAAC,MAAM,CAAC,CAAC,CAAC;EAAEE;AAAM,CAAC,MAAM;EACpDY,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,QAAQ;EACpBC,UAAU,EAAE,cAAc;EAC1BC,KAAK,EAAEA,eAAK,CAACC,QAAQ,CAAC,CAAC;EACvBC,OAAO,EAAE,CAAC;EACVT,QAAQ,EAAER,KAAK,CAACS,UAAU,CAACD,QAAQ,GAAG,CAAC;EACvCU,UAAU,EAAE;AACd,CAAC,CAAC,CAAC;AAEH,MAAMC,gBAAgB,GAAG,IAAArB,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEE;AAAM,CAAC,MAAM;EACrDI,YAAY,EAAEJ,KAAK,CAACG,OAAO,CAAC,GAAG;AACjC,CAAC,CAAC,CAAC;AAEH,MAAMiB,sBAAsB,GAAG,IAAAtB,cAAM,EAACuB,yBAAgB,CAAC,CAAC;EACtDT,OAAO,EAAE,OAAO;EAChBV,UAAU,EAAE,CAAC;EACboB,aAAa,EAAE;AACjB,CAAC,CAAC;AAEF,MAAMC,aAAa,GAAG,IAAAzB,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEE;AAAM,CAAC,MAAM;EAClDY,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,QAAQ;EACpBT,YAAY,EAAEJ,KAAK,CAACG,OAAO,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,MAAMqB,aAAa,GAAG,IAAA1B,cAAM,EAAC2B,gBAAO,CAAC,CAAC,CAAC;EAAEzB;AAAM,CAAC,MAAM;EACpD,uBAAuB,EAAE;IACvBQ,QAAQ,EAAER,KAAK,CAACS,UAAU,CAACD,QAAQ,GAAG,CAAC;IACvCM,UAAU,EAAE,KAAK;IACjBY,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC,CAAC;AAEH,MAAMC,SAAS,GAAG,IAAA7B,cAAM,EAAC,KAAK,CAAC,CAAC,CAAC;EAAEE;AAAM,CAAC,MAAM;EAC9CQ,QAAQ,EAAER,KAAK,CAACS,UAAU,CAACD,QAAQ,GAAG,CAAC;EACvCO,KAAK,EAAEf,KAAK,CAAC4B,OAAO,CAACC,KAAK,CAACC,IAAI;EAC/B5B,UAAU,EAAEF,KAAK,CAACG,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,MAAM4B,qBAAqB,GAAIC,UAAU,IAAK;EAC5C,MAAMC,GAAG,GAAGC,QAAQ,CAACC,aAAa,CAAC,KAAK,CAAC;EAEzCF,GAAG,CAACG,SAAS,GAAG,CAACJ,UAAU,IAAI,EAAE,EAAEK,IAAI,CAAC,CAAC;EAEzC,OAAOJ,GAAG;AACZ,CAAC;AAEM,MAAMK,IAAI,SAASC,cAAK,CAACC,SAAS,CAAC;EAAAC,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAA,IAAAC,gBAAA,CAAA3D,OAAA,iBAiBhC;MACN4D,OAAO,EAAE;QAAEC,IAAI,EAAE;MAAM;IACzB,CAAC;IAAA,IAAAF,gBAAA,CAAA3D,OAAA,yBAgCgB8D,MAAM,IAAK;MAC1B,IAAI,CAACC,KAAK,CAACC,cAAc,CAAC;QAAE,GAAG,IAAI,CAACD,KAAK,CAACE,KAAK;QAAE,GAAGH;MAAO,CAAC,CAAC;IAC/D,CAAC;IAAA,IAAAH,gBAAA,CAAA3D,OAAA,2BAEkBkE,MAAM,IAAK;MAC5B,IAAI,CAACC,aAAa,CAAC;QAAED;MAAO,CAAC,CAAC;IAChC,CAAC;IAAA,IAAAP,gBAAA,CAAA3D,OAAA,8BAEqBoE,SAAS,IAAK;MAClC,IAAI,CAACD,aAAa,CAAC;QAAEC;MAAU,CAAC,CAAC;IACnC,CAAC;IAAA,IAAAT,gBAAA,CAAA3D,OAAA,oCAE0B,CAACqE,KAAK,EAAEC,MAAM,KAAK;MAC5C,MAAM;QAAEL;MAAM,CAAC,GAAG,IAAI,CAACF,KAAK;MAC5B,MAAMQ,aAAa,GACjBN,KAAK,CAACO,OAAO,IACbP,KAAK,CAACO,OAAO,CAACH,KAAK,CAAC,IACpBJ,KAAK,CAACO,OAAO,CAACH,KAAK,CAAC,CAACI,SAAS,CAAEC,IAAI,IAAKA,IAAI,CAACC,KAAK,KAAKL,MAAM,CAACK,KAAK,IAAID,IAAI,CAACE,KAAK,KAAKN,MAAM,CAACM,KAAK,CAAC;MAEtGX,KAAK,CAACO,OAAO,CAACH,KAAK,CAAC,IAAIJ,KAAK,CAACO,OAAO,CAACH,KAAK,CAAC,CAACQ,MAAM,CAACN,aAAa,EAAE,CAAC,EAAED,MAAM,CAAC;MAE7E,IAAI,CAACH,aAAa,CAACF,KAAK,CAAC;IAC3B,CAAC;IAAA,IAAAN,gBAAA,CAAA3D,OAAA,wCAE+B8E,mBAAmB,IAAK;MACtD,IAAI,CAACX,aAAa,CAAC;QAAEW;MAAoB,CAAC,CAAC;IAC7C,CAAC;IAAA,IAAAnB,gBAAA,CAAA3D,OAAA,2BAEkB+E,WAAW,IAAK;MACjC,IAAI,CAACZ,aAAa,CAAC;QAAEY;MAAY,CAAC,CAAC;IACrC,CAAC;IAAA,IAAApB,gBAAA,CAAA3D,OAAA,mBAES,CAACgF,eAAe,EAAEC,cAAc,KAAK;MAC7C,IAAI,CAACC,QAAQ,CAAC;QACZtB,OAAO,EAAE;UACPC,IAAI,EAAE,IAAI;UACVsB,IAAI,EAAE,mFAAmF;UACzFC,OAAO,EAAEA,CAAA,KAAM;YACb,IAAI,CAACF,QAAQ,CAAC;cAAEtB,OAAO,EAAE;gBAAEC,IAAI,EAAE;cAAM;YAAE,CAAC,EAAEoB,cAAc,CAAC;UAC7D,CAAC;UACDI,SAAS,EAAEA,CAAA,KAAM;YACf,IAAI,CAACH,QAAQ,CAAC;cAAEtB,OAAO,EAAE;gBAAEC,IAAI,EAAE;cAAM;YAAE,CAAC,EAAEmB,eAAe,CAAC;UAC9D;QACF;MACF,CAAC,CAAC;IACJ,CAAC;IAAA,IAAArB,gBAAA,CAAA3D,OAAA,qCAE2B,CAACsF,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAEC,YAAY,EAAEC,QAAQ,KAAK;MACzE,MAAM;QAAEC;MAAgB,CAAC,GAAG,IAAI,CAACC,KAAK;MACtC,MAAMvB,KAAK,GAAGiB,IAAI,CAACO,KAAK,CAACxB,KAAK;MAC9B,MAAMyB,cAAc,GAAGH,eAAe,CAACtB,KAAK,CAAC,IAAI,EAAE;MACnD,MAAM0B,UAAU,GAAGD,cAAc,CAACE,MAAM,GAAG,CAAC,IAAI,CAACF,cAAc,CAACG,IAAI,CAAEC,CAAC,IAAKA,CAAC,CAACC,OAAO,CAAC;MAEtF,IAAI,CAACJ,UAAU,EAAE;QACfN,YAAY,CAAC,CAAC;QACd;MACF;MAEAD,MAAM,CAACY,+BAA+B,GAAG/B,KAAK;MAE9C,IAAI,CAACgC,OAAO,CACV,MAAM;QACJ,OAAOb,MAAM,CAACY,+BAA+B;QAC7C,IAAAE,+CAA2B,EAACd,MAAM,EAAEnB,KAAK,EAAEkB,GAAG,CAAC;QAC/CE,YAAY,CAAC,CAAC;MAChB,CAAC,EACDC,QACF,CAAC;IACH,CAAC;IAAA,IAAA/B,gBAAA,CAAA3D,OAAA,oBAEWuG,MAAM,IAAK;MACrB,MAAM;QAAEZ;MAAgB,CAAC,GAAG,IAAI,CAACC,KAAK;MACtC,MAAMY,SAAS,GAAGzD,qBAAqB,CAACwD,MAAM,CAAC;MAC/C,MAAME,YAAY,GAAGD,SAAS,CAACE,gBAAgB,CAAC,+BAA+B,CAAC;MAChF,MAAMC,UAAU,GAAG,CAAC,CAAC;MAErBF,YAAY,CAACG,OAAO,CAAEC,EAAE,IAAK;QAC3BF,UAAU,CAACE,EAAE,CAACC,OAAO,CAACzC,KAAK,CAAC,GAAGwC,EAAE,CAACC,OAAO,CAAClC,KAAK,IAAI,EAAE;MACvD,CAAC,CAAC;MAEF,MAAMmC,uBAAuB,GAAG,IAAAC,gBAAM,EACpCrB,eAAe,EACf,CAACsB,GAAG,EAAEzC,OAAO,EAAE0C,GAAG,KAAK;QACrB,IAAI,CAAC,IAAAC,qBAAW,EAACR,UAAU,CAACO,GAAG,CAAC,CAAC,EAAE;UACjCD,GAAG,CAACC,GAAG,CAAC,GAAGvB,eAAe,CAACuB,GAAG,CAAC;QACjC;QAEA,OAAOD,GAAG;MACZ,CAAC,EACD,CAAC,CACH,CAAC;MAED,MAAMG,kBAAkB,GAAG,CAAC,CAAC;MAE7BX,YAAY,CAACG,OAAO,CAAC,CAACC,EAAE,EAAExC,KAAK,KAAK;QAClC,MAAMG,OAAO,GAAGuC,uBAAuB,CAACF,EAAE,CAACC,OAAO,CAACzC,KAAK,CAAC;QAEzD,IAAIG,OAAO,EAAE;UACX4C,kBAAkB,CAAC/C,KAAK,CAAC,GAAGG,OAAO;QACrC;QAEAqC,EAAE,CAACC,OAAO,CAACzC,KAAK,GAAGA,KAAK;MAC1B,CAAC,CAAC;MAEF,IAAI,CAACF,aAAa,CAAC;QACjBK,OAAO,EAAE,IAAA6C,mBAAS,EAACD,kBAAkB,CAAC;QACtCrC,WAAW,EAAEyB,SAAS,CAACpD;MACzB,CAAC,CAAC;IACJ,CAAC;IAAA,IAAAO,gBAAA,CAAA3D,OAAA,uBAEa,CAACqE,KAAK,EAAEM,KAAK,EAAE2C,WAAW,KAAK;MAC3C,MAAM;QAAE3B;MAAgB,CAAC,GAAG,IAAI,CAACC,KAAK;MACtC,MAAM;QAAE2B;MAAuB,CAAC,GAAG,IAAI,CAACxD,KAAK,CAACyD,aAAa;MAE3D,MAAMC,WAAW,GAAIC,OAAO,IAC1B,IAAI,CAACxC,QAAQ,CAAC;QACZtB,OAAO,EAAE;UACPC,IAAI,EAAE,IAAI;UACVsB,IAAI,EAAEuC,OAAO;UACbtC,OAAO,EAAEuC,SAAS;UAClBtC,SAAS,EAAEA,CAAA,KAAM;YACf,IAAI,CAACH,QAAQ,CAAC;cAAEtB,OAAO,EAAE;gBAAEC,IAAI,EAAE;cAAM;YAAE,CAAC,CAAC;UAC7C;QACF;MACF,CAAC,CAAC;MAEJ,IAAI8B,eAAe,CAACtB,KAAK,CAAC,IAAIsB,eAAe,CAACtB,KAAK,CAAC,CAAC2B,MAAM,IAAIuB,sBAAsB,EAAE;QACrFE,WAAW,CAAC,kBAAkBF,sBAAsB,8BAA8B,CAAC;QACnF;MACF;MAEA,IAAI,CAAC5B,eAAe,CAACtB,KAAK,CAAC,EAAE;QAC3BsB,eAAe,CAACtB,KAAK,CAAC,GAAG,EAAE;MAC7B;;MAIA;MACA,IAAI,CAACsB,eAAe,CAACtB,KAAK,CAAC,IAAI,EAAE,EAAE4B,IAAI,CAAC,CAACxG,CAAC,EAAEmI,GAAG,KAAKnI,CAAC,CAACkF,KAAK,KAAKA,KAAK,IAAIiD,GAAG,KAAKN,WAAW,CAAC,EAAE;QAC7FG,WAAW,CAAC,oCAAoC,CAAC;QACjD;MACF;MAEA,IAAIH,WAAW,IAAI,CAAC,IAAI3B,eAAe,CAACtB,KAAK,CAAC,GAAGiD,WAAW,CAAC,EAAE;QAC7D;QACA3B,eAAe,CAACtB,KAAK,CAAC,CAACiD,WAAW,CAAC,CAAC3C,KAAK,GAAGA,KAAK;MACnD,CAAC,MAAM;QACL;QACA,MAAMC,KAAK,GACRe,eAAe,CAACtB,KAAK,CAAC,IACrB,IAAAwD,aAAG,EAAClC,eAAe,CAACtB,KAAK,CAAC,CAACyD,GAAG,CAAE5B,CAAC,IAAK6B,QAAQ,CAAC7B,CAAC,CAACtB,KAAK,CAAC,CAAC,CAACoD,MAAM,CAAEC,GAAG,IAAK,CAACC,KAAK,CAACD,GAAG,CAAC,CAAC,CAAC,IACxF,CAAC;QAEHtC,eAAe,CAACtB,KAAK,CAAC,CAAC8D,IAAI,CAAC;UAC1BxD,KAAK;UACLC,KAAK,EAAE,GAAGA,KAAK,GAAG,CAAC,EAAE;UACrBuB,OAAO,EAAE;QACX,CAAC,CAAC;MACJ;MAEA,IAAI,CAAChC,aAAa,CAAC;QAAEK,OAAO,EAAE,IAAA6C,mBAAS,EAAC1B,eAAe;MAAE,CAAC,CAAC;IAC7D,CAAC;IAAA,IAAAhC,gBAAA,CAAA3D,OAAA,0BAEgB,CAACoI,SAAS,EAAE/D,KAAK,KAAK;MACrC,MAAM;QAAEsB;MAAgB,CAAC,GAAG,IAAI,CAACC,KAAK;MAEtCD,eAAe,CAACyC,SAAS,CAAC,CAACvD,MAAM,CAACR,KAAK,EAAE,CAAC,CAAC;MAE3C,IAAI,CAACF,aAAa,CAAC;QAAEK,OAAO,EAAE,IAAA6C,mBAAS,EAAC1B,eAAe;MAAE,CAAC,CAAC;IAC7D,CAAC;IAAA,IAAAhC,gBAAA,CAAA3D,OAAA,0BAEgB,CAACoI,SAAS,EAAEC,aAAa,KAAK;MAC7C,MAAM;QAAE1C;MAAgB,CAAC,GAAG,IAAI,CAACC,KAAK;MAEtCD,eAAe,CAACyC,SAAS,CAAC,GAAGzC,eAAe,CAACyC,SAAS,CAAC,CAACN,GAAG,CAAC,CAACxD,MAAM,EAAED,KAAK,MAAM;QAC9E,GAAGC,MAAM;QACT6B,OAAO,EAAE9B,KAAK,KAAKgE;MACrB,CAAC,CAAC,CAAC;MAEH,IAAI,CAAClE,aAAa,CAAC;QAAEK,OAAO,EAAE,IAAA6C,mBAAS,EAAC1B,eAAe;MAAE,CAAC,CAAC;IAC7D,CAAC;EAAA;EAlND2C,iBAAiBA,CAAA,EAAG;IAClB,MAAM;MACJrE,KAAK,EAAE;QAAEO;MAAQ;IACnB,CAAC,GAAG,IAAI,CAACT,KAAK;IAEd,IAAI,CAACmB,QAAQ,CAAC;MAAES,eAAe,EAAE,IAAA0B,mBAAS,EAAC7C,OAAO;IAAE,CAAC,CAAC;EACxD;EAEA+D,gCAAgCA,CAACC,MAAM,EAAE;IACvC,MAAMC,QAAQ,GAAG,CAAC,CAAC;IAEnB,IACE,CAAC,IAAAC,iBAAO,EAACF,MAAM,CAACvE,KAAK,CAACO,OAAO,EAAE,IAAI,CAACT,KAAK,CAACE,KAAK,CAACO,OAAO,CAAC,IACxD,CAAC,IAAAkE,iBAAO,EAACF,MAAM,CAACvE,KAAK,CAACO,OAAO,EAAE,IAAI,CAACoB,KAAK,CAACD,eAAe,CAAC,EAC1D;MACA8C,QAAQ,CAAC9C,eAAe,GAAG,IAAA0B,mBAAS,EAACmB,MAAM,CAACvE,KAAK,CAACO,OAAO,CAAC;IAC5D;IAEA,IAAI,CAAC,IAAAmE,iBAAO,EAACF,QAAQ,CAAC,EAAE;MACtB,IAAI,CAACvD,QAAQ,CAACuD,QAAQ,CAAC;IACzB;EACF;EAEAG,kBAAkBA,CAAA,EAAG;IACnB;IACA,MAAMC,OAAO,GAAGC,iBAAQ,CAACC,WAAW,CAAC,IAAI,CAAC;IAE1C,IAAAC,yBAAU,EAACH,OAAO,CAAC;EACrB;EAwLAI,MAAMA,CAAA,EAAG;IACP,MAAM;MAAErF;IAAQ,CAAC,GAAG,IAAI,CAACgC,KAAK;IAC9B,MAAM;MAAE3B,KAAK;MAAEuD,aAAa;MAAE0B,sBAAsB;MAAEC,YAAY;MAAEC;IAAmB,CAAC,GAAG,IAAI,CAACrF,KAAK;IACrG,MAAM;MACJsF,sBAAsB,GAAG,CAAC,CAAC;MAC3BC,eAAe,GAAG,CAAC,CAAC;MACpBC,iBAAiB,GAAG,CAAC,CAAC;MACtBC,eAAe,GAAG,CAAC,CAAC;MACpBC,gBAAgB;MAChBC,aAAa,GAAG,CAAC,CAAC;MAClBC,cAAc,GAAG,CAAC,CAAC;MACnBC,cAAc,GAAG,CAAC,CAAC;MACnB1F,MAAM,GAAG,CAAC,CAAC;MACXE,SAAS,GAAG,CAAC,CAAC;MACdyF,qBAAqB;MACrBC,UAAU,GAAG,CAAC,CAAC;MACfhF,mBAAmB,GAAG,CAAC,CAAC;MACxBiF,QAAQ,GAAG,CAAC,CAAC;MACbC,UAAU,GAAG,CAAC,CAAC;MACfC,aAAa,GAAG,CAAC,CAAC;MAClBC,QAAQ,GAAG,CAAC,CAAC;MACbC,eAAe,GAAG,CAAC,CAAC;MACpBC,8BAA8B,GAAG,CAAC;IACpC,CAAC,GAAG5C,aAAa,IAAI,CAAC,CAAC;IAEvB,MAAM;MACJ6C,sBAAsB;MACtB7F,OAAO;MACP8F,MAAM;MACNC,aAAa;MACbC,aAAa;MACbC,gBAAgB;MAChBC,iBAAiB;MACjBC,0BAA0B;MAC1BC;IACF,CAAC,GAAG3G,KAAK,IAAI,CAAC,CAAC;IACf,MAAM;MACJC,MAAM,EAAE2G,WAAW;MACnBzG,SAAS,EAAE0G,cAAc;MACzBC,kBAAkB;MAClBC,wBAAwB;MACxBlG,mBAAmB,EAAEmG;IACvB,CAAC,GAAGX,MAAM,IAAI,CAAC,CAAC;IAEhB,MAAMY,oBAAoB,GAAGxB,aAAa,IAAIA,aAAa,CAACxF,MAAM;IAClE,MAAMiH,qBAAqB,GAAGxB,cAAc,IAAIA,cAAc,CAACzF,MAAM;IAErE,MAAMkH,qBAAqB,GAAGA,CAAA,KAC5B,CAAC9K,MAAM,CAAC+K,IAAI,CAAC7G,OAAO,CAAC,IAAI,EAAE,EAAEsD,GAAG,CAAC,CAACZ,GAAG,EAAE7C,KAAK,kBAC1CrG,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAChB,gBAAgB;MAAC+E,GAAG,EAAEA;IAAI,gBACzBlJ,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACrE,UAAA,CAAAkB,OAAS;MAACsL,SAAS,EAAE;QAAEC,UAAU,EAAE;UAAEC,OAAO,EAAE;YAAEC,KAAK,EAAE,GAAG;YAAEC,IAAI,EAAE;UAAI;QAAE;MAAE;IAAE,gBAC3E1N,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACpE,iBAAA,CAAAiB,OAAgB;MAAC2L,UAAU,eAAE3N,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAClE,WAAA,CAAAe,OAAc,MAAE;IAAE,gBAC/ChC,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC7B,gBAAgB;MAACsK,SAAS,EAAE;IAAM,GAAE,gCAAgCvH,KAAK,GAAG,CAAC,EAAqB,CACnF,CAAC,eAEnBrG,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACf,sBAAsB,QACpB,CAACoC,OAAO,CAAC0C,GAAG,CAAC,IAAI,EAAE,EAAEY,GAAG,CAAExD,MAAM,iBAC/BtG,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACnF,MAAA,CAAAgC,OAAK,CAAC6L,QAAQ;MAAC3E,GAAG,EAAE5C,MAAM,CAACK;IAAM,gBAChC3G,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACxB,cAAc;MACbmK,uBAAuB,EAAE;QACvBC,MAAM,EAAE,GAAG3H,SAAS,CAACO,KAAK,QAAQL,MAAM,CAACK,KAAK,KAAKL,MAAM,CAAC6B,OAAO,GAAG,SAAS,GAAG,WAAW;MAC7F;IAAE,CACH,CAAC,eACFnI,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC9B,qBAAqB,qBACpBrD,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC9E,mBAAA,CAAA2B,OAAY;MACXuG,MAAM,EAAEjC,MAAM,CAACF,SAAS,IAAI,EAAG;MAC/B0F,UAAU,EAAEY,iBAAkB;MAC9BsB,WAAW,EAAEC,cAAc,CAAC7H,SAAS,EAAE8H,kBAAkB,CAAE;MAC3DC,QAAQ,EAAGjG,CAAC,IAAK,IAAI,CAACkG,wBAAwB,CAAClF,GAAG,EAAE;QAAE,GAAG5C,MAAM;QAAEF,SAAS,EAAE8B;MAAE,CAAC,CAAE;MACjFiD,YAAY,EAAEA,YAAa;MAC3BO,aAAa,EAAGA,aAAa,IAAIA,aAAa,CAACtF,SAAS,IAAK8G,oBAAqB;MAClFvB,cAAc,EAAGA,cAAc,IAAIA,cAAc,CAACvF,SAAS,IAAK+G,qBAAsB;MACtF/B,kBAAkB,EAAEA,kBAAmB;MACvCa,aAAa,EAAEA;IAAc,CAC9B,CACoB,CACT,CACjB,CACqB,CACf,CACK,CACnB,CAAC;IAEJ,MAAMoC,WAAW,GAAG;MAClBC,QAAQ,EAAE1B,qBAAqB,KAAK,KAAK,GAAG,KAAK,GAAG;IACtD,CAAC;IAED,MAAM2B,iBAAiB,GAAG,IAAAC,gCAAyB,EAAChF,aAAa,CAAC;IAElE,MAAMiF,aAAa,GAAG;MACpB7C,cAAc,EAAEA,cAAc,CAAChJ,QAAQ,IAAIH,MAAM,CAACmJ,cAAc,CAACjF,KAAK,CAAC;MACvE6E,eAAe,EAAEA,eAAe,CAAC5I,QAAQ,IAAIH,MAAM,CAAC+I,eAAe,CAAC7E,KAAK,CAAC;MAC1E,kBAAkB,EAAEuF,QAAQ,CAACtJ,QAAQ,IAAIH,MAAM,CAACyJ,QAAQ,CAACvF,KAAK,EAAE,IAAI,CAAC;MACrEuF,QAAQ,EAAEA,QAAQ,CAACtJ,QAAQ,IAAIsJ,QAAQ,CAACwC,OAAO,IAAI/L,QAAQ,CAACwJ,eAAe,CAACxF,KAAK,EAAEwF,eAAe,CAACwC,OAAO;IAC5G,CAAC;IACD,MAAMC,eAAe,GAAG;MACtBjC,0BAA0B,EAAE7F,mBAAmB,CAAClE,QAAQ,IAAIH,MAAM,CAACqE,mBAAmB,CAACH,KAAK,CAAC;MAC7F8F,gBAAgB,EAAErG,SAAS,CAACxD,QAAQ,IAAIH,MAAM,CAAC2D,SAAS,CAACO,KAAK,CAAC;MAC/D0F,sBAAsB,EAAEf,eAAe,CAAC1I,QAAQ,IAAIH,MAAM,CAAC6I,eAAe,CAAC3E,KAAK,CAAC;MACjF6F,aAAa,EAAEtG,MAAM,CAACtD,QAAQ,IAAIH,MAAM,CAACyD,MAAM,CAACS,KAAK,CAAC;MACtD+F,iBAAiB,EAAEZ,UAAU,CAAClJ,QAAQ,IAAIH,MAAM,CAACqJ,UAAU,CAACnF,KAAK,CAAC;MAClEkI,aAAa,EAAE7C,UAAU,EAAEpJ,QAAQ,IAAIH,MAAM,CAACuJ,UAAU,EAAErF,KAAK;IACjE,CAAC;IACD,MAAMsH,cAAc,GAAGA,CAAClI,KAAK,GAAG,CAAC,CAAC,MAAM;MACtC,GAAGsF,sBAAsB;MACzB,GAAGtF;IACL,CAAC,CAAC;IAEF,oBACE/F,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC5E,SAAA,CAAAuO,MAAM,CAACC,YAAY;MAClBxC,aAAa,EAAE;QACbyC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;QACtBC,KAAK,EAAE;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;MACQ,CAAE;MACFC,UAAU,EAAE3D,iBAAkB;MAC9B4D,YAAY,EAAEtD,qBAAsB;MACpCjJ,QAAQ,eACN5C,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACzC,KAAK;QACJuD,KAAK,EAAEA,KAAM;QACbuD,aAAa,EAAEA,aAAc;QAC7B4F,aAAa,EAAGnJ,KAAK,IAAK,IAAI,CAACE,aAAa,CAACF,KAAK,CAAE;QACpDoJ,qBAAqB,EAAG7F,aAAa,IAAK0B,sBAAsB,CAAC1B,aAAa,EAAE,IAAI,CAAE;QACtF8F,MAAM,EAAE;UACNC,QAAQ,EAAEd,aAAa;UACvBe,UAAU,EAAEZ;QACd;MAAE,CACH;IACF,GAEAjC,0BAA0B,iBACzB3M,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACtC,YAAY;MAAC8D,KAAK,EAAEG,mBAAmB,CAACH;IAAM,gBAC7C3G,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC9E,mBAAA,CAAA2B,OAAY;MACXuG,MAAM,EAAEtC,KAAK,CAACa,mBAAmB,IAAI,EAAG;MACxCqH,QAAQ,EAAE,IAAI,CAACsB,4BAA6B;MAC5CtE,YAAY,EAAEA,YAAa;MAC3BuE,QAAQ,EAAE,KAAM;MAChB7K,KAAK,EAAEoI,wBAAyB;MAChCoB,WAAW,EAAEA,WAAY;MACzBL,WAAW,EAAEC,cAAc,CAACnH,mBAAmB,EAAEoH,kBAAkB,CAAE;MACrEpC,UAAU,EAAEY,iBAAkB;MAC9BhB,aAAa,EAAGA,aAAa,IAAIA,aAAa,CAAC5E,mBAAmB,IAAKoG,oBAAqB;MAC5FvB,cAAc,EAAGA,cAAc,IAAIA,cAAc,CAAC7E,mBAAmB,IAAKqG,qBAAsB;MAChG/B,kBAAkB,EAAEA,kBAAmB;MACvCuE,uBAAuB,EAAE,CAAC;QAAEzD,QAAQ,EAAE;MAAU,CAAC,EAAE;QAAEA,QAAQ,EAAE;MAAU,CAAC,CAAE;MAC5ED,aAAa,EAAEA;IAAc,CAC9B,CAAC,EACDgB,wBAAwB,iBAAIjN,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACR,SAAS,QAAEsI,wBAAoC,CACjE,CACf,EAEAT,aAAa,iBACZxM,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACtC,YAAY;MAAC8D,KAAK,EAAET,MAAM,CAACS;IAAM,gBAChC3G,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC9E,mBAAA,CAAA2B,OAAY;MACXuG,MAAM,EAAEtC,KAAK,CAACC,MAAO;MACrBiI,QAAQ,EAAE,IAAI,CAACyB,eAAgB;MAC/BzE,YAAY,EAAEA,YAAa;MAC3BuE,QAAQ,EAAE,KAAM;MAChBG,gBAAgB;MAChBhL,KAAK,EAAEgI,WAAY;MACnBwB,WAAW,EAAEA,WAAY;MACzBL,WAAW,EAAEC,cAAc,CAAC/H,MAAM,EAAEgI,kBAAkB,CAAE;MACxDpC,UAAU,EAAEY,iBAAkB;MAC9BhB,aAAa,EAAEwB,oBAAqB;MACpCvB,cAAc,EAAEwB,qBAAsB;MACtC/B,kBAAkB,EAAEA,kBAAmB;MACvCuE,uBAAuB,EAAE,CAAC;QAAEzD,QAAQ,EAAE;MAAU,CAAC,EAAE;QAAEA,QAAQ,EAAE;MAAU,CAAC,CAAE;MAC5ED,aAAa,EAAEA;IAAc,CAC9B,CAAC,EACDY,WAAW,iBAAI7M,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACR,SAAS,QAAEkI,WAAuB,CACvC,CACf,eAED7M,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACZ,aAAa,qBACZvE,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC7B,gBAAgB;MAACsK,SAAS,EAAE;IAAM,GAAC,iDAAiE,CAAC,eACtG5N,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACX,aAAa;MAACsL,oBAAoB;MAACC,oBAAoB;MAACC,SAAS,EAAE,OAAQ;MAACC,KAAK,EAAE1B;IAAkB,gBACpGvO,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACjE,KAAA,CAAAc,OAAI;MAACwB,QAAQ,EAAE,OAAQ;MAACO,KAAK,EAAE;IAAU,CAAE,CAC/B,CACF,CAAC,eAEhB/D,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC9D,aAAA,CAAAW,OAAqB;MACpB+K,kBAAkB,EAAEA,kBAAmB;MACvCC,wBAAwB,EAAEA,wBAAyB;MACnDkD,iBAAiB,EAAE;QACjBlC,WAAW,EAAEC,cAAc,CAAClC,QAAQ,EAAEmC,kBAAkB,CAAC;QACzDiC,aAAa,EAAEC,+BAAW;QAC1B/B,WAAW,EAAE;UAAEC,QAAQ,EAAE;QAAM,CAAC;QAChC/B,aAAa,EAAE;UACbyC,KAAK,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC;UACtBC,KAAK,EAAE;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;QACY,CAAC;QACDoB,iBAAiB,EAAE;UACjBC,IAAI,EAAE,iBAAiB;UACvB3B,OAAO,EAAE;YACP4B,UAAU,EAAE;UACd,CAAC;UACD9E,gBAAgB,EAAEA,gBAAgB;UAClC+E,qBAAqB,EAAEA,CAAC,CAAClJ,IAAI,EAAEC,GAAG,CAAC,EAAEC,MAAM,EAAEC,YAAY,EAAEC,QAAQ,KAAK;YACtE,IAAI,CAAC+I,yBAAyB,CAACnJ,IAAI,EAAEC,GAAG,EAAEC,MAAM,EAAEC,YAAY,EAAEC,QAAQ,CAAC;UAC3E,CAAC;UACDgJ,eAAe,EAAEA,CAACC,QAAQ,EAAEnJ,MAAM,EAAEC,YAAY,KAAK;YACnD,MAAM,CAACH,IAAI,EAAEC,GAAG,CAAC,GAAGoJ,QAAQ;YAC5B,MAAM;cAAEhJ;YAAgB,CAAC,GAAG,IAAI,CAACC,KAAK;YAEtC,OAAQ7B,KAAK,iBACX/F,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAChE,sBAAA,CAAAa,OAAqB,MAAA4O,SAAA,CAAA5O,OAAA,MAChB+D,KAAK;cACT8K,WAAW,EAAE,IAAI,CAACA,WAAY;cAC9BC,cAAc,EAAGzK,KAAK,IAAK,IAAI,CAACyK,cAAc,CAACxJ,IAAI,CAACO,KAAK,CAACxB,KAAK,EAAEA,KAAK,CAAE;cACxE0K,cAAc,EAAG1K,KAAK,IAAK,IAAI,CAAC0K,cAAc,CAACzJ,IAAI,CAACO,KAAK,CAACxB,KAAK,EAAEA,KAAK,CAAE;cACxEiB,IAAI,EAAEA,IAAK;cACXC,GAAG,EAAEA,GAAI;cACTC,MAAM,EAAEA,MAAO;cACfwJ,aAAa,EAAEvJ,YAAa;cAC5BjB,OAAO,EAAEmB,eAAe,CAACL,IAAI,CAACO,KAAK,CAACxB,KAAK,CAAE;cAC3CyF,UAAU,EAAEY,iBAAkB;cAC9BtB,kBAAkB,EAAEA,kBAAmB;cACvCa,aAAa,EAAEA,aAAc;cAC7BZ,sBAAsB,EAAEA,sBAAuB;cAC/Ce,8BAA8B,EAAEA;YAA+B,EAChE,CACF;UACH;QACF,CAAC;QACDN,UAAU,EAAEY,iBAAiB;QAC7BnE,MAAM,EAAEtC,KAAK,CAACc,WAAW,IAAI,EAAE;QAC/BoH,QAAQ,EAAE,IAAI,CAACA,QAAQ;QACvBhD,YAAY,EAAEA,YAAY;QAC1B8F,4BAA4B,EAAE,IAAI;QAClCjN,QAAQ,EAAE,KAAK;QACfkN,cAAc,EAAE,KAAK;QACrBrM,KAAK,EAAEkI,kBAAkB;QACzB3B,kBAAkB,EAAEA,kBAAkB;QACtCuE,uBAAuB,EAAE,CAAC;UAAEzD,QAAQ,EAAE;QAAU,CAAC,EAAE;UAAEA,QAAQ,EAAE;QAAU,CAAC,CAAC;QAC3ED,aAAa,EAAEA;MACjB;IAAE,CACH,CAAC,EAEDI,sBAAsB,IAAIe,qBAAqB,CAAC,CAAC,EAEjDX,gBAAgB,iBACfzM,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACtC,YAAY;MAAC8D,KAAK,EAAEP,SAAS,CAACO;IAAM,gBACnC3G,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC9E,mBAAA,CAAA2B,OAAY;MACXuG,MAAM,EAAEtC,KAAK,CAACG,SAAS,IAAI,EAAG;MAC9B+H,QAAQ,EAAE,IAAI,CAACgD,kBAAmB;MAClChG,YAAY,EAAEA,YAAa;MAC3BtG,KAAK,EAAEiI,cAAe;MACtBuB,WAAW,EAAEA,WAAY;MACzBL,WAAW,EAAEC,cAAc,CAAC7H,SAAS,EAAE8H,kBAAkB,CAAE;MAC3DpC,UAAU,EAAEY,iBAAkB;MAC9BhB,aAAa,EAAGA,aAAa,IAAIA,aAAa,CAACtF,SAAS,IAAK8G,oBAAqB;MAClFvB,cAAc,EAAGA,cAAc,IAAIA,cAAc,CAACvF,SAAS,IAAK+G,qBAAsB;MACtF/B,kBAAkB,EAAEA,kBAAmB;MACvCuE,uBAAuB,EAAE,CAAC;QAAEzD,QAAQ,EAAE;MAAU,CAAC,EAAE;QAAEA,QAAQ,EAAE;MAAU,CAAC,CAAE;MAC5ED,aAAa,EAAEA;IAAc,CAC9B,CAAC,EACDa,cAAc,iBAAI9M,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAACR,SAAS,QAAEmI,cAA0B,CAC7C,CACf,eAED9M,MAAA,CAAAgC,OAAA,CAAAmD,aAAA,CAAC5E,SAAA,CAAA6Q,WAAW;MACVvL,IAAI,EAAED,OAAO,CAACC,IAAK;MACnBoK,KAAK,EAAC,SAAS;MACf9I,IAAI,EAAEvB,OAAO,CAACuB,IAAK;MACnBC,OAAO,EAAExB,OAAO,CAACwB,OAAQ;MACzBC,SAAS,EAAEzB,OAAO,CAACyB,SAAU;MAC7BgK,gBAAgB,EAAE,IAAK;MACvBC,mBAAmB,EAAE,IAAK;MAC1BC,mBAAmB,EAAE;IAAK,CAC3B,CACkB,CAAC;EAE1B;AACF;AAACC,OAAA,CAAAlM,IAAA,GAAAA,IAAA;AAAA,IAAAK,gBAAA,CAAA3D,OAAA,EAzgBYsD,IAAI,eACI;EACjBkE,aAAa,EAAEiI,kBAAS,CAACC,MAAM,CAACC,UAAU;EAC1C1L,KAAK,EAAEwL,kBAAS,CAACC,MAAM,CAACC,UAAU;EAClCC,gBAAgB,EAAEH,kBAAS,CAACI,IAAI;EAChC7L,cAAc,EAAEyL,kBAAS,CAACK,IAAI,CAACH,UAAU;EACzCzG,sBAAsB,EAAEuG,kBAAS,CAACK,IAAI,CAACH,UAAU;EACjDxG,YAAY,EAAEsG,kBAAS,CAACM,KAAK,CAAC;IAC5BC,GAAG,EAAEP,kBAAS,CAACK,IAAI,CAACH,UAAU;IAC9BM,MAAM,EAAER,kBAAS,CAACK,IAAI,CAACH;EACzB,CAAC,CAAC;EACFvG,kBAAkB,EAAEqG,kBAAS,CAACM,KAAK,CAAC;IAClCC,GAAG,EAAEP,kBAAS,CAACK,IAAI,CAACH,UAAU;IAC9BM,MAAM,EAAER,kBAAS,CAACK,IAAI,CAACH;EACzB,CAAC;AACH,CAAC;AAAA,IAAAO,QAAA,GAAAV,OAAA,CAAAxP,OAAA,GA4fYsD,IAAI","ignoreList":[]}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.removeUnwantedCharacters = exports.processMarkup = exports.createSlateMarkup = exports.createElementFromHTML = void 0;
|
|
7
|
+
var _lodashEs = require("lodash-es");
|
|
8
|
+
// do not remove \t from \times, \triangle, \tan, \theta or \therefore
|
|
9
|
+
const tSymbols = 'imes|riangle|an|heta|herefore';
|
|
10
|
+
// do not remove \n from \nthroot, \nparallel, \ncong, \napprox, \neq, \ne or \nsim
|
|
11
|
+
const nSymbols = 'throot|parallel|cong|approx|eq|e|sim';
|
|
12
|
+
// match all \t and \n that are not part of math symbols that starts with \t or \n
|
|
13
|
+
const matchTabAndNewLine = new RegExp(`(\\t(?!${tSymbols}))|(\\n(?!${nSymbols}))|(\\\\t(?!${tSymbols}))|(\\\\n(?!${nSymbols}))`, 'g');
|
|
14
|
+
const removeUnwantedCharacters = markup => markup.replace(matchTabAndNewLine, '').replace(/\\"/g, '"').replace(/\\\//g, '/');
|
|
15
|
+
exports.removeUnwantedCharacters = removeUnwantedCharacters;
|
|
16
|
+
const createElementFromHTML = htmlString => {
|
|
17
|
+
const div = document.createElement('div');
|
|
18
|
+
div.innerHTML = htmlString.trim();
|
|
19
|
+
return div;
|
|
20
|
+
};
|
|
21
|
+
exports.createElementFromHTML = createElementFromHTML;
|
|
22
|
+
const processMarkup = markup => {
|
|
23
|
+
const newMarkup = removeUnwantedCharacters(markup);
|
|
24
|
+
const slateMarkup = createElementFromHTML(newMarkup);
|
|
25
|
+
slateMarkup.querySelectorAll('[data-type="inline_dropdown"]').forEach(s => {
|
|
26
|
+
s.replaceWith(`{{${s.dataset.index}}}`);
|
|
27
|
+
});
|
|
28
|
+
return slateMarkup.innerHTML;
|
|
29
|
+
};
|
|
30
|
+
exports.processMarkup = processMarkup;
|
|
31
|
+
const REGEX = /\{\{(\d+)\}\}/g;
|
|
32
|
+
const createSlateMarkup = (markup, choices) => {
|
|
33
|
+
const newMarkup = removeUnwantedCharacters(markup);
|
|
34
|
+
const createSelect = index => {
|
|
35
|
+
let correctChoice = choices[index] && choices[index].find(c => c.correct);
|
|
36
|
+
if (!correctChoice || !correctChoice.value) {
|
|
37
|
+
correctChoice = {
|
|
38
|
+
id: '',
|
|
39
|
+
value: '',
|
|
40
|
+
label: ''
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
return `<span data-type="inline_dropdown" data-index="${index}" data-value="${(0, _lodashEs.escape)(correctChoice.label)}"></span>`;
|
|
44
|
+
};
|
|
45
|
+
return newMarkup.replace(REGEX, (match, g) => {
|
|
46
|
+
return createSelect(g);
|
|
47
|
+
});
|
|
48
|
+
};
|
|
49
|
+
exports.createSlateMarkup = createSlateMarkup;
|
|
50
|
+
//# sourceMappingURL=markupUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markupUtils.js","names":["_lodashEs","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-es';\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,SAAA,GAAAC,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,gBAAM,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":[]}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
|
|
14
|
+
var _mathRendering = require("@pie-lib/math-rendering");
|
|
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);
|
|
32
|
+
}
|
|
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(_editableHtmlTipTap.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
|
|
46
|
+
});
|
|
47
|
+
var _default = exports.default = ResponseAreaComponent;
|
|
48
|
+
//# sourceMappingURL=response-area.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-area.js","names":["_react","_interopRequireDefault","require","_reactDom","_propTypes","_styles","_editableHtmlTipTap","_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-tip-tap';\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,mBAAA,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,mBAAA,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":[]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.getPluginProps = exports.generateValidationMessage = void 0;
|
|
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;
|
|
14
|
+
return message;
|
|
15
|
+
};
|
|
16
|
+
exports.generateValidationMessage = generateValidationMessage;
|
|
17
|
+
const getPluginProps = (props = {}, baseInputConfiguration = {}) => ({
|
|
18
|
+
...baseInputConfiguration,
|
|
19
|
+
...props
|
|
20
|
+
});
|
|
21
|
+
exports.getPluginProps = getPluginProps;
|
|
22
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@pie-element/inline-dropdown-configure",
|
|
3
|
+
"version": "9.1.2",
|
|
4
|
+
"private": true,
|
|
5
|
+
"main": "lib/index.js",
|
|
6
|
+
"module": "src/index.js",
|
|
7
|
+
"dependencies": {
|
|
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",
|
|
12
|
+
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
13
|
+
"@pie-lib/config-ui": "13.0.6",
|
|
14
|
+
"@pie-lib/editable-html-tip-tap": "2.1.4",
|
|
15
|
+
"@pie-lib/math-rendering": "5.0.2",
|
|
16
|
+
"@pie-lib/render-ui": "6.1.1",
|
|
17
|
+
"classnames": "^2.2.6",
|
|
18
|
+
"debug": "^4.1.1",
|
|
19
|
+
"lodash-es": "^4.17.23",
|
|
20
|
+
"prop-types": "^15.8.1",
|
|
21
|
+
"react": "18.3.1",
|
|
22
|
+
"react-dom": "18.3.1"
|
|
23
|
+
}
|
|
24
|
+
}
|