@pie-element/ebsr 8.5.1-beta.2 → 8.5.1-beta.4

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":["Panel","settings","toggle","radio","dropdown","styles","theme","part","display","flexDirection","paddingTop","spacing","unit","Main","choices","correctFound","map","choice","correct","model","key","onModelChanged","props","partA","choiceMode","removeExtraChoices","partB","classes","configuration","onConfigurationChanged","partLabelType","modelPartA","modelPartB","partialScoring","settingsPanelDisabled","scoringType","generalConfiguration","feedback","feedbackA","choiceModeA","choicePrefix","choicePrefixA","lockChoiceOrder","lockChoiceOrderA","prompt","promptA","teacherInstructions","teacherInstructionsA","studentInstructions","studentInstructionsA","choicesLayout","choicesLayoutA","gridColumns","gridColumnsA","rationale","rationaleA","spellCheck","spellCheckA","feedbackB","choiceModeB","choicePrefixB","lockChoiceOrderB","promptB","teacherInstructionsB","studentInstructionsB","choicesLayoutB","gridColumnsB","rationaleB","spellCheckB","type","typeIsNumber","firstPart","secondPart","nrOfColumnsAvailable","length","Array","from","_","i","panelSettings","partLabels","label","panelSettingsPartA","panelPropertiesPartA","panelSettingsPartB","panelPropertiesPartB","ref","_model","errors","React","Component","PropTypes","object","func","Styled"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { settings, layout } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst styles = (theme) => ({\n part: {\n display: 'flex',\n flexDirection: 'column',\n '&:not(:first-child)': {\n paddingTop: theme.spacing.unit * 4,\n },\n },\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n configuration: PropTypes.object,\n model: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n };\n\n removeExtraChoices = (choices) => {\n let correctFound = false;\n\n return (choices || []).map((choice) => {\n if (correctFound) {\n choice.correct = false;\n\n return choice;\n }\n\n if (choice.correct) {\n correctFound = true;\n }\n\n return choice;\n });\n };\n\n onModelChanged = (model, key) => {\n const { onModelChanged } = this.props;\n\n if (key === 'partA.choiceMode' && model.partA.choiceMode === 'radio') {\n model.partA.choices = this.removeExtraChoices(model.partA.choices);\n\n return onModelChanged(model, true);\n }\n\n if (key === 'partB.choiceMode' && model.partB.choiceMode === 'radio') {\n model.partB.choices = this.removeExtraChoices(model.partB.choices);\n\n return onModelChanged(model, true);\n }\n\n return onModelChanged(model);\n };\n\n render() {\n const { classes, model, configuration, onConfigurationChanged } = this.props;\n const { partLabelType, partA: modelPartA, partB: modelPartB } = model;\n const { partA, partB, partialScoring, settingsPanelDisabled, scoringType, ...generalConfiguration } = configuration;\n const {\n feedback: feedbackA = {},\n choiceMode: choiceModeA = {},\n choicePrefix: choicePrefixA = {},\n lockChoiceOrder: lockChoiceOrderA = {},\n prompt: promptA = {},\n teacherInstructions: teacherInstructionsA = {},\n studentInstructions: studentInstructionsA = {},\n choicesLayout: choicesLayoutA = {},\n gridColumns: gridColumnsA = {},\n rationale: rationaleA = {},\n spellCheck: spellCheckA = {},\n } = partA || {};\n const {\n feedback: feedbackB = {},\n choiceMode: choiceModeB = {},\n choicePrefix: choicePrefixB = {},\n lockChoiceOrder: lockChoiceOrderB = {},\n prompt: promptB = {},\n teacherInstructions: teacherInstructionsB = {},\n studentInstructions: studentInstructionsB = {},\n choicesLayout: choicesLayoutB = {},\n gridColumns: gridColumnsB = {},\n rationale: rationaleB = {},\n spellCheck: spellCheckB = {},\n } = partB || {};\n\n const type = partLabelType || 'Numbers';\n const typeIsNumber = type === 'Numbers';\n const firstPart = `Part ${typeIsNumber ? '1' : 'A'}`;\n const secondPart = `Part ${typeIsNumber ? '2' : 'B'}`;\n const nrOfColumnsAvailable = {\n partA:\n modelPartA.choices && modelPartA.choices.length\n ? Array.from({ length: modelPartA.choices.length }, (_, i) => `${i + 1}`)\n : [],\n partB:\n modelPartB.choices && modelPartB.choices.length\n ? Array.from({ length: modelPartB.choices.length }, (_, i) => `${i + 1}`)\n : [],\n };\n\n const panelSettings = {\n partLabels: generalConfiguration.partLabels.settings && toggle(generalConfiguration.partLabels.label),\n partLabelType: model.partLabels && dropdown('', ['Numbers', 'Letters']),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n const panelSettingsPartA = {\n 'partA.choiceMode': choiceModeA.settings && radio(choiceModeA.label, ['checkbox', 'radio']),\n 'partA.choicePrefix': choicePrefixA.settings && radio(choicePrefixA.label, ['numbers', 'letters']),\n 'partA.lockChoiceOrder': lockChoiceOrderA.settings && toggle(lockChoiceOrderA.label),\n 'partA.choicesLayout':\n choicesLayoutA.settings && dropdown(choicesLayoutA.label, ['vertical', 'grid', 'horizontal']),\n 'partA.gridColumns':\n choicesLayoutA.settings &&\n modelPartA.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.partA.length > 0 &&\n dropdown(gridColumnsA.label, nrOfColumnsAvailable.partA),\n };\n const panelPropertiesPartA = {\n 'partA.feedbackEnabled': feedbackA.settings && toggle(feedbackA.label),\n 'partA.promptEnabled': promptA.settings && toggle(promptA.label),\n 'partA.teacherInstructionsEnabled': teacherInstructionsA.settings && toggle(teacherInstructionsA.label),\n 'partA.studentInstructionsEnabled': studentInstructionsA.settings && toggle(studentInstructionsA.label),\n 'partA.rationaleEnabled': rationaleA.settings && toggle(rationaleA.label),\n 'partA.spellCheckEnabled': spellCheckA.settings && toggle(spellCheckA.label),\n };\n\n const panelSettingsPartB = {\n 'partB.choiceMode': choiceModeB.settings && radio(choiceModeB.label, ['checkbox', 'radio']),\n 'partB.choicePrefix': choicePrefixB.settings && radio(choicePrefixB.label, ['numbers', 'letters']),\n 'partB.lockChoiceOrder': lockChoiceOrderB.settings && toggle(lockChoiceOrderB.label),\n 'partB.choicesLayout':\n choicesLayoutB.settings && dropdown(choicesLayoutB.label, ['vertical', 'grid', 'horizontal']),\n 'partB.gridColumns':\n choicesLayoutB.settings &&\n modelPartB.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.partB.length > 0 &&\n dropdown(gridColumnsB.label, nrOfColumnsAvailable.partB),\n };\n const panelPropertiesPartB = {\n 'partB.feedbackEnabled': feedbackB.settings && toggle(feedbackB.label),\n 'partB.promptEnabled': promptB.settings && toggle(promptB.label),\n 'partB.teacherInstructionsEnabled': teacherInstructionsB.settings && toggle(teacherInstructionsB.label),\n 'partB.studentInstructionsEnabled': studentInstructionsB.settings && toggle(studentInstructionsB.label),\n 'partB.rationaleEnabled': rationaleB.settings && toggle(rationaleB.label),\n 'partB.spellCheckEnabled': spellCheckB.settings && toggle(spellCheckB.label),\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={this.onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n 'Settings for both': panelSettings,\n [`Settings ${firstPart}`]: panelSettingsPartA,\n [`Properties ${firstPart}`]: panelPropertiesPartA,\n [`Settings ${secondPart}`]: panelSettingsPartB,\n [`Properties ${secondPart}`]: panelPropertiesPartB,\n }}\n />\n }\n >\n <div>\n <div className={classes.part}>\n {model.partLabels && <div>{firstPart}</div>}\n <ebsr-multiple-choice-configure\n id=\"A\"\n key=\"partA\"\n ref={(ref) => {\n if (ref) {\n // do not use destructuring to get model from props\n this.partA = ref;\n this.partA._model = {\n ...this.props.model.partA,\n errors: (this.props.model.errors && this.props.model.errors.partA) || {},\n };\n this.partA.configuration = {\n ...partA,\n ...generalConfiguration,\n };\n }\n }}\n />\n </div>\n\n <div className={classes.part}>\n {model.partLabels && <div>{secondPart}</div>}\n <ebsr-multiple-choice-configure\n id=\"B\"\n key=\"partB\"\n ref={(ref) => {\n if (ref) {\n // do not use destructuring to get model from props\n this.partB = ref;\n this.partB._model = {\n ...this.props.model.partB,\n errors: (this.props.model.errors && this.props.model.errors.partB) || {},\n };\n this.partB.configuration = {\n ...partB,\n ...generalConfiguration,\n };\n }\n }}\n />\n </div>\n </div>\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","_propTypes","_configUi","_styles","_excluded","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","Panel","settings","toggle","radio","dropdown","styles","theme","part","display","flexDirection","paddingTop","spacing","unit","Main","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","Array","_key","concat","_assertThisInitialized2","choices","correctFound","map","choice","correct","model","onModelChanged","props","partA","choiceMode","removeExtraChoices","partB","_createClass2","value","render","_ref3","_this2","_this$props","classes","configuration","onConfigurationChanged","partLabelType","modelPartA","modelPartB","partialScoring","settingsPanelDisabled","scoringType","generalConfiguration","_objectWithoutProperties2","_ref","_ref$feedback","feedback","feedbackA","_ref$choiceMode","choiceModeA","_ref$choicePrefix","choicePrefix","choicePrefixA","_ref$lockChoiceOrder","lockChoiceOrder","lockChoiceOrderA","_ref$prompt","prompt","promptA","_ref$teacherInstructi","teacherInstructions","teacherInstructionsA","_ref$studentInstructi","studentInstructions","studentInstructionsA","_ref$choicesLayout","choicesLayout","choicesLayoutA","_ref$gridColumns","gridColumns","gridColumnsA","_ref$rationale","rationale","rationaleA","_ref$spellCheck","spellCheck","spellCheckA","_ref2","_ref2$feedback","feedbackB","_ref2$choiceMode","choiceModeB","_ref2$choicePrefix","choicePrefixB","_ref2$lockChoiceOrder","lockChoiceOrderB","_ref2$prompt","promptB","_ref2$teacherInstruct","teacherInstructionsB","_ref2$studentInstruct","studentInstructionsB","_ref2$choicesLayout","choicesLayoutB","_ref2$gridColumns","gridColumnsB","_ref2$rationale","rationaleB","_ref2$spellCheck","spellCheckB","type","typeIsNumber","firstPart","secondPart","nrOfColumnsAvailable","from","_","panelSettings","partLabels","label","panelSettingsPartA","panelPropertiesPartA","panelSettingsPartB","panelPropertiesPartB","createElement","layout","ConfigLayout","hideSettings","onChangeModel","onChangeConfiguration","groups","className","id","ref","_model","errors","React","Component","exports","PropTypes","func","Styled","withStyles","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { settings, layout } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\n\nconst { Panel, toggle, radio, dropdown } = settings;\n\nconst styles = (theme) => ({\n part: {\n display: 'flex',\n flexDirection: 'column',\n '&:not(:first-child)': {\n paddingTop: theme.spacing.unit * 4,\n },\n },\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n configuration: PropTypes.object,\n model: PropTypes.object,\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n };\n\n removeExtraChoices = (choices) => {\n let correctFound = false;\n\n return (choices || []).map((choice) => {\n if (correctFound) {\n choice.correct = false;\n\n return choice;\n }\n\n if (choice.correct) {\n correctFound = true;\n }\n\n return choice;\n });\n };\n\n onModelChanged = (model, key) => {\n const { onModelChanged } = this.props;\n\n if (key === 'partA.choiceMode' && model.partA.choiceMode === 'radio') {\n model.partA.choices = this.removeExtraChoices(model.partA.choices);\n\n return onModelChanged(model, true);\n }\n\n if (key === 'partB.choiceMode' && model.partB.choiceMode === 'radio') {\n model.partB.choices = this.removeExtraChoices(model.partB.choices);\n\n return onModelChanged(model, true);\n }\n\n return onModelChanged(model);\n };\n\n render() {\n const { classes, model, configuration, onConfigurationChanged } = this.props;\n const { partLabelType, partA: modelPartA, partB: modelPartB } = model;\n const { partA, partB, partialScoring, settingsPanelDisabled, scoringType, ...generalConfiguration } = configuration;\n const {\n feedback: feedbackA = {},\n choiceMode: choiceModeA = {},\n choicePrefix: choicePrefixA = {},\n lockChoiceOrder: lockChoiceOrderA = {},\n prompt: promptA = {},\n teacherInstructions: teacherInstructionsA = {},\n studentInstructions: studentInstructionsA = {},\n choicesLayout: choicesLayoutA = {},\n gridColumns: gridColumnsA = {},\n rationale: rationaleA = {},\n spellCheck: spellCheckA = {},\n } = partA || {};\n const {\n feedback: feedbackB = {},\n choiceMode: choiceModeB = {},\n choicePrefix: choicePrefixB = {},\n lockChoiceOrder: lockChoiceOrderB = {},\n prompt: promptB = {},\n teacherInstructions: teacherInstructionsB = {},\n studentInstructions: studentInstructionsB = {},\n choicesLayout: choicesLayoutB = {},\n gridColumns: gridColumnsB = {},\n rationale: rationaleB = {},\n spellCheck: spellCheckB = {},\n } = partB || {};\n\n const type = partLabelType || 'Numbers';\n const typeIsNumber = type === 'Numbers';\n const firstPart = `Part ${typeIsNumber ? '1' : 'A'}`;\n const secondPart = `Part ${typeIsNumber ? '2' : 'B'}`;\n const nrOfColumnsAvailable = {\n partA:\n modelPartA.choices && modelPartA.choices.length\n ? Array.from({ length: modelPartA.choices.length }, (_, i) => `${i + 1}`)\n : [],\n partB:\n modelPartB.choices && modelPartB.choices.length\n ? Array.from({ length: modelPartB.choices.length }, (_, i) => `${i + 1}`)\n : [],\n };\n\n const panelSettings = {\n partLabels: generalConfiguration.partLabels.settings && toggle(generalConfiguration.partLabels.label),\n partLabelType: model.partLabels && dropdown('', ['Numbers', 'Letters']),\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n const panelSettingsPartA = {\n 'partA.choiceMode': choiceModeA.settings && radio(choiceModeA.label, ['checkbox', 'radio']),\n 'partA.choicePrefix': choicePrefixA.settings && radio(choicePrefixA.label, ['numbers', 'letters']),\n 'partA.lockChoiceOrder': lockChoiceOrderA.settings && toggle(lockChoiceOrderA.label),\n 'partA.choicesLayout':\n choicesLayoutA.settings && dropdown(choicesLayoutA.label, ['vertical', 'grid', 'horizontal']),\n 'partA.gridColumns':\n choicesLayoutA.settings &&\n modelPartA.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.partA.length > 0 &&\n dropdown(gridColumnsA.label, nrOfColumnsAvailable.partA),\n };\n const panelPropertiesPartA = {\n 'partA.feedbackEnabled': feedbackA.settings && toggle(feedbackA.label),\n 'partA.promptEnabled': promptA.settings && toggle(promptA.label),\n 'partA.teacherInstructionsEnabled': teacherInstructionsA.settings && toggle(teacherInstructionsA.label),\n 'partA.studentInstructionsEnabled': studentInstructionsA.settings && toggle(studentInstructionsA.label),\n 'partA.rationaleEnabled': rationaleA.settings && toggle(rationaleA.label),\n 'partA.spellCheckEnabled': spellCheckA.settings && toggle(spellCheckA.label),\n };\n\n const panelSettingsPartB = {\n 'partB.choiceMode': choiceModeB.settings && radio(choiceModeB.label, ['checkbox', 'radio']),\n 'partB.choicePrefix': choicePrefixB.settings && radio(choicePrefixB.label, ['numbers', 'letters']),\n 'partB.lockChoiceOrder': lockChoiceOrderB.settings && toggle(lockChoiceOrderB.label),\n 'partB.choicesLayout':\n choicesLayoutB.settings && dropdown(choicesLayoutB.label, ['vertical', 'grid', 'horizontal']),\n 'partB.gridColumns':\n choicesLayoutB.settings &&\n modelPartB.choicesLayout === 'grid' &&\n nrOfColumnsAvailable.partB.length > 0 &&\n dropdown(gridColumnsB.label, nrOfColumnsAvailable.partB),\n };\n const panelPropertiesPartB = {\n 'partB.feedbackEnabled': feedbackB.settings && toggle(feedbackB.label),\n 'partB.promptEnabled': promptB.settings && toggle(promptB.label),\n 'partB.teacherInstructionsEnabled': teacherInstructionsB.settings && toggle(teacherInstructionsB.label),\n 'partB.studentInstructionsEnabled': studentInstructionsB.settings && toggle(studentInstructionsB.label),\n 'partB.rationaleEnabled': rationaleB.settings && toggle(rationaleB.label),\n 'partB.spellCheckEnabled': spellCheckB.settings && toggle(spellCheckB.label),\n };\n\n return (\n <layout.ConfigLayout\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={this.onModelChanged}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n 'Settings for both': panelSettings,\n [`Settings ${firstPart}`]: panelSettingsPartA,\n [`Properties ${firstPart}`]: panelPropertiesPartA,\n [`Settings ${secondPart}`]: panelSettingsPartB,\n [`Properties ${secondPart}`]: panelPropertiesPartB,\n }}\n />\n }\n >\n <div>\n <div className={classes.part}>\n {model.partLabels && <div>{firstPart}</div>}\n <ebsr-multiple-choice-configure\n id=\"A\"\n key=\"partA\"\n ref={(ref) => {\n if (ref) {\n // do not use destructuring to get model from props\n this.partA = ref;\n this.partA._model = {\n ...this.props.model.partA,\n errors: (this.props.model.errors && this.props.model.errors.partA) || {},\n };\n this.partA.configuration = {\n ...partA,\n ...generalConfiguration,\n };\n }\n }}\n />\n </div>\n\n <div className={classes.part}>\n {model.partLabels && <div>{secondPart}</div>}\n <ebsr-multiple-choice-configure\n id=\"B\"\n key=\"partB\"\n ref={(ref) => {\n if (ref) {\n // do not use destructuring to get model from props\n this.partB = ref;\n this.partB._model = {\n ...this.props.model.partB,\n errors: (this.props.model.errors && this.props.model.errors.partB) || {},\n };\n this.partB.configuration = {\n ...partB,\n ...generalConfiguration,\n };\n }\n }}\n />\n </div>\n </div>\n </layout.ConfigLayout>\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n"],"mappings":";;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAAsD,IAAAI,SAAA;AAAA,SAAAC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAC,MAAA,CAAAD,IAAA,CAAAF,MAAA,OAAAG,MAAA,CAAAC,qBAAA,QAAAC,OAAA,GAAAF,MAAA,CAAAC,qBAAA,CAAAJ,MAAA,GAAAC,cAAA,KAAAI,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAJ,MAAA,CAAAK,wBAAA,CAAAR,MAAA,EAAAO,GAAA,EAAAE,UAAA,OAAAP,IAAA,CAAAQ,IAAA,CAAAC,KAAA,CAAAT,IAAA,EAAAG,OAAA,YAAAH,IAAA;AAAA,SAAAU,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAf,OAAA,CAAAI,MAAA,CAAAc,MAAA,OAAAC,OAAA,WAAAC,GAAA,QAAAC,gBAAA,aAAAP,MAAA,EAAAM,GAAA,EAAAF,MAAA,CAAAE,GAAA,SAAAhB,MAAA,CAAAkB,yBAAA,GAAAlB,MAAA,CAAAmB,gBAAA,CAAAT,MAAA,EAAAV,MAAA,CAAAkB,yBAAA,CAAAJ,MAAA,KAAAlB,OAAA,CAAAI,MAAA,CAAAc,MAAA,GAAAC,OAAA,WAAAC,GAAA,IAAAhB,MAAA,CAAAoB,cAAA,CAAAV,MAAA,EAAAM,GAAA,EAAAhB,MAAA,CAAAK,wBAAA,CAAAS,MAAA,EAAAE,GAAA,iBAAAN,MAAA;AAAA,SAAAW,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAlB,KAAA,OAAAI,SAAA,gBAAAqB,2BAAA,mBAAAL,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAE,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,OAAA,CAAAC,SAAA,CAAAI,OAAA,8CAAAI,CAAA;AAEtD,IAAQC,KAAK,GAA8BC,kBAAQ,CAA3CD,KAAK;EAAEE,MAAM,GAAsBD,kBAAQ,CAApCC,MAAM;EAAEC,KAAK,GAAeF,kBAAQ,CAA5BE,KAAK;EAAEC,QAAQ,GAAKH,kBAAQ,CAArBG,QAAQ;AAEtC,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAIC,KAAK;EAAA,OAAM;IACzBC,IAAI,EAAE;MACJC,OAAO,EAAE,MAAM;MACfC,aAAa,EAAE,QAAQ;MACvB,qBAAqB,EAAE;QACrBC,UAAU,EAAEJ,KAAK,CAACK,OAAO,CAACC,IAAI,GAAG;MACnC;IACF;EACF,CAAC;AAAA,CAAC;AAAC,IAEUC,IAAI,0BAAAC,gBAAA;EAAA,IAAAC,UAAA,aAAAF,IAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAApC,YAAA,CAAAiC,IAAA;EAAA,SAAAA,KAAA;IAAA,IAAAI,KAAA;IAAA,IAAAC,gBAAA,mBAAAL,IAAA;IAAA,SAAAM,IAAA,GAAAhD,SAAA,CAAAC,MAAA,EAAAgD,IAAA,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;MAAAF,IAAA,CAAAE,IAAA,IAAAnD,SAAA,CAAAmD,IAAA;IAAA;IAAAL,KAAA,GAAAD,MAAA,CAAAlB,IAAA,CAAA/B,KAAA,CAAAiD,MAAA,SAAAO,MAAA,CAAAH,IAAA;IAAA,IAAA5C,gBAAA,iBAAAgD,uBAAA,aAAAP,KAAA,yBASM,UAACQ,OAAO,EAAK;MAChC,IAAIC,YAAY,GAAG,KAAK;MAExB,OAAO,CAACD,OAAO,IAAI,EAAE,EAAEE,GAAG,CAAC,UAACC,MAAM,EAAK;QACrC,IAAIF,YAAY,EAAE;UAChBE,MAAM,CAACC,OAAO,GAAG,KAAK;UAEtB,OAAOD,MAAM;QACf;QAEA,IAAIA,MAAM,CAACC,OAAO,EAAE;UAClBH,YAAY,GAAG,IAAI;QACrB;QAEA,OAAOE,MAAM;MACf,CAAC,CAAC;IACJ,CAAC;IAAA,IAAApD,gBAAA,iBAAAgD,uBAAA,aAAAP,KAAA,qBAEgB,UAACa,KAAK,EAAEvD,GAAG,EAAK;MAC/B,IAAQwD,cAAc,GAAKd,KAAA,CAAKe,KAAK,CAA7BD,cAAc;MAEtB,IAAIxD,GAAG,KAAK,kBAAkB,IAAIuD,KAAK,CAACG,KAAK,CAACC,UAAU,KAAK,OAAO,EAAE;QACpEJ,KAAK,CAACG,KAAK,CAACR,OAAO,GAAGR,KAAA,CAAKkB,kBAAkB,CAACL,KAAK,CAACG,KAAK,CAACR,OAAO,CAAC;QAElE,OAAOM,cAAc,CAACD,KAAK,EAAE,IAAI,CAAC;MACpC;MAEA,IAAIvD,GAAG,KAAK,kBAAkB,IAAIuD,KAAK,CAACM,KAAK,CAACF,UAAU,KAAK,OAAO,EAAE;QACpEJ,KAAK,CAACM,KAAK,CAACX,OAAO,GAAGR,KAAA,CAAKkB,kBAAkB,CAACL,KAAK,CAACM,KAAK,CAACX,OAAO,CAAC;QAElE,OAAOM,cAAc,CAACD,KAAK,EAAE,IAAI,CAAC;MACpC;MAEA,OAAOC,cAAc,CAACD,KAAK,CAAC;IAC9B,CAAC;IAAA,OAAAb,KAAA;EAAA;EAAA,IAAAoB,aAAA,aAAAxB,IAAA;IAAAtC,GAAA;IAAA+D,KAAA,EAED,SAAAC,OAAA,EAAS;MAAA,IAAAC,KAAA;QAAAC,MAAA;MACP,IAAAC,WAAA,GAAkE,IAAI,CAACV,KAAK;QAApEW,OAAO,GAAAD,WAAA,CAAPC,OAAO;QAAEb,KAAK,GAAAY,WAAA,CAALZ,KAAK;QAAEc,aAAa,GAAAF,WAAA,CAAbE,aAAa;QAAEC,sBAAsB,GAAAH,WAAA,CAAtBG,sBAAsB;MAC7D,IAAQC,aAAa,GAA2ChB,KAAK,CAA7DgB,aAAa;QAASC,UAAU,GAAwBjB,KAAK,CAA9CG,KAAK;QAAqBe,UAAU,GAAKlB,KAAK,CAA3BM,KAAK;MAC/C,IAAQH,KAAK,GAAyFW,aAAa,CAA3GX,KAAK;QAAEG,KAAK,GAAkFQ,aAAa,CAApGR,KAAK;QAAEa,cAAc,GAAkEL,aAAa,CAA7FK,cAAc;QAAEC,qBAAqB,GAA2CN,aAAa,CAA7EM,qBAAqB;QAAEC,WAAW,GAA8BP,aAAa,CAAtDO,WAAW;QAAKC,oBAAoB,OAAAC,yBAAA,aAAKT,aAAa,EAAA1F,SAAA;MACnH,IAAAoG,IAAA,GAYIrB,KAAK,IAAI,CAAC,CAAC;QAAAsB,aAAA,GAAAD,IAAA,CAXbE,QAAQ;QAAEC,SAAS,GAAAF,aAAA,cAAG,CAAC,CAAC,GAAAA,aAAA;QAAAG,eAAA,GAAAJ,IAAA,CACxBpB,UAAU;QAAEyB,WAAW,GAAAD,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;QAAAE,iBAAA,GAAAN,IAAA,CAC5BO,YAAY;QAAEC,aAAa,GAAAF,iBAAA,cAAG,CAAC,CAAC,GAAAA,iBAAA;QAAAG,oBAAA,GAAAT,IAAA,CAChCU,eAAe;QAAEC,gBAAgB,GAAAF,oBAAA,cAAG,CAAC,CAAC,GAAAA,oBAAA;QAAAG,WAAA,GAAAZ,IAAA,CACtCa,MAAM;QAAEC,OAAO,GAAAF,WAAA,cAAG,CAAC,CAAC,GAAAA,WAAA;QAAAG,qBAAA,GAAAf,IAAA,CACpBgB,mBAAmB;QAAEC,oBAAoB,GAAAF,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAG,qBAAA,GAAAlB,IAAA,CAC9CmB,mBAAmB;QAAEC,oBAAoB,GAAAF,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAG,kBAAA,GAAArB,IAAA,CAC9CsB,aAAa;QAAEC,cAAc,GAAAF,kBAAA,cAAG,CAAC,CAAC,GAAAA,kBAAA;QAAAG,gBAAA,GAAAxB,IAAA,CAClCyB,WAAW;QAAEC,YAAY,GAAAF,gBAAA,cAAG,CAAC,CAAC,GAAAA,gBAAA;QAAAG,cAAA,GAAA3B,IAAA,CAC9B4B,SAAS;QAAEC,UAAU,GAAAF,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;QAAAG,eAAA,GAAA9B,IAAA,CAC1B+B,UAAU;QAAEC,WAAW,GAAAF,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;MAE9B,IAAAG,KAAA,GAYInD,KAAK,IAAI,CAAC,CAAC;QAAAoD,cAAA,GAAAD,KAAA,CAXb/B,QAAQ;QAAEiC,SAAS,GAAAD,cAAA,cAAG,CAAC,CAAC,GAAAA,cAAA;QAAAE,gBAAA,GAAAH,KAAA,CACxBrD,UAAU;QAAEyD,WAAW,GAAAD,gBAAA,cAAG,CAAC,CAAC,GAAAA,gBAAA;QAAAE,kBAAA,GAAAL,KAAA,CAC5B1B,YAAY;QAAEgC,aAAa,GAAAD,kBAAA,cAAG,CAAC,CAAC,GAAAA,kBAAA;QAAAE,qBAAA,GAAAP,KAAA,CAChCvB,eAAe;QAAE+B,gBAAgB,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAE,YAAA,GAAAT,KAAA,CACtCpB,MAAM;QAAE8B,OAAO,GAAAD,YAAA,cAAG,CAAC,CAAC,GAAAA,YAAA;QAAAE,qBAAA,GAAAX,KAAA,CACpBjB,mBAAmB;QAAE6B,oBAAoB,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAE,qBAAA,GAAAb,KAAA,CAC9Cd,mBAAmB;QAAE4B,oBAAoB,GAAAD,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;QAAAE,mBAAA,GAAAf,KAAA,CAC9CX,aAAa;QAAE2B,cAAc,GAAAD,mBAAA,cAAG,CAAC,CAAC,GAAAA,mBAAA;QAAAE,iBAAA,GAAAjB,KAAA,CAClCR,WAAW;QAAE0B,YAAY,GAAAD,iBAAA,cAAG,CAAC,CAAC,GAAAA,iBAAA;QAAAE,eAAA,GAAAnB,KAAA,CAC9BL,SAAS;QAAEyB,UAAU,GAAAD,eAAA,cAAG,CAAC,CAAC,GAAAA,eAAA;QAAAE,gBAAA,GAAArB,KAAA,CAC1BF,UAAU;QAAEwB,WAAW,GAAAD,gBAAA,cAAG,CAAC,CAAC,GAAAA,gBAAA;MAG9B,IAAME,IAAI,GAAGhE,aAAa,IAAI,SAAS;MACvC,IAAMiE,YAAY,GAAGD,IAAI,KAAK,SAAS;MACvC,IAAME,SAAS,WAAAzF,MAAA,CAAWwF,YAAY,GAAG,GAAG,GAAG,GAAG,CAAE;MACpD,IAAME,UAAU,WAAA1F,MAAA,CAAWwF,YAAY,GAAG,GAAG,GAAG,GAAG,CAAE;MACrD,IAAMG,oBAAoB,GAAG;QAC3BjF,KAAK,EACHc,UAAU,CAACtB,OAAO,IAAIsB,UAAU,CAACtB,OAAO,CAACrD,MAAM,GAC3CiD,KAAK,CAAC8F,IAAI,CAAC;UAAE/I,MAAM,EAAE2E,UAAU,CAACtB,OAAO,CAACrD;QAAO,CAAC,EAAE,UAACgJ,CAAC,EAAElJ,CAAC;UAAA,UAAAqD,MAAA,CAAQrD,CAAC,GAAG,CAAC;QAAA,CAAE,CAAC,GACvE,EAAE;QACRkE,KAAK,EACHY,UAAU,CAACvB,OAAO,IAAIuB,UAAU,CAACvB,OAAO,CAACrD,MAAM,GAC3CiD,KAAK,CAAC8F,IAAI,CAAC;UAAE/I,MAAM,EAAE4E,UAAU,CAACvB,OAAO,CAACrD;QAAO,CAAC,EAAE,UAACgJ,CAAC,EAAElJ,CAAC;UAAA,UAAAqD,MAAA,CAAQrD,CAAC,GAAG,CAAC;QAAA,CAAE,CAAC,GACvE;MACR,CAAC;MAED,IAAMmJ,aAAa,GAAG;QACpBC,UAAU,EAAElE,oBAAoB,CAACkE,UAAU,CAACrH,QAAQ,IAAIC,MAAM,CAACkD,oBAAoB,CAACkE,UAAU,CAACC,KAAK,CAAC;QACrGzE,aAAa,EAAEhB,KAAK,CAACwF,UAAU,IAAIlH,QAAQ,CAAC,EAAE,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACvE6C,cAAc,EAAEA,cAAc,CAAChD,QAAQ,IAAIC,MAAM,CAAC+C,cAAc,CAACsE,KAAK,CAAC;QACvEpE,WAAW,EAAEA,WAAW,CAAClD,QAAQ,IAAIE,KAAK,CAACgD,WAAW,CAACoE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;MAClF,CAAC;MAED,IAAMC,kBAAkB,GAAG;QACzB,kBAAkB,EAAE7D,WAAW,CAAC1D,QAAQ,IAAIE,KAAK,CAACwD,WAAW,CAAC4D,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3F,oBAAoB,EAAEzD,aAAa,CAAC7D,QAAQ,IAAIE,KAAK,CAAC2D,aAAa,CAACyD,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClG,uBAAuB,EAAEtD,gBAAgB,CAAChE,QAAQ,IAAIC,MAAM,CAAC+D,gBAAgB,CAACsD,KAAK,CAAC;QACpF,qBAAqB,EACnB1C,cAAc,CAAC5E,QAAQ,IAAIG,QAAQ,CAACyE,cAAc,CAAC0C,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/F,mBAAmB,EACjB1C,cAAc,CAAC5E,QAAQ,IACvB8C,UAAU,CAAC6B,aAAa,KAAK,MAAM,IACnCsC,oBAAoB,CAACjF,KAAK,CAAC7D,MAAM,GAAG,CAAC,IACrCgC,QAAQ,CAAC4E,YAAY,CAACuC,KAAK,EAAEL,oBAAoB,CAACjF,KAAK;MAC3D,CAAC;MACD,IAAMwF,oBAAoB,GAAG;QAC3B,uBAAuB,EAAEhE,SAAS,CAACxD,QAAQ,IAAIC,MAAM,CAACuD,SAAS,CAAC8D,KAAK,CAAC;QACtE,qBAAqB,EAAEnD,OAAO,CAACnE,QAAQ,IAAIC,MAAM,CAACkE,OAAO,CAACmD,KAAK,CAAC;QAChE,kCAAkC,EAAEhD,oBAAoB,CAACtE,QAAQ,IAAIC,MAAM,CAACqE,oBAAoB,CAACgD,KAAK,CAAC;QACvG,kCAAkC,EAAE7C,oBAAoB,CAACzE,QAAQ,IAAIC,MAAM,CAACwE,oBAAoB,CAAC6C,KAAK,CAAC;QACvG,wBAAwB,EAAEpC,UAAU,CAAClF,QAAQ,IAAIC,MAAM,CAACiF,UAAU,CAACoC,KAAK,CAAC;QACzE,yBAAyB,EAAEjC,WAAW,CAACrF,QAAQ,IAAIC,MAAM,CAACoF,WAAW,CAACiC,KAAK;MAC7E,CAAC;MAED,IAAMG,kBAAkB,GAAG;QACzB,kBAAkB,EAAE/B,WAAW,CAAC1F,QAAQ,IAAIE,KAAK,CAACwF,WAAW,CAAC4B,KAAK,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3F,oBAAoB,EAAE1B,aAAa,CAAC5F,QAAQ,IAAIE,KAAK,CAAC0F,aAAa,CAAC0B,KAAK,EAAE,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAClG,uBAAuB,EAAExB,gBAAgB,CAAC9F,QAAQ,IAAIC,MAAM,CAAC6F,gBAAgB,CAACwB,KAAK,CAAC;QACpF,qBAAqB,EACnBhB,cAAc,CAACtG,QAAQ,IAAIG,QAAQ,CAACmG,cAAc,CAACgB,KAAK,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;QAC/F,mBAAmB,EACjBhB,cAAc,CAACtG,QAAQ,IACvB+C,UAAU,CAAC4B,aAAa,KAAK,MAAM,IACnCsC,oBAAoB,CAAC9E,KAAK,CAAChE,MAAM,GAAG,CAAC,IACrCgC,QAAQ,CAACqG,YAAY,CAACc,KAAK,EAAEL,oBAAoB,CAAC9E,KAAK;MAC3D,CAAC;MACD,IAAMuF,oBAAoB,GAAG;QAC3B,uBAAuB,EAAElC,SAAS,CAACxF,QAAQ,IAAIC,MAAM,CAACuF,SAAS,CAAC8B,KAAK,CAAC;QACtE,qBAAqB,EAAEtB,OAAO,CAAChG,QAAQ,IAAIC,MAAM,CAAC+F,OAAO,CAACsB,KAAK,CAAC;QAChE,kCAAkC,EAAEpB,oBAAoB,CAAClG,QAAQ,IAAIC,MAAM,CAACiG,oBAAoB,CAACoB,KAAK,CAAC;QACvG,kCAAkC,EAAElB,oBAAoB,CAACpG,QAAQ,IAAIC,MAAM,CAACmG,oBAAoB,CAACkB,KAAK,CAAC;QACvG,wBAAwB,EAAEZ,UAAU,CAAC1G,QAAQ,IAAIC,MAAM,CAACyG,UAAU,CAACY,KAAK,CAAC;QACzE,yBAAyB,EAAEV,WAAW,CAAC5G,QAAQ,IAAIC,MAAM,CAAC2G,WAAW,CAACU,KAAK;MAC7E,CAAC;MAED,oBACE3K,MAAA,YAAAgL,aAAA,CAAC5K,SAAA,CAAA6K,MAAM,CAACC,YAAY;QAClBC,YAAY,EAAE7E,qBAAsB;QACpCjD,QAAQ,eACNrD,MAAA,YAAAgL,aAAA,CAAC5H,KAAK;UACJ8B,KAAK,EAAEA,KAAM;UACbkG,aAAa,EAAE,IAAI,CAACjG,cAAe;UACnCa,aAAa,EAAEA,aAAc;UAC7BqF,qBAAqB,EAAEpF,sBAAuB;UAC9CqF,MAAM,GAAA1F,KAAA;YACJ,mBAAmB,EAAE6E;UAAa,OAAA7I,gBAAA,aAAAgE,KAAA,cAAAjB,MAAA,CACrByF,SAAS,GAAKQ,kBAAkB,OAAAhJ,gBAAA,aAAAgE,KAAA,gBAAAjB,MAAA,CAC9ByF,SAAS,GAAKS,oBAAoB,OAAAjJ,gBAAA,aAAAgE,KAAA,cAAAjB,MAAA,CACpC0F,UAAU,GAAKS,kBAAkB,OAAAlJ,gBAAA,aAAAgE,KAAA,gBAAAjB,MAAA,CAC/B0F,UAAU,GAAKU,oBAAoB,GAAAnF,KAAA;QAClD,CACH;MACF,gBAED5F,MAAA,YAAAgL,aAAA,2BACEhL,MAAA,YAAAgL,aAAA;QAAKO,SAAS,EAAExF,OAAO,CAACpC;MAAK,GAC1BuB,KAAK,CAACwF,UAAU,iBAAI1K,MAAA,YAAAgL,aAAA,cAAMZ,SAAe,CAAC,eAC3CpK,MAAA,YAAAgL,aAAA;QACEQ,EAAE,EAAC,GAAG;QACN7J,GAAG,EAAC,OAAO;QACX8J,GAAG,EAAE,SAAAA,IAACA,KAAG,EAAK;UACZ,IAAIA,KAAG,EAAE;YACP;YACA5F,MAAI,CAACR,KAAK,GAAGoG,KAAG;YAChB5F,MAAI,CAACR,KAAK,CAACqG,MAAM,GAAAtK,aAAA,CAAAA,aAAA,KACZyE,MAAI,CAACT,KAAK,CAACF,KAAK,CAACG,KAAK;cACzBsG,MAAM,EAAG9F,MAAI,CAACT,KAAK,CAACF,KAAK,CAACyG,MAAM,IAAI9F,MAAI,CAACT,KAAK,CAACF,KAAK,CAACyG,MAAM,CAACtG,KAAK,IAAK,CAAC;YAAC,EACzE;YACDQ,MAAI,CAACR,KAAK,CAACW,aAAa,GAAA5E,aAAA,CAAAA,aAAA,KACnBiE,KAAK,GACLmB,oBAAoB,CACxB;UACH;QACF;MAAE,CACH,CACE,CAAC,eAENxG,MAAA,YAAAgL,aAAA;QAAKO,SAAS,EAAExF,OAAO,CAACpC;MAAK,GAC1BuB,KAAK,CAACwF,UAAU,iBAAI1K,MAAA,YAAAgL,aAAA,cAAMX,UAAgB,CAAC,eAC5CrK,MAAA,YAAAgL,aAAA;QACEQ,EAAE,EAAC,GAAG;QACN7J,GAAG,EAAC,OAAO;QACX8J,GAAG,EAAE,SAAAA,IAACA,KAAG,EAAK;UACZ,IAAIA,KAAG,EAAE;YACP;YACA5F,MAAI,CAACL,KAAK,GAAGiG,KAAG;YAChB5F,MAAI,CAACL,KAAK,CAACkG,MAAM,GAAAtK,aAAA,CAAAA,aAAA,KACZyE,MAAI,CAACT,KAAK,CAACF,KAAK,CAACM,KAAK;cACzBmG,MAAM,EAAG9F,MAAI,CAACT,KAAK,CAACF,KAAK,CAACyG,MAAM,IAAI9F,MAAI,CAACT,KAAK,CAACF,KAAK,CAACyG,MAAM,CAACnG,KAAK,IAAK,CAAC;YAAC,EACzE;YACDK,MAAI,CAACL,KAAK,CAACQ,aAAa,GAAA5E,aAAA,CAAAA,aAAA,KACnBoE,KAAK,GACLgB,oBAAoB,CACxB;UACH;QACF;MAAE,CACH,CACE,CACF,CACc,CAAC;IAE1B;EAAC;EAAA,OAAAvC,IAAA;AAAA,EA9MuB2H,iBAAK,CAACC,SAAS;AAAAC,OAAA,CAAA7H,IAAA,GAAAA,IAAA;AAAA,IAAArC,gBAAA,aAA5BqC,IAAI,eACI;EACjB8B,OAAO,EAAEgG,qBAAS,CAACvL,MAAM;EACzBwF,aAAa,EAAE+F,qBAAS,CAACvL,MAAM;EAC/B0E,KAAK,EAAE6G,qBAAS,CAACvL,MAAM;EACvB2E,cAAc,EAAE4G,qBAAS,CAACC,IAAI;EAC9B/F,sBAAsB,EAAE8F,qBAAS,CAACC;AACpC,CAAC;AA0MH,IAAMC,MAAM,GAAG,IAAAC,kBAAU,EAACzI,MAAM,CAAC,CAACQ,IAAI,CAAC;AAAC,IAAAkI,QAAA,GAEzBF,MAAM;AAAAH,OAAA,cAAAK,QAAA"}
@@ -10,7 +10,7 @@
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-element/multiple-choice": "^7.6.1-beta.0",
12
12
  "@pie-framework/pie-configure-events": "^1.2.0",
13
- "@pie-lib/config-ui": "12.0.0-beta.4",
13
+ "@pie-lib/config-ui": "12.0.0-beta.5",
14
14
  "lodash": "^4.17.15",
15
15
  "prop-types": "^15.6.2",
16
16
  "react": "^16.8.1",
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaults.js"],"names":["partA","choicePrefix","choices","value","label","prompt","disabled","partB"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,YAAY,EAAE,SADT;AAELC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,GADT;AAEEC,MAAAA,KAAK,EAAE;AAFT,KADO,CAFJ;AAQLC,IAAAA,MAAM,EAAE,UARH;AASLC,IAAAA,QAAQ,EAAE;AATL,GADM;AAYbC,EAAAA,KAAK,EAAE;AACLN,IAAAA,YAAY,EAAE,SADT;AAELC,IAAAA,OAAO,EAAE,CACP;AACEC,MAAAA,KAAK,EAAE,GADT;AAEEC,MAAAA,KAAK,EAAE;AAFT,KADO,CAFJ;AAQLC,IAAAA,MAAM,EAAE,UARH;AASLC,IAAAA,QAAQ,EAAE;AATL;AAZM,C","sourcesContent":["export default {\n partA: {\n choicePrefix: 'letters',\n choices: [\n {\n value: 'a',\n label: 'label a',\n },\n ],\n prompt: 'prompt a',\n disabled: false,\n },\n partB: {\n choicePrefix: 'letters',\n choices: [\n {\n value: 'b',\n label: 'label b',\n },\n ],\n prompt: 'prompt b',\n disabled: false,\n },\n};\n"],"file":"defaults.js"}
1
+ {"version":3,"file":"defaults.js","names":["partA","choicePrefix","choices","value","label","prompt","disabled","partB","exports","_default"],"sources":["../src/defaults.js"],"sourcesContent":["export default {\n partA: {\n choicePrefix: 'letters',\n choices: [\n {\n value: 'a',\n label: 'label a',\n },\n ],\n prompt: 'prompt a',\n disabled: false,\n },\n partB: {\n choicePrefix: 'letters',\n choices: [\n {\n value: 'b',\n label: 'label b',\n },\n ],\n prompt: 'prompt b',\n disabled: false,\n },\n};\n"],"mappings":";;;;;;eAAe;EACbA,KAAK,EAAE;IACLC,YAAY,EAAE,SAAS;IACvBC,OAAO,EAAE,CACP;MACEC,KAAK,EAAE,GAAG;MACVC,KAAK,EAAE;IACT,CAAC,CACF;IACDC,MAAM,EAAE,UAAU;IAClBC,QAAQ,EAAE;EACZ,CAAC;EACDC,KAAK,EAAE;IACLN,YAAY,EAAE,SAAS;IACvBC,OAAO,EAAE,CACP;MACEC,KAAK,EAAE,GAAG;MACVC,KAAK,EAAE;IACT,CAAC,CACF;IACDC,MAAM,EAAE,UAAU;IAClBC,QAAQ,EAAE;EACZ;AACF,CAAC;AAAAE,OAAA,cAAAC,QAAA"}
@@ -1,7 +1,6 @@
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
  });
@@ -10,52 +9,34 @@ exports.model = model;
10
9
  exports.normalize = void 0;
11
10
  exports.outcome = outcome;
12
11
  exports.validate = void 0;
13
-
14
12
  var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
15
-
16
13
  var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
17
-
18
14
  var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
19
-
20
15
  var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
21
-
22
16
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
17
  var _defaults = _interopRequireDefault(require("./defaults"));
25
-
26
18
  var _controllerUtils = require("@pie-lib/controller-utils");
27
-
28
19
  var _utils = require("./utils");
29
-
30
20
  var _get = _interopRequireDefault(require("lodash/get"));
31
-
32
21
  var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
33
-
34
22
  var _excluded = ["partA", "partB"];
35
-
36
23
  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; }
37
-
38
24
  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; }
39
-
40
25
  var prepareChoice = function prepareChoice(model, env, defaultFeedback) {
41
26
  return function (choice) {
42
27
  var out = {
43
28
  label: choice.label,
44
29
  value: choice.value
45
30
  };
46
-
47
31
  if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
48
32
  out.rationale = model.rationaleEnabled ? choice.rationale : null;
49
33
  } else {
50
34
  out.rationale = null;
51
35
  }
52
-
53
36
  if (env.mode === 'evaluate') {
54
37
  out.correct = !!choice.correct;
55
-
56
38
  if (model.feedbackEnabled) {
57
39
  var feedbackType = choice.feedback && choice.feedback.type || 'none';
58
-
59
40
  if (feedbackType === 'default') {
60
41
  out.feedback = defaultFeedback[choice.correct ? 'correct' : 'incorrect'];
61
42
  } else if (feedbackType === 'custom') {
@@ -63,11 +44,9 @@ var prepareChoice = function prepareChoice(model, env, defaultFeedback) {
63
44
  }
64
45
  }
65
46
  }
66
-
67
47
  return out;
68
48
  };
69
49
  };
70
-
71
50
  var parsePart = function parsePart(part, key, session, env) {
72
51
  var defaultFeedback = Object.assign({
73
52
  correct: 'Correct',
@@ -85,13 +64,12 @@ var parsePart = function parsePart(part, key, session, env) {
85
64
  responseCorrect: env.mode === 'evaluate' ? (0, _utils.isResponseCorrect)(part, key, session) : undefined
86
65
  });
87
66
  };
88
-
89
67
  var normalize = function normalize(_ref) {
90
68
  var _ref$partA = _ref.partA,
91
- partA = _ref$partA === void 0 ? {} : _ref$partA,
92
- _ref$partB = _ref.partB,
93
- partB = _ref$partB === void 0 ? {} : _ref$partB,
94
- question = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
69
+ partA = _ref$partA === void 0 ? {} : _ref$partA,
70
+ _ref$partB = _ref.partB,
71
+ partB = _ref$partB === void 0 ? {} : _ref$partB,
72
+ question = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
95
73
  return _objectSpread(_objectSpread({
96
74
  partLabels: true,
97
75
  partLabelType: 'Letters'
@@ -118,6 +96,7 @@ var normalize = function normalize(_ref) {
118
96
  })
119
97
  });
120
98
  };
99
+
121
100
  /**
122
101
  *
123
102
  * @param {*} question
@@ -125,176 +104,143 @@ var normalize = function normalize(_ref) {
125
104
  * @param {*} env
126
105
  * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.
127
106
  */
128
-
129
-
130
107
  exports.normalize = normalize;
131
-
132
108
  function model(_x, _x2, _x3, _x4) {
133
109
  return _model.apply(this, arguments);
134
110
  }
135
-
136
111
  function _model() {
137
112
  _model = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(question, session, env, updateSession) {
138
113
  var normalizedQuestion, partA, partB, shuffledValues, us, partASession, partALockChoiceOrder, _ref8, partAChoices, _ref9, partBChoices, partBSession, partBLockChoiceOrder;
139
-
140
114
  return _regenerator["default"].wrap(function _callee$(_context) {
141
- while (1) {
142
- switch (_context.prev = _context.next) {
143
- case 0:
144
- normalizedQuestion = normalize(question);
145
- partA = parsePart(normalizedQuestion.partA, 'partA', session, env);
146
- partB = parsePart(normalizedQuestion.partB, 'partB', session, env);
147
- shuffledValues = {};
148
-
149
- us = function us(part) {
150
- return function (id, element, update) {
151
- return new Promise(function (resolve) {
152
- shuffledValues[part] = update.shuffledValues;
153
- resolve();
154
- });
155
- };
115
+ while (1) switch (_context.prev = _context.next) {
116
+ case 0:
117
+ normalizedQuestion = normalize(question);
118
+ partA = parsePart(normalizedQuestion.partA, 'partA', session, env);
119
+ partB = parsePart(normalizedQuestion.partB, 'partB', session, env);
120
+ shuffledValues = {};
121
+ us = function us(part) {
122
+ return function (id, element, update) {
123
+ return new Promise(function (resolve) {
124
+ shuffledValues[part] = update.shuffledValues;
125
+ resolve();
126
+ });
156
127
  };
157
-
158
- partASession = (0, _get["default"])(session, 'value.partA');
159
- partALockChoiceOrder = (0, _controllerUtils.lockChoices)(normalizedQuestion.partA, partASession, env);
160
- _ref8 = partA || {}, partAChoices = _ref8.choices;
161
- _ref9 = partB || {}, partBChoices = _ref9.choices;
162
-
163
- if (!(!partALockChoiceOrder && partAChoices && partAChoices.length)) {
164
- _context.next = 13;
165
- break;
166
- }
167
-
168
- _context.next = 12;
169
- return (0, _controllerUtils.getShuffledChoices)(partAChoices, {
170
- shuffledValues: (session.shuffledValues || {}).partA
171
- }, us('partA'), 'value');
172
-
173
- case 12:
174
- partA.choices = _context.sent;
175
-
176
- case 13:
177
- partBSession = (0, _get["default"])(session, 'value.partB');
178
- partBLockChoiceOrder = (0, _controllerUtils.lockChoices)(normalizedQuestion.partB, partBSession, env);
179
-
180
- if (!(!partBLockChoiceOrder && partBChoices && partBChoices.length)) {
181
- _context.next = 19;
182
- break;
183
- }
184
-
185
- _context.next = 18;
186
- return (0, _controllerUtils.getShuffledChoices)(partBChoices, {
187
- shuffledValues: (session.shuffledValues || {}).partB
188
- }, us('partB'), 'value');
189
-
190
- case 18:
191
- partB.choices = _context.sent;
192
-
193
- case 19:
194
- if (!(0, _isEmpty["default"])(shuffledValues)) {
195
- if (updateSession && typeof updateSession === 'function') {
196
- updateSession(session.id, session.element, {
197
- shuffledValues: shuffledValues
198
- })["catch"](function (e) {
199
- console.error('update session failed', e);
200
- });
201
- }
202
- }
203
-
204
- if (normalizedQuestion.partLabels) {
205
- partA.partLabel = normalizedQuestion.partLabelType === 'Letters' ? 'Part A' : 'Part 1';
206
- partB.partLabel = normalizedQuestion.partLabelType === 'Letters' ? 'Part B' : 'Part 2';
207
- } else {
208
- partA.partLabel = undefined;
209
- partB.partLabel = undefined;
210
- }
211
-
212
- if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
213
- partA.teacherInstructions = normalizedQuestion.partA.teacherInstructionsEnabled ? normalizedQuestion.partA.teacherInstructions : null;
214
- partB.teacherInstructions = normalizedQuestion.partB.teacherInstructionsEnabled ? normalizedQuestion.partB.teacherInstructions : null;
215
- } else {
216
- partA.teacherInstructions = null;
217
- partB.teacherInstructions = null;
218
- }
219
-
220
- partA.prompt = normalizedQuestion.partA.promptEnabled ? normalizedQuestion.partA.prompt : null;
221
- partB.prompt = normalizedQuestion.partB.promptEnabled ? normalizedQuestion.partB.prompt : null;
222
- return _context.abrupt("return", new Promise(function (resolve) {
223
- resolve({
224
- disabled: env.mode !== 'gather',
225
- mode: env.mode,
226
- partA: partA,
227
- partB: partB
128
+ };
129
+ partASession = (0, _get["default"])(session, 'value.partA');
130
+ partALockChoiceOrder = (0, _controllerUtils.lockChoices)(normalizedQuestion.partA, partASession, env);
131
+ _ref8 = partA || {}, partAChoices = _ref8.choices;
132
+ _ref9 = partB || {}, partBChoices = _ref9.choices;
133
+ if (!(!partALockChoiceOrder && partAChoices && partAChoices.length)) {
134
+ _context.next = 13;
135
+ break;
136
+ }
137
+ _context.next = 12;
138
+ return (0, _controllerUtils.getShuffledChoices)(partAChoices, {
139
+ shuffledValues: (session.shuffledValues || {}).partA
140
+ }, us('partA'), 'value');
141
+ case 12:
142
+ partA.choices = _context.sent;
143
+ case 13:
144
+ partBSession = (0, _get["default"])(session, 'value.partB');
145
+ partBLockChoiceOrder = (0, _controllerUtils.lockChoices)(normalizedQuestion.partB, partBSession, env);
146
+ if (!(!partBLockChoiceOrder && partBChoices && partBChoices.length)) {
147
+ _context.next = 19;
148
+ break;
149
+ }
150
+ _context.next = 18;
151
+ return (0, _controllerUtils.getShuffledChoices)(partBChoices, {
152
+ shuffledValues: (session.shuffledValues || {}).partB
153
+ }, us('partB'), 'value');
154
+ case 18:
155
+ partB.choices = _context.sent;
156
+ case 19:
157
+ if (!(0, _isEmpty["default"])(shuffledValues)) {
158
+ if (updateSession && typeof updateSession === 'function') {
159
+ updateSession(session.id, session.element, {
160
+ shuffledValues: shuffledValues
161
+ })["catch"](function (e) {
162
+ console.error('update session failed', e);
228
163
  });
229
- }));
230
-
231
- case 25:
232
- case "end":
233
- return _context.stop();
234
- }
164
+ }
165
+ }
166
+ if (normalizedQuestion.partLabels) {
167
+ partA.partLabel = normalizedQuestion.partLabelType === 'Letters' ? 'Part A' : 'Part 1';
168
+ partB.partLabel = normalizedQuestion.partLabelType === 'Letters' ? 'Part B' : 'Part 2';
169
+ } else {
170
+ partA.partLabel = undefined;
171
+ partB.partLabel = undefined;
172
+ }
173
+ if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {
174
+ partA.teacherInstructions = normalizedQuestion.partA.teacherInstructionsEnabled ? normalizedQuestion.partA.teacherInstructions : null;
175
+ partB.teacherInstructions = normalizedQuestion.partB.teacherInstructionsEnabled ? normalizedQuestion.partB.teacherInstructions : null;
176
+ } else {
177
+ partA.teacherInstructions = null;
178
+ partB.teacherInstructions = null;
179
+ }
180
+ partA.prompt = normalizedQuestion.partA.promptEnabled ? normalizedQuestion.partA.prompt : null;
181
+ partB.prompt = normalizedQuestion.partB.promptEnabled ? normalizedQuestion.partB.prompt : null;
182
+ return _context.abrupt("return", new Promise(function (resolve) {
183
+ resolve({
184
+ disabled: env.mode !== 'gather',
185
+ mode: env.mode,
186
+ partA: partA,
187
+ partB: partB
188
+ });
189
+ }));
190
+ case 25:
191
+ case "end":
192
+ return _context.stop();
235
193
  }
236
194
  }, _callee);
237
195
  }));
238
196
  return _model.apply(this, arguments);
239
197
  }
240
-
241
198
  var createDefaultModel = function createDefaultModel() {
242
199
  var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
243
200
  return new Promise(function (resolve) {
244
201
  resolve(_objectSpread(_objectSpread({}, _defaults["default"]), model));
245
202
  });
246
203
  };
247
-
248
204
  exports.createDefaultModel = createDefaultModel;
249
-
250
205
  var isCorrect = function isCorrect(c) {
251
206
  return c.correct === true;
252
207
  };
253
-
254
208
  var getScore = function getScore(config, sessionPart, key, partialScoringEnabled) {
255
209
  var _ref2 = config && config[key] || {},
256
- _ref2$choices = _ref2.choices,
257
- choices = _ref2$choices === void 0 ? [] : _ref2$choices;
258
-
210
+ _ref2$choices = _ref2.choices,
211
+ choices = _ref2$choices === void 0 ? [] : _ref2$choices;
259
212
  var maxScore = choices.length;
260
-
261
213
  var _ref3 = sessionPart || {},
262
- sessionPartValue = _ref3.value;
263
-
214
+ sessionPartValue = _ref3.value;
264
215
  var chosen = function chosen(c) {
265
216
  return !!(sessionPartValue || []).find(function (v) {
266
217
  return v === c.value;
267
218
  });
268
219
  };
269
-
270
220
  var correctAndNotChosen = function correctAndNotChosen(c) {
271
221
  return isCorrect(c) && !chosen(c);
272
222
  };
273
-
274
223
  var incorrectAndChosen = function incorrectAndChosen(c) {
275
224
  return !isCorrect(c) && chosen(c);
276
225
  };
277
-
278
226
  var correctChoices = choices.reduce(function (total, choice) {
279
227
  if (correctAndNotChosen(choice) || incorrectAndChosen(choice)) {
280
228
  return total - 1;
281
229
  } else {
282
230
  return total;
283
231
  }
284
- }, choices.length); // determine score for a part
232
+ }, choices.length);
285
233
 
234
+ // determine score for a part
286
235
  if (!partialScoringEnabled && correctChoices < maxScore) {
287
236
  return 0;
288
237
  }
289
-
290
238
  return parseFloat(maxScore ? (correctChoices / maxScore).toFixed(2) : 0);
291
239
  };
292
-
293
240
  function outcome(config, session, env) {
294
241
  return new Promise(function (resolve) {
295
242
  var _ref4 = session || {},
296
- value = _ref4.value;
297
-
243
+ value = _ref4.value;
298
244
  if (!session || !value) {
299
245
  resolve({
300
246
  score: 0,
@@ -303,17 +249,13 @@ function outcome(config, session, env) {
303
249
  empty: true
304
250
  });
305
251
  }
306
-
307
252
  if (value) {
308
253
  var _ref5 = value || {},
309
- partA = _ref5.partA,
310
- partB = _ref5.partB;
311
-
254
+ partA = _ref5.partA,
255
+ partB = _ref5.partB;
312
256
  var partialScoringEnabled = _controllerUtils.partialScoring.enabled(config, env);
313
-
314
257
  var scoreA = getScore(config, partA, 'partA', partialScoringEnabled);
315
258
  var scoreB = getScore(config, partB, 'partB', partialScoringEnabled);
316
-
317
259
  if (!partialScoringEnabled) {
318
260
  // The EBSR item is worth 1 point
319
261
  // That point is awarded if and only if both parts are fully correct, otherwise no points are awarded
@@ -356,25 +298,22 @@ function outcome(config, session, env) {
356
298
  }
357
299
  });
358
300
  }
359
-
360
301
  var returnPartCorrect = function returnPartCorrect(choices) {
361
302
  var answers = [];
362
303
  choices.forEach(function (i) {
363
304
  var correct = i.correct,
364
- value = i.value;
365
-
305
+ value = i.value;
366
306
  if (correct) {
367
307
  answers.push(value);
368
308
  }
369
309
  });
370
310
  return answers;
371
311
  };
372
-
373
312
  var createCorrectResponseSession = function createCorrectResponseSession(question, env) {
374
313
  return new Promise(function (resolve) {
375
314
  if (env.mode !== 'evaluate' && env.role === 'instructor') {
376
315
  var partA = question.partA,
377
- partB = question.partB;
316
+ partB = question.partB;
378
317
  var partACorrect = returnPartCorrect(partA.choices);
379
318
  var partBCorrect = returnPartCorrect(partB.choices);
380
319
  resolve({
@@ -395,35 +334,30 @@ var createCorrectResponseSession = function createCorrectResponseSession(questio
395
334
  }
396
335
  });
397
336
  };
398
-
399
337
  exports.createCorrectResponseSession = createCorrectResponseSession;
400
-
401
338
  var validatePart = function validatePart() {
402
339
  var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
403
340
  var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
404
341
  var choices = model.choices;
405
342
  var _config$minAnswerChoi = config.minAnswerChoices,
406
- minAnswerChoices = _config$minAnswerChoi === void 0 ? 2 : _config$minAnswerChoi,
407
- maxAnswerChoices = config.maxAnswerChoices;
343
+ minAnswerChoices = _config$minAnswerChoi === void 0 ? 2 : _config$minAnswerChoi,
344
+ maxAnswerChoices = config.maxAnswerChoices;
408
345
  var reversedChoices = (0, _toConsumableArray2["default"])(choices || []).reverse();
409
346
  var choicesErrors = {};
410
347
  var hasCorrectResponse = false;
411
348
  reversedChoices.forEach(function (choice, index) {
412
349
  var correct = choice.correct,
413
- value = choice.value,
414
- label = choice.label;
415
-
350
+ value = choice.value,
351
+ label = choice.label;
416
352
  if (correct) {
417
353
  hasCorrectResponse = true;
418
354
  }
419
-
420
355
  if (label === '' || label === '<div></div>') {
421
356
  choicesErrors[value] = 'Content should not be empty.';
422
357
  } else {
423
358
  var identicalAnswer = reversedChoices.slice(index + 1).some(function (c) {
424
359
  return c.label === label;
425
360
  });
426
-
427
361
  if (identicalAnswer) {
428
362
  choicesErrors[value] = 'Content should be unique.';
429
363
  }
@@ -431,36 +365,28 @@ var validatePart = function validatePart() {
431
365
  });
432
366
  var errors = {};
433
367
  var nbOfChoices = (choices || []).length;
434
-
435
368
  if (nbOfChoices < minAnswerChoices) {
436
369
  errors.answerChoicesError = "There should be at least ".concat(minAnswerChoices, " choices defined.");
437
370
  } else if (nbOfChoices > maxAnswerChoices) {
438
371
  errors.answerChoicesError = "No more than ".concat(maxAnswerChoices, " choices should be defined.");
439
372
  }
440
-
441
373
  if (!hasCorrectResponse) {
442
374
  errors.correctResponseError = 'No correct response defined.';
443
375
  }
444
-
445
376
  if (!(0, _isEmpty["default"])(choicesErrors)) {
446
377
  errors.choicesErrors = choicesErrors;
447
378
  }
448
-
449
379
  return errors;
450
380
  };
451
-
452
381
  var validate = function validate() {
453
382
  var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
454
383
  var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
455
-
456
384
  var _ref6 = model || {},
457
- partA = _ref6.partA,
458
- partB = _ref6.partB;
459
-
385
+ partA = _ref6.partA,
386
+ partB = _ref6.partB;
460
387
  var _ref7 = config || {},
461
- partAConfig = _ref7.partA,
462
- partBConfig = _ref7.partB;
463
-
388
+ partAConfig = _ref7.partA,
389
+ partBConfig = _ref7.partB;
464
390
  var partAErrors = validatePart(partA, partAConfig);
465
391
  var partBErrors = validatePart(partB, partBConfig);
466
392
  return {
@@ -468,6 +394,5 @@ var validate = function validate() {
468
394
  partB: partBErrors
469
395
  };
470
396
  };
471
-
472
397
  exports.validate = validate;
473
398
  //# sourceMappingURL=index.js.map