@pie-element/likert 2.0.1-next.0 → 2.0.2-esm.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configure.js","sources":["../configure/src/likertEntities.js","../configure/src/choiceGenerator.js","../configure/src/main.jsx","../configure/src/defaults.js","../configure/src/index.js"],"sourcesContent":["export const LIKERT_SCALE = {\n likert3: 'likert3',\n likert5: 'likert5',\n likert7: 'likert7',\n};\n\nexport const LIKERT_TYPE = {\n agreement: 'agreement',\n frequency: 'frequency',\n yesNo: 'yesNo',\n importance: 'importance',\n likelihood: 'likelihood',\n like: 'like',\n};\n\nexport const LIKERT_ORIENTATION = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\n","import { LIKERT_TYPE, LIKERT_SCALE } from './likertEntities';\n\nconst likert3Agreement = [\n {\n label: 'Disagree',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Agree',\n value: 1,\n },\n];\n\nconst likert5Agreement = [\n {\n label: 'Strongly Disagree',\n value: -2,\n },\n ...likert3Agreement,\n {\n label: 'Strongly Agree',\n value: 2,\n },\n];\n\nconst likert7Agreement = [\n {\n label: 'Extremely Disagree',\n value: -3,\n },\n ...likert5Agreement,\n {\n label: 'Extremely Agree',\n value: 3,\n },\n];\n\nconst likert3Frequency = [\n {\n label: 'Infrequently',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Frequently',\n value: 1,\n },\n];\n\nconst likert5Frequency = [\n {\n label: 'Very Infrequently',\n value: -2,\n },\n ...likert3Frequency,\n {\n label: 'Very Frequently',\n value: 2,\n },\n];\n\nconst likert7Frequency = [\n {\n label: 'Never',\n value: -3,\n },\n ...likert5Frequency,\n {\n label: 'Always',\n value: 3,\n },\n];\n\nconst likert3YesNo = [\n {\n label: 'No',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Yes',\n value: 1,\n },\n];\n\nconst likert5YesNo = [\n {\n label: 'No',\n value: -2,\n },\n {\n label: 'Not really',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Sometimes',\n value: 1,\n },\n {\n label: 'Yes',\n value: 2,\n },\n];\n\nconst likert7YesNo = [\n {\n label: 'No',\n value: -3,\n },\n {\n label: 'Rarely',\n value: -2,\n },\n {\n label: 'Not really',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Sometimes',\n value: 1,\n },\n {\n label: 'Very Often',\n value: 2,\n },\n {\n label: 'Always',\n value: 3,\n },\n];\n\nconst likert3Likelihood = [\n {\n label: 'Not Likely',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Likely',\n value: 1,\n },\n];\n\nconst likert5Likelihood = [\n {\n label: 'Very Unlikely',\n value: -2,\n },\n ...likert3Likelihood,\n {\n label: 'Very Likely',\n value: 2,\n },\n];\n\nconst likert7Likelihood = [\n {\n label: 'Extremely Unlikely',\n value: -3,\n },\n ...likert5Likelihood,\n {\n label: 'Extremely Likely',\n value: 3,\n },\n];\n\nconst likert3Importance = [\n {\n label: 'Not Important',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Important',\n value: 1,\n },\n];\n\nconst likert5Importance = [\n {\n label: 'Very Not Important',\n value: -2,\n },\n ...likert3Importance,\n {\n label: 'Very Important',\n value: 2,\n },\n];\n\nconst likert7Importance = [\n {\n label: 'Extremely Not Important',\n value: -3,\n },\n ...likert5Importance,\n {\n label: 'Extremely Important',\n value: 3,\n },\n];\n\nconst likert3Like = [\n {\n label: 'Dislike',\n value: -1,\n },\n {\n label: 'Unsure',\n value: 0,\n },\n {\n label: 'Like',\n value: 1,\n },\n];\n\nconst likert5Like = [\n {\n label: 'Really Dislike',\n value: -2,\n },\n ...likert3Like,\n {\n label: 'Really Like',\n value: 2,\n },\n];\n\nconst likert7Like = [\n {\n label: 'Extremely Dislike',\n value: -3,\n },\n ...likert5Like,\n {\n label: 'Extremely Like',\n value: 3,\n },\n];\n\nconst generateChoices = (likertScale, likertType) => {\n switch (`${likertScale}-${likertType}`) {\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.agreement}`:\n return [...likert3Agreement];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.agreement}`:\n return [...likert5Agreement];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.agreement}`:\n return [...likert7Agreement];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.frequency}`:\n return [...likert3Frequency];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.frequency}`:\n return [...likert5Frequency];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.frequency}`:\n return [...likert7Frequency];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.yesNo}`:\n return [...likert3YesNo];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.yesNo}`:\n return [...likert5YesNo];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.yesNo}`:\n return [...likert7YesNo];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.likelihood}`:\n return [...likert3Likelihood];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.likelihood}`:\n return [...likert5Likelihood];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.likelihood}`:\n return [...likert7Likelihood];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.importance}`:\n return [...likert3Importance];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.importance}`:\n return [...likert5Importance];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.importance}`:\n return [...likert7Importance];\n case `${LIKERT_SCALE.likert3}-${LIKERT_TYPE.like}`:\n return [...likert3Like];\n case `${LIKERT_SCALE.likert5}-${LIKERT_TYPE.like}`:\n return [...likert5Like];\n case `${LIKERT_SCALE.likert7}-${LIKERT_TYPE.like}`:\n return [...likert7Like];\n default:\n return [];\n }\n};\n\nexport default generateChoices;\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport EditableHtml from '@pie-lib/editable-html';\nimport Radio from '@material-ui/core/Radio';\nimport RadioGroup from '@material-ui/core/RadioGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport { InputContainer, settings, layout, NumberTextField } from '@pie-lib/config-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport merge from 'lodash/merge';\nimport { LIKERT_TYPE, LIKERT_SCALE, LIKERT_ORIENTATION } from './likertEntities';\nimport generateChoices from './choiceGenerator';\nimport { color } from '@pie-lib/render-ui';\n\nconst { Panel, toggle, radio } = settings;\n\nconst styles = (theme) => ({\n promptHolder: {\n width: '100%',\n paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n radioButtonsWrapper: {\n display: 'flex',\n flexDirection: 'column',\n },\n radioButtonsColumnHeader: {\n color: theme.palette.grey[400],\n fontSize: theme.typography.fontSize - 2,\n },\n likertLabelHolder: {\n display: 'flex',\n width: '100%',\n alignItems: 'flex-start',\n marginBottom: theme.spacing.unit * 2,\n },\n likertOptionsHolder: {\n display: 'flex',\n width: '100%',\n justifyContent: 'space-around',\n marginBottom: theme.spacing.unit * 2.5,\n },\n likertLabelInput: {\n width: 'calc(100% - 200px)',\n marginRight: 0,\n },\n errorMessage: {\n color: theme.palette.error.main,\n fontSize: theme.typography.fontSize - 2,\n },\n width100: {\n width: '100%',\n },\n flexRow: {\n display: 'flex',\n flexDirection: 'row',\n },\n likertValueHolder: {\n paddingLeft: theme.spacing.unit * 2.5,\n width: '150px',\n },\n likertLabelEditableHtml: {\n paddingTop: theme.spacing.unit * 2,\n },\n inputFormGroupIndex: {\n width: '30px',\n paddingTop: theme.spacing.unit * 4,\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n customColor: {\n color: `${color.tertiary()} !important`,\n },\n});\n\nconst LikertOrientation = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n\n const onChangeLikertOrientation = (e) => {\n const likertOrientation = e.target.value;\n\n onChangeModel({ ...model, likertOrientation });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Likert Orientation</p>\n <RadioGroup\n aria-label=\"likertOrientation\"\n name=\"likertOrientation\"\n value={model.likertOrientation}\n onChange={onChangeLikertOrientation}\n >\n <FormControlLabel\n value={LIKERT_ORIENTATION.horizontal}\n control={<Radio className={classes.customColor} />}\n label=\"Horizontal\"\n />\n <FormControlLabel\n value={LIKERT_ORIENTATION.vertical}\n control={<Radio className={classes.customColor} />}\n label=\"Vertical\"\n />\n </RadioGroup>\n </div>\n );\n});\n\nconst LikertScale = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertScale = (e) => {\n const likertScale = e.target.value;\n\n onChangeModel({\n ...model,\n likertScale,\n choices: generateChoices(likertScale, model.likertType),\n });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Likert Scale</p>\n <RadioGroup aria-label=\"likertScale\" name=\"likertScale\" value={model.likertScale} onChange={onChangeLikertScale}>\n <FormControlLabel\n value={LIKERT_SCALE.likert3}\n control={<Radio className={classes.customColor} />}\n label=\"Likert 3\"\n />\n <FormControlLabel\n value={LIKERT_SCALE.likert5}\n control={<Radio className={classes.customColor} />}\n label=\"Likert 5\"\n />\n <FormControlLabel\n value={LIKERT_SCALE.likert7}\n control={<Radio className={classes.customColor} />}\n label=\"Likert 7\"\n />\n </RadioGroup>\n </div>\n );\n});\n\nconst LikertType = withStyles(styles)((props) => {\n const { classes, model, onChangeModel } = props;\n const onChangeLikertType = (e) => {\n const likertType = e.target.value;\n\n onChangeModel({\n ...model,\n likertType,\n choices: generateChoices(model.likertScale, likertType),\n });\n };\n\n return (\n <div className={classes.radioButtonsWrapper}>\n <p className={classes.radioButtonsColumnHeader}>Label Type</p>\n\n <div className={classes.flexRow}>\n <RadioGroup\n aria-label=\"likertLabelType\"\n name=\"likertLabelType\"\n value={model.likertType}\n onChange={onChangeLikertType}\n >\n <FormControlLabel\n value={LIKERT_TYPE.agreement}\n control={<Radio className={classes.customColor} />}\n label=\"Agreement\"\n />\n <FormControlLabel\n value={LIKERT_TYPE.frequency}\n control={<Radio className={classes.customColor} />}\n label=\"Frequency\"\n />\n <FormControlLabel\n value={LIKERT_TYPE.yesNo}\n control={<Radio className={classes.customColor} />}\n label=\"Yes/No\"\n />\n </RadioGroup>\n\n <RadioGroup\n aria-label=\"likertLabelType\"\n name=\"likertLabelType\"\n value={model.likertType}\n onChange={onChangeLikertType}\n >\n <FormControlLabel\n value={LIKERT_TYPE.importance}\n control={<Radio className={classes.customColor} />}\n label=\"Importance\"\n />\n <FormControlLabel\n value={LIKERT_TYPE.likelihood}\n control={<Radio className={classes.customColor} />}\n label=\"Likelihood\"\n />\n <FormControlLabel value={LIKERT_TYPE.like} control={<Radio className={classes.customColor} />} label=\"Like\" />\n </RadioGroup>\n </div>\n </div>\n );\n});\n\nconst buildValuesMap = (model) =>\n model.choices.reduce((acc, choice) => {\n const accClone = { ...acc };\n const choiceValue = parseInt(choice.value);\n\n if (!accClone[choiceValue]) {\n accClone[choiceValue] = 0;\n }\n\n return { ...accClone, [choiceValue]: accClone[choiceValue] + 1 };\n }, {});\n\nconst Design = withStyles(styles)((props) => {\n const {\n classes,\n configuration,\n imageSupport,\n model,\n onChangeModel,\n onChoiceChanged,\n onConfigurationChanged,\n onPromptChanged,\n onTeacherInstructionsChanged,\n uploadSoundSupport,\n } = props;\n const {\n contentDimensions = {},\n prompt = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n teacherInstructions = {},\n baseInputConfiguration = {},\n likertChoice = {},\n } = configuration || {};\n const { errors = {}, extraCSSRules, spellCheckEnabled, teacherInstructionsEnabled } = model || {};\n const { prompt: promptError, teacherInstructions: teacherInstructionsError } = errors;\n\n const valuesMap = buildValuesMap(model);\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n };\n\n const getPluginProps = (props = {}) => {\n return Object.assign(\n {\n ...baseInputConfiguration,\n },\n props || {},\n );\n };\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n onChangeModel={onChangeModel}\n configuration={configuration}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n <InputContainer label={prompt.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={onPromptChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n spellCheck={spellCheckEnabled}\n disableUnderline\n uploadSoundSupport={uploadSoundSupport}\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n\n <div className={classes.likertOptionsHolder}>\n <LikertScale model={model} onChangeModel={onChangeModel} />\n <LikertType model={model} onChangeModel={onChangeModel} />\n <LikertOrientation model={model} onChangeModel={onChangeModel} />\n </div>\n\n {model.choices.map((choice, index) => (\n <div key={`choice-${index}`} className={classes.likertLabelHolder}>\n <span className={classes.inputFormGroupIndex}>{index + 1}.</span>\n <InputContainer key={`likert-label-${index}`} label={'Likert Label'} className={classes.likertLabelInput}>\n <EditableHtml\n className={classes.likertLabelEditableHtml}\n markup={choice.label || ''}\n onChange={(c) => onChoiceChanged(index, { ...choice, label: c })}\n imageSupport={imageSupport}\n spellCheck={spellCheckEnabled}\n uploadSoundSupport={uploadSoundSupport}\n pluginProps={getPluginProps(likertChoice?.inputConfiguration)}\n />\n </InputContainer>\n\n <div className={classes.likertValueHolder}>\n <NumberTextField\n label={'Likert Value'}\n value={choice.value}\n className={classes.width100}\n max={100}\n min={-100}\n onChange={(e, t) => {\n onChoiceChanged(index, { ...choice, value: t });\n }}\n imageSupport={imageSupport}\n />\n {valuesMap[choice.value] && valuesMap[choice.value] > 1 && (\n <p className={classes.errorMessage}>Value should be unique</p>\n )}\n </div>\n </div>\n ))}\n </layout.ConfigLayout>\n );\n});\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n disableSidePanel: PropTypes.bool,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n };\n\n onChoiceChanged = (index, choice) => {\n const { model, onModelChanged } = this.props;\n\n model.choices = model.choices.map((choice) => merge({}, choice));\n model.choices.splice(index, 1, choice);\n\n onModelChanged(model);\n };\n\n onPromptChanged = (prompt) => {\n this.props.onModelChanged({ ...this.props.model, prompt });\n };\n\n onTeacherInstructionsChanged = (teacherInstructions) => {\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n };\n\n render() {\n return (\n <Design\n {...this.props}\n onChangeModel={this.props.onModelChanged}\n onChoiceChanged={this.onChoiceChanged}\n onPromptChanged={this.onPromptChanged}\n onTeacherInstructionsChanged={this.onTeacherInstructionsChanged}\n />\n );\n }\n}\n\nconst Styled = withStyles(styles)(Main);\n\nexport default Styled;\n","/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\nexport default {\n model: {\n choices: [],\n likertOrientation: 'horizontal',\n likertScale: 'likert3',\n likertType: 'agreement',\n prompt: '',\n promptEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n textAlign: { disabled: true },\n showParagraphs: { disabled: false },\n separateParagraphs: { disabled: true },\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n likertChoice: {\n label: 'Choice',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n },\n },\n};\n","import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport { ModelUpdatedEvent, InsertSoundEvent, DeleteSoundEvent } from '@pie-framework/pie-configure-events';\n\nimport Main from './main';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('likert:configure');\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model,\n };\n};\n\nexport default class Likert extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n choices: (model && model.choices) || [],\n });\n\n constructor() {\n super();\n this._model = Likert.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = Likert.createDefaultModel(s);\n this._model = {\n ...this._model,\n choices: this._model.choices.map((choice) => ({ ...choice, value: parseInt(choice.value) })),\n };\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n this._configuration = info.configuration;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this._render();\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(element, this);\n }\n}\n"],"names":["LIKERT_SCALE","likert3","likert5","likert7","LIKERT_TYPE","agreement","frequency","yesNo","importance","likelihood","like","LIKERT_ORIENTATION","horizontal","vertical","likert3Agreement","label","value","likert5Agreement","likert7Agreement","likert3Frequency","likert5Frequency","likert7Frequency","likert3YesNo","likert5YesNo","likert7YesNo","likert3Likelihood","likert5Likelihood","likert7Likelihood","likert3Importance","likert5Importance","likert7Importance","likert3Like","likert5Like","likert7Like","generateChoices","likertScale","likertType","Panel","toggle","radio","settings","styles","theme","promptHolder","width","paddingTop","spacing","unit","marginBottom","radioButtonsWrapper","display","flexDirection","radioButtonsColumnHeader","color","palette","grey","fontSize","typography","likertLabelHolder","alignItems","likertOptionsHolder","justifyContent","likertLabelInput","marginRight","errorMessage","error","main","width100","flexRow","likertValueHolder","paddingLeft","likertLabelEditableHtml","inputFormGroupIndex","errorText","customColor","tertiary","LikertOrientation","withStyles","props","classes","model","onChangeModel","onChangeLikertOrientation","e","likertOrientation","target","LikertScale","onChangeLikertScale","choices","LikertType","onChangeLikertType","buildValuesMap","reduce","acc","choice","accClone","choiceValue","parseInt","Design","configuration","imageSupport","onChoiceChanged","onConfigurationChanged","onPromptChanged","onTeacherInstructionsChanged","uploadSoundSupport","contentDimensions","prompt","scoringType","settingsPanelDisabled","spellCheck","teacherInstructions","baseInputConfiguration","likertChoice","errors","extraCSSRules","spellCheckEnabled","teacherInstructionsEnabled","promptError","teacherInstructionsError","valuesMap","panelProperties","getPluginProps","Object","assign","Properties","inputConfiguration","map","index","c","t","Main","React","Component","onModelChanged","merge","splice","render","propTypes","PropTypes","object","isRequired","disableSidePanel","bool","func","shape","add","delete","Styled","promptEnabled","audio","disabled","video","image","textAlign","showParagraphs","separateParagraphs","required","enabled","log","debug","prepareCustomizationObject","config","defaults","sensibleDefaults","Likert","HTMLElement","constructor","_model","createDefaultModel","_configuration","bind","s","_render","info","_disableSidePanel","dispatchModelUpdated","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","insertSound","handler","InsertSoundEvent","onDeleteSound","src","done","DeleteSoundEvent","element","createElement","ReactDOM"],"mappings":"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"}
@@ -0,0 +1,96 @@
1
+ function _extends() {
2
+ _extends = Object.assign || function (target) {
3
+ for (var i = 1; i < arguments.length; i++) {
4
+ var source = arguments[i];
5
+
6
+ for (var key in source) {
7
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
8
+ target[key] = source[key];
9
+ }
10
+ }
11
+ }
12
+
13
+ return target;
14
+ };
15
+
16
+ return _extends.apply(this, arguments);
17
+ }
18
+
19
+ var defaults = {
20
+ choices: [],
21
+ likertOrientation: 'horizontal',
22
+ likertScale: 'likert3',
23
+ likertType: 'agreement',
24
+ prompt: '',
25
+ promptEnabled: true,
26
+ teacherInstructions: '',
27
+ teacherInstructionsEnabled: true
28
+ };
29
+
30
+ const prepareChoice = choice => {
31
+ return {
32
+ label: choice.label,
33
+ value: choice.value
34
+ };
35
+ };
36
+
37
+ function createDefaultModel(model = {}) {
38
+ return new Promise(resolve => resolve(_extends({}, defaults, model)));
39
+ }
40
+ const normalize = question => _extends({}, defaults, question);
41
+ /**
42
+ *
43
+ * @param {*} question
44
+ * @param {*} session
45
+ * @param {*} env
46
+ */
47
+
48
+ async function model(question, session, env) {
49
+ const normalizedQuestion = normalize(question);
50
+ let choices = normalizedQuestion.choices.map(prepareChoice);
51
+
52
+ const out = _extends({}, normalizedQuestion, {
53
+ choices,
54
+ disabled: env.mode !== 'gather',
55
+ mode: env.mode
56
+ });
57
+
58
+ const {
59
+ role,
60
+ mode
61
+ } = env || {};
62
+
63
+ if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
64
+ out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
65
+ } else {
66
+ out.teacherInstructions = null;
67
+ }
68
+
69
+ return out;
70
+ }
71
+ function outcome() {
72
+ return new Promise(resolve => {
73
+ resolve({
74
+ score: 0,
75
+ empty: false
76
+ });
77
+ });
78
+ } // remove all html tags
79
+
80
+
81
+ const getContent = html => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');
82
+
83
+ const validate = (model = {}, config = {}) => {
84
+ const errors = {};
85
+ ['teacherInstructions', 'prompt'].forEach(field => {
86
+ var _config$field;
87
+
88
+ if ((_config$field = config[field]) != null && _config$field.required && !getContent(model[field])) {
89
+ errors[field] = 'This field is required.';
90
+ }
91
+ });
92
+ return errors;
93
+ };
94
+
95
+ export { createDefaultModel, model, normalize, outcome, validate };
96
+ //# sourceMappingURL=controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"controller.js","sources":["../controller/src/defaults.js","../controller/src/index.js"],"sourcesContent":["export default {\n choices: [],\n likertOrientation: 'horizontal',\n likertScale: 'likert3',\n likertType: 'agreement',\n prompt: '',\n promptEnabled: true,\n teacherInstructions: '',\n teacherInstructionsEnabled: true,\n};\n","import defaults from './defaults';\n\nconst prepareChoice = (choice) => {\n return {\n label: choice.label,\n value: choice.value,\n };\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => resolve({ ...defaults, ...model }));\n}\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = normalize(question);\n\n let choices = normalizedQuestion.choices.map(prepareChoice);\n\n const out = {\n ...normalizedQuestion,\n choices,\n disabled: env.mode !== 'gather',\n mode: env.mode,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome() {\n return new Promise((resolve) => {\n resolve({ score: 0, empty: false });\n });\n}\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'prompt'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"names":["choices","likertOrientation","likertScale","likertType","prompt","promptEnabled","teacherInstructions","teacherInstructionsEnabled","prepareChoice","choice","label","value","createDefaultModel","model","Promise","resolve","defaults","normalize","question","session","env","normalizedQuestion","map","out","disabled","mode","role","outcome","score","empty","getContent","html","replace","validate","config","errors","forEach","field","required"],"mappings":";;;;;;;;;;;;;;;;;;AAAA,eAAe;AACbA,EAAAA,OAAO,EAAE,EADI;AAEbC,EAAAA,iBAAiB,EAAE,YAFN;AAGbC,EAAAA,WAAW,EAAE,SAHA;AAIbC,EAAAA,UAAU,EAAE,WAJC;AAKbC,EAAAA,MAAM,EAAE,EALK;AAMbC,EAAAA,aAAa,EAAE,IANF;AAObC,EAAAA,mBAAmB,EAAE,EAPR;AAQbC,EAAAA,0BAA0B,EAAE,IAAA;AARf,CAAf;;ACEA,MAAMC,aAAa,GAAIC,MAAD,IAAY;AAChC,EAAO,OAAA;AACLC,IAAAA,KAAK,EAAED,MAAM,CAACC,KADT;AAELC,IAAAA,KAAK,EAAEF,MAAM,CAACE,KAAAA;AAFT,GAAP,CAAA;AAID,CALD,CAAA;;AAOO,SAASC,kBAAT,CAA4BC,KAAK,GAAG,EAApC,EAAwC;AAC7C,EAAO,OAAA,IAAIC,OAAJ,CAAaC,OAAD,IAAaA,OAAO,CAAA,QAAA,CAAA,EAAA,EAAMC,QAAN,EAAmBH,KAAnB,CAAA,CAAhC,CAAP,CAAA;AACD,CAAA;AAEM,MAAMI,SAAS,GAAIC,QAAD,iBAAoBF,QAApB,EAAiCE,QAAjC,EAAlB;AAEP;AACA;AACA;AACA;AACA;AACA;;AACO,eAAeL,KAAf,CAAqBK,QAArB,EAA+BC,OAA/B,EAAwCC,GAAxC,EAA6C;AAClD,EAAA,MAAMC,kBAAkB,GAAGJ,SAAS,CAACC,QAAD,CAApC,CAAA;AAEA,EAAIlB,IAAAA,OAAO,GAAGqB,kBAAkB,CAACrB,OAAnB,CAA2BsB,GAA3B,CAA+Bd,aAA/B,CAAd,CAAA;;AAEA,EAAMe,MAAAA,GAAG,gBACJF,kBADI,EAAA;AAEPrB,IAAAA,OAFO;AAGPwB,IAAAA,QAAQ,EAAEJ,GAAG,CAACK,IAAJ,KAAa,QAHhB;AAIPA,IAAAA,IAAI,EAAEL,GAAG,CAACK,IAAAA;AAJH,GAAT,CAAA,CAAA;;AAOA,EAAM,MAAA;AAAEC,IAAAA,IAAF;AAAQD,IAAAA,IAAAA;AAAR,GAAiBL,GAAAA,GAAG,IAAI,EAA9B,CAAA;;AAEA,EAAA,IAAIM,IAAI,KAAK,YAAT,KAA0BD,IAAI,KAAK,MAAT,IAAmBA,IAAI,KAAK,UAAtD,CAAJ,EAAuE;AACrEF,IAAAA,GAAG,CAACjB,mBAAJ,GAA0Be,kBAAkB,CAACd,0BAAnB,GACtBc,kBAAkB,CAACf,mBADG,GAEtB,IAFJ,CAAA;AAGD,GAJD,MAIO;AACLiB,IAAAA,GAAG,CAACjB,mBAAJ,GAA0B,IAA1B,CAAA;AACD,GAAA;;AAED,EAAA,OAAOiB,GAAP,CAAA;AACD,CAAA;AAEM,SAASI,OAAT,GAAmB;AACxB,EAAA,OAAO,IAAIb,OAAJ,CAAaC,OAAD,IAAa;AAC9BA,IAAAA,OAAO,CAAC;AAAEa,MAAAA,KAAK,EAAE,CAAT;AAAYC,MAAAA,KAAK,EAAE,KAAA;AAAnB,KAAD,CAAP,CAAA;AACD,GAFM,CAAP,CAAA;AAGD;;;AAMD,MAAMC,UAAU,GAAIC,IAAD,IAAU,CAACA,IAAI,IAAI,EAAT,EAAaC,OAAb,CAAqB,oCAArB,EAA2D,EAA3D,CAA7B,CAAA;;AAEO,MAAMC,QAAQ,GAAG,CAACpB,KAAK,GAAG,EAAT,EAAaqB,MAAM,GAAG,EAAtB,KAA6B;AACnD,EAAMC,MAAAA,MAAM,GAAG,EAAf,CAAA;AAEA,EAAA,CAAC,qBAAD,EAAwB,QAAxB,EAAkCC,OAAlC,CAA2CC,KAAD,IAAW;AAAA,IAAA,IAAA,aAAA,CAAA;;AACnD,IAAA,IAAI,iBAAAH,MAAM,CAACG,KAAD,CAAN,2BAAeC,QAAf,IAA2B,CAACR,UAAU,CAACjB,KAAK,CAACwB,KAAD,CAAN,CAA1C,EAA0D;AACxDF,MAAAA,MAAM,CAACE,KAAD,CAAN,GAAgB,yBAAhB,CAAA;AACD,KAAA;AACF,GAJD,CAAA,CAAA;AAMA,EAAA,OAAOF,MAAP,CAAA;AACD;;;;"}
package/esm/element.js ADDED
@@ -0,0 +1,322 @@
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { withStyles, createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';
4
+ import { color, Collapsible, PreviewPrompt, PreviewLayout } from '@pie-lib/render-ui';
5
+ import FormControlLabel from '@material-ui/core/FormControlLabel';
6
+ import Radio from '@material-ui/core/Radio';
7
+ import classNames from 'classnames';
8
+ import ReactDOM from 'react-dom';
9
+ import { SessionChangedEvent } from '@pie-framework/pie-player-events';
10
+ import { renderMath } from '@pie-lib/math-rendering';
11
+
12
+ function _extends() {
13
+ _extends = Object.assign || function (target) {
14
+ for (var i = 1; i < arguments.length; i++) {
15
+ var source = arguments[i];
16
+
17
+ for (var key in source) {
18
+ if (Object.prototype.hasOwnProperty.call(source, key)) {
19
+ target[key] = source[key];
20
+ }
21
+ }
22
+ }
23
+
24
+ return target;
25
+ };
26
+
27
+ return _extends.apply(this, arguments);
28
+ }
29
+
30
+ const LIKERT_ORIENTATION = {
31
+ horizontal: 'horizontal',
32
+ vertical: 'vertical'
33
+ };
34
+
35
+ const radioStyles = {
36
+ root: {
37
+ color: `var(--choice-input-color, ${color.text()})`
38
+ },
39
+ checked: {
40
+ color: `var(--choice-input-selected-color, ${color.text()})`
41
+ }
42
+ };
43
+ const RadioStyled = withStyles(radioStyles)(props => {
44
+ const {
45
+ classes,
46
+ checked,
47
+ onChange,
48
+ disabled
49
+ } = props;
50
+ return /*#__PURE__*/React.createElement(Radio, {
51
+ checked: checked,
52
+ onChange: onChange,
53
+ disabled: disabled,
54
+ classes: {
55
+ root: classes.root,
56
+ checked: classes.checked
57
+ }
58
+ });
59
+ });
60
+
61
+ const choiceInputStyles = () => ({
62
+ labelRoot: {
63
+ color: color.text(),
64
+ textAlign: 'center',
65
+ cursor: 'pointer'
66
+ },
67
+ checkboxHolderRoot: {
68
+ display: 'flex',
69
+ alignItems: 'center',
70
+ flex: 1,
71
+ padding: '0 5px',
72
+ '& label': {}
73
+ },
74
+ formControlLabelRoot: {
75
+ margin: 0
76
+ }
77
+ });
78
+
79
+ class ChoiceInput extends React.Component {
80
+ constructor(...args) {
81
+ super(...args);
82
+
83
+ this.onToggleChoice = () => {
84
+ this.props.onChange({
85
+ value: this.props.value,
86
+ selected: !this.props.checked
87
+ });
88
+ };
89
+ }
90
+
91
+ render() {
92
+ const {
93
+ disabled,
94
+ label,
95
+ checked,
96
+ likertOrientation,
97
+ classes
98
+ } = this.props;
99
+ const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'row' : 'column';
100
+ return /*#__PURE__*/React.createElement("div", {
101
+ className: classes.checkboxHolderRoot,
102
+ style: {
103
+ flexDirection
104
+ }
105
+ }, /*#__PURE__*/React.createElement(FormControlLabel, {
106
+ disabled: disabled,
107
+ className: classes.formControlLabelRoot,
108
+ control: /*#__PURE__*/React.createElement(RadioStyled, {
109
+ checked: checked,
110
+ onChange: this.onToggleChoice
111
+ })
112
+ }), /*#__PURE__*/React.createElement("p", {
113
+ className: classes.labelRoot,
114
+ onClick: this.onToggleChoice,
115
+ dangerouslySetInnerHTML: {
116
+ __html: label
117
+ }
118
+ }));
119
+ }
120
+
121
+ }
122
+ ChoiceInput.propTypes = {
123
+ checked: PropTypes.bool.isRequired,
124
+ disabled: PropTypes.bool.isRequired,
125
+ label: PropTypes.string.isRequired,
126
+ likertOrientation: PropTypes.string.isRequired,
127
+ onChange: PropTypes.func.isRequired,
128
+ value: PropTypes.number.isRequired,
129
+ classes: PropTypes.object
130
+ };
131
+ ChoiceInput.defaultProps = {
132
+ checked: false
133
+ };
134
+ var ChoiceInput$1 = withStyles(choiceInputStyles)(ChoiceInput);
135
+
136
+ const styles = theme => ({
137
+ main: {
138
+ color: color.text(),
139
+ backgroundColor: color.background(),
140
+ '& *': {
141
+ fontFamily: 'Roboto, Arial, Helvetica, sans-serif',
142
+ '-webkit-font-smoothing': 'antialiased'
143
+ }
144
+ },
145
+ teacherInstructions: {
146
+ marginBottom: theme.spacing.unit * 2
147
+ },
148
+ prompt: {
149
+ verticalAlign: 'middle',
150
+ color: 'var(--pie-primary-text, var(--pie-text, #000000))',
151
+ paddingBottom: theme.spacing.unit * 2
152
+ },
153
+ choicesWrapper: {
154
+ display: 'flex'
155
+ }
156
+ });
157
+
158
+ class Likert$1 extends React.Component {
159
+ UNSAFE_componentWillReceiveProps() {}
160
+
161
+ isSelected(value) {
162
+ return this.props.session && this.props.session.value === value;
163
+ }
164
+
165
+ render() {
166
+ const {
167
+ disabled,
168
+ choices = [],
169
+ prompt,
170
+ onSessionChange,
171
+ teacherInstructions,
172
+ classes,
173
+ className,
174
+ likertOrientation
175
+ } = this.props;
176
+ const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'column' : 'row';
177
+ return /*#__PURE__*/React.createElement("div", {
178
+ className: classNames(classes.main, className)
179
+ }, teacherInstructions && /*#__PURE__*/React.createElement(Collapsible, {
180
+ className: classes.teacherInstructions,
181
+ labels: {
182
+ hidden: 'Show Teacher Instructions',
183
+ visible: 'Hide Teacher Instructions'
184
+ }
185
+ }, /*#__PURE__*/React.createElement(PreviewPrompt, {
186
+ prompt: teacherInstructions
187
+ })), prompt && /*#__PURE__*/React.createElement("div", {
188
+ className: classes.prompt
189
+ }, /*#__PURE__*/React.createElement(PreviewPrompt, {
190
+ prompt: prompt
191
+ })), /*#__PURE__*/React.createElement("div", {
192
+ className: classes.choicesWrapper,
193
+ style: {
194
+ flexDirection
195
+ }
196
+ }, choices.map((choice, index) => /*#__PURE__*/React.createElement(ChoiceInput$1, {
197
+ key: `choice-${index}`,
198
+ label: choice.label,
199
+ value: choice.value,
200
+ index: index,
201
+ disabled: disabled,
202
+ onChange: onSessionChange,
203
+ likertOrientation: likertOrientation,
204
+ checked: this.isSelected(choice.value)
205
+ }))));
206
+ }
207
+
208
+ }
209
+ Likert$1.propTypes = {
210
+ className: PropTypes.string,
211
+ choices: PropTypes.array,
212
+ prompt: PropTypes.string,
213
+ teacherInstructions: PropTypes.string,
214
+ session: PropTypes.object,
215
+ disabled: PropTypes.bool.isRequired,
216
+ onSessionChange: PropTypes.func.isRequired,
217
+ likertOrientation: PropTypes.string.isRequired,
218
+ classes: PropTypes.object.isRequired
219
+ };
220
+ Likert$1.defaultProps = {
221
+ session: {
222
+ value: []
223
+ }
224
+ };
225
+ var Likert$2 = withStyles(styles)(Likert$1);
226
+
227
+ class Main extends React.Component {
228
+ render() {
229
+ const {
230
+ model,
231
+ onSessionChange,
232
+ session
233
+ } = this.props;
234
+ const {
235
+ extraCSSRules
236
+ } = model;
237
+ return /*#__PURE__*/React.createElement(PreviewLayout, {
238
+ extraCSSRules: extraCSSRules
239
+ }, /*#__PURE__*/React.createElement(Likert$2, _extends({}, model, {
240
+ session: session,
241
+ onSessionChange: onSessionChange
242
+ })));
243
+ }
244
+
245
+ }
246
+
247
+ Main.propTypes = {
248
+ model: PropTypes.object,
249
+ session: PropTypes.object,
250
+ onSessionChange: PropTypes.func,
251
+ classes: PropTypes.object.isRequired
252
+ };
253
+ Main.defaultProps = {
254
+ model: {},
255
+ session: {}
256
+ };
257
+ const Styled = withStyles({}, {
258
+ name: 'Main'
259
+ })(Main);
260
+ const theme = createMuiTheme({
261
+ typography: {
262
+ useNextVariants: true
263
+ }
264
+ });
265
+
266
+ const Root = props => /*#__PURE__*/React.createElement(MuiThemeProvider, {
267
+ theme: theme
268
+ }, /*#__PURE__*/React.createElement(Styled, props));
269
+
270
+ const isComplete = session => !!(session && session.value && session.value.length);
271
+ class Likert extends HTMLElement {
272
+ constructor() {
273
+ super();
274
+ }
275
+
276
+ set model(m) {
277
+ this._model = m;
278
+
279
+ this._render();
280
+ }
281
+
282
+ set session(s) {
283
+ this._session = s;
284
+
285
+ this._render();
286
+ }
287
+
288
+ get session() {
289
+ return this._session;
290
+ }
291
+
292
+ sessionChanged(s) {
293
+ this._session.value = s.value;
294
+ const complete = isComplete(this._session, this._model);
295
+ this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), complete));
296
+
297
+ this._render();
298
+ }
299
+
300
+ connectedCallback() {
301
+ this._render();
302
+ }
303
+
304
+ _render() {
305
+ if (!this._model || !this._session) {
306
+ return;
307
+ }
308
+
309
+ const el = /*#__PURE__*/React.createElement(Root, {
310
+ model: this._model,
311
+ session: this._session,
312
+ onSessionChange: this.sessionChanged.bind(this)
313
+ });
314
+ ReactDOM.render(el, this, () => {
315
+ renderMath(this);
316
+ });
317
+ }
318
+
319
+ }
320
+
321
+ export { Likert as default, isComplete };
322
+ //# sourceMappingURL=element.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"element.js","sources":["../src/likertEntities.js","../src/choice-input.jsx","../src/likert.jsx","../src/main.jsx","../src/index.js"],"sourcesContent":["export const LIKERT_ORIENTATION = {\n horizontal: 'horizontal',\n vertical: 'vertical',\n};\n","import React from 'react';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { color } from '@pie-lib/render-ui';\nimport Radio from '@material-ui/core/Radio';\nimport { LIKERT_ORIENTATION } from './likertEntities';\n\nconst radioStyles = {\n root: {\n color: `var(--choice-input-color, ${color.text()})`,\n },\n checked: {\n color: `var(--choice-input-selected-color, ${color.text()})`,\n },\n};\n\nexport const RadioStyled = withStyles(radioStyles)((props) => {\n const { classes, checked, onChange, disabled } = props;\n\n return (\n <Radio\n checked={checked}\n onChange={onChange}\n disabled={disabled}\n classes={{\n root: classes.root,\n checked: classes.checked,\n }}\n />\n );\n});\n\nconst choiceInputStyles = () => ({\n labelRoot: {\n color: color.text(),\n textAlign: 'center',\n cursor: 'pointer',\n },\n checkboxHolderRoot: {\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n padding: '0 5px',\n '& label': {},\n },\n formControlLabelRoot: {\n margin: 0,\n },\n});\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n label: PropTypes.string.isRequired,\n likertOrientation: PropTypes.string.isRequired,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.number.isRequired,\n classes: PropTypes.object,\n };\n\n static defaultProps = {\n checked: false,\n };\n\n onToggleChoice = () => {\n this.props.onChange({\n value: this.props.value,\n selected: !this.props.checked,\n });\n };\n\n render() {\n const { disabled, label, checked, likertOrientation, classes } = this.props;\n const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'row' : 'column';\n\n return (\n <div className={classes.checkboxHolderRoot} style={{ flexDirection }}>\n <FormControlLabel\n disabled={disabled}\n className={classes.formControlLabelRoot}\n control={<RadioStyled checked={checked} onChange={this.onToggleChoice} />}\n />\n <p className={classes.labelRoot} onClick={this.onToggleChoice} dangerouslySetInnerHTML={{ __html: label }} />\n </div>\n );\n }\n}\n\nexport default withStyles(choiceInputStyles)(ChoiceInput);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport ChoiceInput from './choice-input';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\nimport { LIKERT_ORIENTATION } from './likertEntities';\nimport classNames from 'classnames';\n\nconst styles = (theme) => ({\n main: {\n color: color.text(),\n backgroundColor: color.background(),\n '& *': {\n fontFamily: 'Roboto, Arial, Helvetica, sans-serif',\n '-webkit-font-smoothing': 'antialiased',\n },\n },\n teacherInstructions: {\n marginBottom: theme.spacing.unit * 2,\n },\n prompt: {\n verticalAlign: 'middle',\n color: 'var(--pie-primary-text, var(--pie-text, #000000))',\n paddingBottom: theme.spacing.unit * 2,\n },\n choicesWrapper: {\n display: 'flex',\n },\n});\n\nexport class Likert extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n choices: PropTypes.array,\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n likertOrientation: PropTypes.string.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n UNSAFE_componentWillReceiveProps() {}\n\n isSelected(value) {\n return this.props.session && this.props.session.value === value;\n }\n\n render() {\n const {\n disabled,\n choices = [],\n prompt,\n onSessionChange,\n teacherInstructions,\n classes,\n className,\n likertOrientation,\n } = this.props;\n\n const flexDirection = likertOrientation === LIKERT_ORIENTATION.vertical ? 'column' : 'row';\n\n return (\n <div className={classNames(classes.main, className)}>\n {teacherInstructions && (\n <Collapsible\n className={classes.teacherInstructions}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={prompt} />\n </div>\n )}\n\n <div className={classes.choicesWrapper} style={{ flexDirection }}>\n {choices.map((choice, index) => (\n <ChoiceInput\n key={`choice-${index}`}\n label={choice.label}\n value={choice.value}\n index={index}\n disabled={disabled}\n onChange={onSessionChange}\n likertOrientation={likertOrientation}\n checked={this.isSelected(choice.value)}\n />\n ))}\n </div>\n </div>\n );\n }\n}\n\nLikert.defaultProps = {\n session: {\n value: [],\n },\n};\n\nexport default withStyles(styles)(Likert);\n","import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport Likert from './likert';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n classes: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const { model, onSessionChange, session } = this.props;\n const { extraCSSRules } = model;\n\n return (\n <PreviewLayout extraCSSRules={extraCSSRules}>\n <Likert {...model} session={session} onSessionChange={onSessionChange} />\n </PreviewLayout>\n );\n }\n}\n\nconst Styled = withStyles({}, { name: 'Main' })(Main);\n\nconst theme = createMuiTheme({\n typography: {\n useNextVariants: true,\n },\n});\n\nconst Root = (props) => (\n <MuiThemeProvider theme={theme}>\n <Styled {...props} />\n </MuiThemeProvider>\n);\n\nexport default Root;\n","import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nexport const isComplete = (session) => !!(session && session.value && session.value.length);\n\nexport default class Likert extends HTMLElement {\n constructor() {\n super();\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n sessionChanged(s) {\n this._session.value = s.value;\n const complete = isComplete(this._session, this._model);\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), complete));\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"names":["LIKERT_ORIENTATION","horizontal","vertical","radioStyles","root","color","text","checked","RadioStyled","withStyles","props","classes","onChange","disabled","choiceInputStyles","labelRoot","textAlign","cursor","checkboxHolderRoot","display","alignItems","flex","padding","formControlLabelRoot","margin","ChoiceInput","React","Component","onToggleChoice","value","selected","render","label","likertOrientation","flexDirection","__html","propTypes","PropTypes","bool","isRequired","string","func","number","object","defaultProps","styles","theme","main","backgroundColor","background","fontFamily","teacherInstructions","marginBottom","spacing","unit","prompt","verticalAlign","paddingBottom","choicesWrapper","Likert","UNSAFE_componentWillReceiveProps","isSelected","session","choices","onSessionChange","className","classNames","hidden","visible","map","choice","index","array","Main","model","extraCSSRules","Styled","name","createMuiTheme","typography","useNextVariants","Root","isComplete","length","HTMLElement","constructor","m","_model","_render","s","_session","sessionChanged","complete","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","connectedCallback","el","createElement","bind","ReactDOM","renderMath"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAO,MAAMA,kBAAkB,GAAG;AAChCC,EAAAA,UAAU,EAAE,YADoB;AAEhCC,EAAAA,QAAQ,EAAE,UAAA;AAFsB,CAA3B;;ACSP,MAAMC,WAAW,GAAG;AAClBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,EAAG,CAAA,0BAAA,EAA4BA,KAAK,CAACC,IAAN,EAAa,CAAA,CAAA,CAAA;AAD7C,GADY;AAIlBC,EAAAA,OAAO,EAAE;AACPF,IAAAA,KAAK,EAAG,CAAA,mCAAA,EAAqCA,KAAK,CAACC,IAAN,EAAa,CAAA,CAAA,CAAA;AADnD,GAAA;AAJS,CAApB,CAAA;AASO,MAAME,WAAW,GAAGC,UAAU,CAACN,WAAD,CAAV,CAAyBO,KAAD,IAAW;AAC5D,EAAM,MAAA;AAAEC,IAAAA,OAAF;AAAWJ,IAAAA,OAAX;AAAoBK,IAAAA,QAApB;AAA8BC,IAAAA,QAAAA;AAA9B,GAAA,GAA2CH,KAAjD,CAAA;AAEA,EAAA,oBACE,oBAAC,KAAD,EAAA;AACE,IAAA,OAAO,EAAEH,OADX;AAEE,IAAA,QAAQ,EAAEK,QAFZ;AAGE,IAAA,QAAQ,EAAEC,QAHZ;AAIE,IAAA,OAAO,EAAE;AACPT,MAAAA,IAAI,EAAEO,OAAO,CAACP,IADP;AAEPG,MAAAA,OAAO,EAAEI,OAAO,CAACJ,OAAAA;AAFV,KAAA;AAJX,GADF,CAAA,CAAA;AAWD,CAd0B,CAApB,CAAA;;AAgBP,MAAMO,iBAAiB,GAAG,OAAO;AAC/BC,EAAAA,SAAS,EAAE;AACTV,IAAAA,KAAK,EAAEA,KAAK,CAACC,IAAN,EADE;AAETU,IAAAA,SAAS,EAAE,QAFF;AAGTC,IAAAA,MAAM,EAAE,SAAA;AAHC,GADoB;AAM/BC,EAAAA,kBAAkB,EAAE;AAClBC,IAAAA,OAAO,EAAE,MADS;AAElBC,IAAAA,UAAU,EAAE,QAFM;AAGlBC,IAAAA,IAAI,EAAE,CAHY;AAIlBC,IAAAA,OAAO,EAAE,OAJS;AAKlB,IAAW,SAAA,EAAA,EAAA;AALO,GANW;AAa/BC,EAAAA,oBAAoB,EAAE;AACpBC,IAAAA,MAAM,EAAE,CAAA;AADY,GAAA;AAbS,CAAP,CAA1B,CAAA;;AAkBO,MAAMC,WAAN,SAA0BC,KAAK,CAACC,SAAhC,CAA0C;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA,CAAA;;AAAA,IAe/CC,IAAAA,CAAAA,cAf+C,GAe9B,MAAM;AACrB,MAAKlB,IAAAA,CAAAA,KAAL,CAAWE,QAAX,CAAoB;AAClBiB,QAAAA,KAAK,EAAE,IAAKnB,CAAAA,KAAL,CAAWmB,KADA;AAElBC,QAAAA,QAAQ,EAAE,CAAC,IAAA,CAAKpB,KAAL,CAAWH,OAAAA;AAFJ,OAApB,CAAA,CAAA;AAID,KApB8C,CAAA;AAAA,GAAA;;AAsB/CwB,EAAAA,MAAM,GAAG;AACP,IAAM,MAAA;AAAElB,MAAAA,QAAF;AAAYmB,MAAAA,KAAZ;AAAmBzB,MAAAA,OAAnB;AAA4B0B,MAAAA,iBAA5B;AAA+CtB,MAAAA,OAAAA;AAA/C,KAAA,GAA2D,KAAKD,KAAtE,CAAA;AACA,IAAMwB,MAAAA,aAAa,GAAGD,iBAAiB,KAAKjC,kBAAkB,CAACE,QAAzC,GAAoD,KAApD,GAA4D,QAAlF,CAAA;AAEA,IACE,oBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAES,OAAO,CAACO,kBAAxB;AAA4C,MAAA,KAAK,EAAE;AAAEgB,QAAAA,aAAAA;AAAF,OAAA;AAAnD,KAAA,eACE,oBAAC,gBAAD,EAAA;AACE,MAAA,QAAQ,EAAErB,QADZ;AAEE,MAAA,SAAS,EAAEF,OAAO,CAACY,oBAFrB;AAGE,MAAA,OAAO,eAAE,KAAA,CAAA,aAAA,CAAC,WAAD,EAAA;AAAa,QAAA,OAAO,EAAEhB,OAAtB;AAA+B,QAAA,QAAQ,EAAE,IAAKqB,CAAAA,cAAAA;AAA9C,OAAA,CAAA;AAHX,KAAA,CADF,eAME,KAAA,CAAA,aAAA,CAAA,GAAA,EAAA;AAAG,MAAA,SAAS,EAAEjB,OAAO,CAACI,SAAtB;AAAiC,MAAA,OAAO,EAAE,IAAA,CAAKa,cAA/C;AAA+D,MAAA,uBAAuB,EAAE;AAAEO,QAAAA,MAAM,EAAEH,KAAAA;AAAV,OAAA;AAAxF,KAAA,CANF,CADF,CAAA;AAUD,GAAA;;AApC8C,CAAA;AAApCP,YACJW,YAAY;AACjB7B,EAAAA,OAAO,EAAE8B,SAAS,CAACC,IAAV,CAAeC,UADP;AAEjB1B,EAAAA,QAAQ,EAAEwB,SAAS,CAACC,IAAV,CAAeC,UAFR;AAGjBP,EAAAA,KAAK,EAAEK,SAAS,CAACG,MAAV,CAAiBD,UAHP;AAIjBN,EAAAA,iBAAiB,EAAEI,SAAS,CAACG,MAAV,CAAiBD,UAJnB;AAKjB3B,EAAAA,QAAQ,EAAEyB,SAAS,CAACI,IAAV,CAAeF,UALR;AAMjBV,EAAAA,KAAK,EAAEQ,SAAS,CAACK,MAAV,CAAiBH,UANP;AAOjB5B,EAAAA,OAAO,EAAE0B,SAAS,CAACM,MAAAA;AAPF;AADRlB,YAWJmB,eAAe;AACpBrC,EAAAA,OAAO,EAAE,KAAA;AADW;AA4BxB,oBAAeE,UAAU,CAACK,iBAAD,CAAV,CAA8BW,WAA9B,CAAf;;ACnFA,MAAMoB,MAAM,GAAIC,KAAD,KAAY;AACzBC,EAAAA,IAAI,EAAE;AACJ1C,IAAAA,KAAK,EAAEA,KAAK,CAACC,IAAN,EADH;AAEJ0C,IAAAA,eAAe,EAAE3C,KAAK,CAAC4C,UAAN,EAFb;AAGJ,IAAO,KAAA,EAAA;AACLC,MAAAA,UAAU,EAAE,sCADP;AAEL,MAA0B,wBAAA,EAAA,aAAA;AAFrB,KAAA;AAHH,GADmB;AASzBC,EAAAA,mBAAmB,EAAE;AACnBC,IAAAA,YAAY,EAAEN,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAAA;AADhB,GATI;AAYzBC,EAAAA,MAAM,EAAE;AACNC,IAAAA,aAAa,EAAE,QADT;AAENnD,IAAAA,KAAK,EAAE,mDAFD;AAGNoD,IAAAA,aAAa,EAAEX,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAAA;AAH9B,GAZiB;AAiBzBI,EAAAA,cAAc,EAAE;AACdvC,IAAAA,OAAO,EAAE,MAAA;AADK,GAAA;AAjBS,CAAZ,CAAf,CAAA;;AAsBO,MAAMwC,QAAN,SAAqBjC,KAAK,CAACC,SAA3B,CAAqC;AAa1CiC,EAAAA,gCAAgC,GAAG,EAAE;;AAErCC,EAAAA,UAAU,CAAChC,KAAD,EAAQ;AAChB,IAAA,OAAO,IAAKnB,CAAAA,KAAL,CAAWoD,OAAX,IAAsB,IAAA,CAAKpD,KAAL,CAAWoD,OAAX,CAAmBjC,KAAnB,KAA6BA,KAA1D,CAAA;AACD,GAAA;;AAEDE,EAAAA,MAAM,GAAG;AACP,IAAM,MAAA;AACJlB,MAAAA,QADI;AAEJkD,MAAAA,OAAO,GAAG,EAFN;AAGJR,MAAAA,MAHI;AAIJS,MAAAA,eAJI;AAKJb,MAAAA,mBALI;AAMJxC,MAAAA,OANI;AAOJsD,MAAAA,SAPI;AAQJhC,MAAAA,iBAAAA;AARI,KAAA,GASF,KAAKvB,KATT,CAAA;AAWA,IAAMwB,MAAAA,aAAa,GAAGD,iBAAiB,KAAKjC,kBAAkB,CAACE,QAAzC,GAAoD,QAApD,GAA+D,KAArF,CAAA;AAEA,IACE,oBAAA,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAEgE,UAAU,CAACvD,OAAO,CAACoC,IAAT,EAAekB,SAAf,CAAA;AAA1B,KACGd,EAAAA,mBAAmB,iBAClB,KAAA,CAAA,aAAA,CAAC,WAAD,EAAA;AACE,MAAA,SAAS,EAAExC,OAAO,CAACwC,mBADrB;AAEE,MAAA,MAAM,EAAE;AACNgB,QAAAA,MAAM,EAAE,2BADF;AAENC,QAAAA,OAAO,EAAE,2BAAA;AAFH,OAAA;AAFV,KAAA,eAOE,oBAAC,aAAD,EAAA;AAAe,MAAA,MAAM,EAAEjB,mBAAAA;AAAvB,KAPF,CAAA,CAFJ,EAaGI,MAAM,iBACL,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAE5C,OAAO,CAAC4C,MAAAA;AAAxB,KAAA,eACE,oBAAC,aAAD,EAAA;AAAe,MAAA,MAAM,EAAEA,MAAAA;AAAvB,KAAA,CADF,CAdJ,eAmBE,KAAA,CAAA,aAAA,CAAA,KAAA,EAAA;AAAK,MAAA,SAAS,EAAE5C,OAAO,CAAC+C,cAAxB;AAAwC,MAAA,KAAK,EAAE;AAAExB,QAAAA,aAAAA;AAAF,OAAA;AAA/C,KACG6B,EAAAA,OAAO,CAACM,GAAR,CAAY,CAACC,MAAD,EAASC,KAAT,kBACX,KAAA,CAAA,aAAA,CAAC9C,aAAD,EAAA;AACE,MAAA,GAAG,EAAG,CAAS8C,OAAAA,EAAAA,KAAM,CADvB,CAAA;AAEE,MAAA,KAAK,EAAED,MAAM,CAACtC,KAFhB;AAGE,MAAA,KAAK,EAAEsC,MAAM,CAACzC,KAHhB;AAIE,MAAA,KAAK,EAAE0C,KAJT;AAKE,MAAA,QAAQ,EAAE1D,QALZ;AAME,MAAA,QAAQ,EAAEmD,eANZ;AAOE,MAAA,iBAAiB,EAAE/B,iBAPrB;AAQE,MAAA,OAAO,EAAE,IAAA,CAAK4B,UAAL,CAAgBS,MAAM,CAACzC,KAAvB,CAAA;AARX,KADD,CAAA,CADH,CAnBF,CADF,CAAA;AAoCD,GAAA;;AArEyC,CAAA;AAA/B8B,SACJvB,YAAY;AACjB6B,EAAAA,SAAS,EAAE5B,SAAS,CAACG,MADJ;AAEjBuB,EAAAA,OAAO,EAAE1B,SAAS,CAACmC,KAFF;AAGjBjB,EAAAA,MAAM,EAAElB,SAAS,CAACG,MAHD;AAIjBW,EAAAA,mBAAmB,EAAEd,SAAS,CAACG,MAJd;AAKjBsB,EAAAA,OAAO,EAAEzB,SAAS,CAACM,MALF;AAMjB9B,EAAAA,QAAQ,EAAEwB,SAAS,CAACC,IAAV,CAAeC,UANR;AAOjByB,EAAAA,eAAe,EAAE3B,SAAS,CAACI,IAAV,CAAeF,UAPf;AAQjBN,EAAAA,iBAAiB,EAAEI,SAAS,CAACG,MAAV,CAAiBD,UARnB;AASjB5B,EAAAA,OAAO,EAAE0B,SAAS,CAACM,MAAV,CAAiBJ,UAAAA;AATT;AAuErBoB,QAAM,CAACf,YAAP,GAAsB;AACpBkB,EAAAA,OAAO,EAAE;AACPjC,IAAAA,KAAK,EAAE,EAAA;AADA,GAAA;AADW,CAAtB,CAAA;AAMA,eAAepB,UAAU,CAACoC,MAAD,CAAV,CAAmBc,QAAnB,CAAf;;ACrGA,MAAMc,IAAN,SAAmB/C,KAAK,CAACC,SAAzB,CAAmC;AAajCI,EAAAA,MAAM,GAAG;AACP,IAAM,MAAA;AAAE2C,MAAAA,KAAF;AAASV,MAAAA,eAAT;AAA0BF,MAAAA,OAAAA;AAA1B,KAAA,GAAsC,KAAKpD,KAAjD,CAAA;AACA,IAAM,MAAA;AAAEiE,MAAAA,aAAAA;AAAF,KAAA,GAAoBD,KAA1B,CAAA;AAEA,IAAA,oBACE,oBAAC,aAAD,EAAA;AAAe,MAAA,aAAa,EAAEC,aAAAA;AAA9B,KACE,eAAA,KAAA,CAAA,aAAA,CAAChB,QAAD,EAAA,QAAA,CAAA,EAAA,EAAYe,KAAZ,EAAA;AAAmB,MAAA,OAAO,EAAEZ,OAA5B;AAAqC,MAAA,eAAe,EAAEE,eAAAA;AAAtD,KAAA,CAAA,CADF,CADF,CAAA;AAKD,GAAA;;AAtBgC,CAAA;;AAA7BS,KACGrC,YAAY;AACjBsC,EAAAA,KAAK,EAAErC,SAAS,CAACM,MADA;AAEjBmB,EAAAA,OAAO,EAAEzB,SAAS,CAACM,MAFF;AAGjBqB,EAAAA,eAAe,EAAE3B,SAAS,CAACI,IAHV;AAIjB9B,EAAAA,OAAO,EAAE0B,SAAS,CAACM,MAAV,CAAiBJ,UAAAA;AAJT;AADfkC,KAQG7B,eAAe;AACpB8B,EAAAA,KAAK,EAAE,EADa;AAEpBZ,EAAAA,OAAO,EAAE,EAAA;AAFW;AAiBxB,MAAMc,MAAM,GAAGnE,UAAU,CAAC,EAAD,EAAK;AAAEoE,EAAAA,IAAI,EAAE,MAAA;AAAR,CAAL,CAAV,CAAiCJ,IAAjC,CAAf,CAAA;AAEA,MAAM3B,KAAK,GAAGgC,cAAc,CAAC;AAC3BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,eAAe,EAAE,IAAA;AADP,GAAA;AADe,CAAD,CAA5B,CAAA;;AAMA,MAAMC,IAAI,GAAIvE,KAAD,iBACX,oBAAC,gBAAD,EAAA;AAAkB,EAAA,KAAK,EAAEoC,KAAAA;AAAzB,CAAA,eACE,KAAC,CAAA,aAAA,CAAA,MAAD,EAAYpC,KAAZ,CADF,CADF;;MClCawE,UAAU,GAAIpB,OAAD,IAAa,CAAC,EAAEA,OAAO,IAAIA,OAAO,CAACjC,KAAnB,IAA4BiC,OAAO,CAACjC,KAAR,CAAcsD,MAA5C,EAAjC;AAEQ,MAAMxB,MAAN,SAAqByB,WAArB,CAAiC;AAC9CC,EAAAA,WAAW,GAAG;AACZ,IAAA,KAAA,EAAA,CAAA;AACD,GAAA;;AAEQ,EAALX,IAAAA,KAAK,CAACY,CAAD,EAAI;AACX,IAAKC,IAAAA,CAAAA,MAAL,GAAcD,CAAd,CAAA;;AACA,IAAA,IAAA,CAAKE,OAAL,EAAA,CAAA;AACD,GAAA;;AAEU,EAAP1B,IAAAA,OAAO,CAAC2B,CAAD,EAAI;AACb,IAAKC,IAAAA,CAAAA,QAAL,GAAgBD,CAAhB,CAAA;;AACA,IAAA,IAAA,CAAKD,OAAL,EAAA,CAAA;AACD,GAAA;;AAEU,EAAA,IAAP1B,OAAO,GAAG;AACZ,IAAA,OAAO,KAAK4B,QAAZ,CAAA;AACD,GAAA;;AAEDC,EAAAA,cAAc,CAACF,CAAD,EAAI;AAChB,IAAA,IAAA,CAAKC,QAAL,CAAc7D,KAAd,GAAsB4D,CAAC,CAAC5D,KAAxB,CAAA;AACA,IAAM+D,MAAAA,QAAQ,GAAGV,UAAU,CAAC,KAAKQ,QAAN,EAAgB,IAAKH,CAAAA,MAArB,CAA3B,CAAA;AACA,IAAA,IAAA,CAAKM,aAAL,CAAmB,IAAIC,mBAAJ,CAAwB,IAAA,CAAKC,OAAL,CAAaC,WAAb,EAAxB,EAAoDJ,QAApD,CAAnB,CAAA,CAAA;;AACA,IAAA,IAAA,CAAKJ,OAAL,EAAA,CAAA;AACD,GAAA;;AAEDS,EAAAA,iBAAiB,GAAG;AAClB,IAAA,IAAA,CAAKT,OAAL,EAAA,CAAA;AACD,GAAA;;AAEDA,EAAAA,OAAO,GAAG;AACR,IAAA,IAAI,CAAC,IAAKD,CAAAA,MAAN,IAAgB,CAAC,IAAA,CAAKG,QAA1B,EAAoC;AAClC,MAAA,OAAA;AACD,KAAA;;AAED,IAAA,MAAMQ,EAAE,gBAAGxE,KAAK,CAACyE,aAAN,CAAoB1B,IAApB,EAA0B;AACnCC,MAAAA,KAAK,EAAE,IAAA,CAAKa,MADuB;AAEnCzB,MAAAA,OAAO,EAAE,IAAA,CAAK4B,QAFqB;AAGnC1B,MAAAA,eAAe,EAAE,IAAA,CAAK2B,cAAL,CAAoBS,IAApB,CAAyB,IAAzB,CAAA;AAHkB,KAA1B,CAAX,CAAA;AAMAC,IAAAA,QAAQ,CAACtE,MAAT,CAAgBmE,EAAhB,EAAoB,IAApB,EAA0B,MAAM;AAC9BI,MAAAA,UAAU,CAAC,IAAD,CAAV,CAAA;AACD,KAFD,CAAA,CAAA;AAGD,GAAA;;AA5C6C;;;;"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "2.0.1-next.0+17e3b6c8d",
7
+ "version": "2.0.2-esm.0",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1"
@@ -12,8 +12,8 @@
12
12
  "dependencies": {
13
13
  "@material-ui/core": "^3.9.2",
14
14
  "@pie-framework/pie-player-events": "^0.1.0",
15
- "@pie-lib/math-rendering": "^3.18.0",
16
- "@pie-lib/render-ui": "^4.31.0",
15
+ "@pie-lib/math-rendering": "^3.19.0",
16
+ "@pie-lib/render-ui": "^4.32.1",
17
17
  "classnames": "^2.2.5",
18
18
  "debug": "^4.1.1",
19
19
  "lodash": "^4.17.10",
@@ -25,7 +25,24 @@
25
25
  },
26
26
  "author": "",
27
27
  "license": "ISC",
28
- "gitHead": "17e3b6c8d7cd3ad6a2698703e595dc03d51b9df9",
28
+ "gitHead": "007ac5f6be719f57eccb8af3c08e7014c2797f1e",
29
29
  "main": "lib/index.js",
30
- "module": "src/index.js"
30
+ "module": "src/index.js",
31
+ "exports": {
32
+ ".": {
33
+ "import": "./esm/element.js",
34
+ "require": "./lib/index.js",
35
+ "default": "./esm/element.js"
36
+ },
37
+ "./configure": {
38
+ "import": "./esm/configure.js",
39
+ "require": "./configure/lib/index.js",
40
+ "default": "./esm/configure.js"
41
+ },
42
+ "./controller": {
43
+ "import": "./esm/controller.js",
44
+ "require": "./controller/lib/index.js",
45
+ "default": "./esm/controller.js"
46
+ }
47
+ }
31
48
  }