@pie-element/multiple-choice 9.6.1-next.2 → 9.6.1-next.21

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/choice-input.jsx"],"names":["CLASS_NAME","styleSheet","theme","row","display","alignItems","backgroundColor","color","background","checkboxHolder","flex","text","fontSize","horizontalLayout","paddingRight","spacing","unit","belowLayout","belowLayoutCenter","justifyContent","belowSelectionComponent","paddingLeft","formStyleSheet","label","letterSpacing","disabled","cursor","StyledFormControlLabel","name","props","classes","colorStyle","varName","fallback","inputStyles","correct","incorrect","root","primaryLight","checked","primary","opacity","pointerEvents","focusVisibleUnchecked","outline","focusUncheckedBorder","focusUnchecked","focusVisibleChecked","focusCheckedBorder","focusChecked","StyledCheckbox","correctness","onChange","accessibility","value","id","key","k","resolved","miniProps","StyledRadio","ChoiceInput","onToggleChoice","bind","choiceId","generateChoiceId","event","Math","random","toFixed","choiceMode","displayKey","feedback","className","rationale","hideTick","isEvaluateMode","choicesLayout","isSelectionButtonBelow","Tag","classSuffix","holderClassNames","choicelabel","padding","React","Component","PropTypes","oneOf","string","isRequired","bool","func","object"],"mappings":"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","sourcesContent":["import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { Feedback, color, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport Radio from '@material-ui/core/Radio';\nimport classNames from 'classnames';\n\nimport FeedbackTick from './feedback-tick';\n\nconst CLASS_NAME = 'multiple-choice-component';\n\nconst styleSheet = (theme) => ({\n row: {\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n },\n checkboxHolder: {\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n flex: 1,\n '& label': {\n color: color.text(),\n '& > span': {\n fontSize: 'inherit',\n },\n },\n },\n horizontalLayout: {\n [`& .${CLASS_NAME}`]: {\n paddingRight: theme.spacing.unit,\n },\n },\n belowLayout: {\n '& > label': {\n alignItems: 'flex-start',\n },\n },\n belowLayoutCenter: {\n justifyContent: 'center',\n '& > label': {\n alignItems: 'center',\n },\n },\n belowSelectionComponent: {\n display: 'flex',\n alignItems: 'center',\n '& > span': {\n paddingLeft: 0,\n },\n },\n});\n\nconst formStyleSheet = {\n label: {\n color: `${color.text()} !important`, //'var(--choice-input-color, black)'\n backgroundColor: color.background(),\n letterSpacing: 'normal',\n },\n disabled: {\n // apply to all children\n '& *': {\n cursor: 'not-allowed !important',\n },\n },\n};\n\nexport const StyledFormControlLabel = withStyles(formStyleSheet, {\n name: 'FormControlLabel',\n})((props) => (\n <FormControlLabel {...props} classes={{ label: props.classes.label, disabled: props.classes.disabled }} />\n));\n\nconst colorStyle = (varName, fallback) => ({\n [`&.${CLASS_NAME}`]: {\n color: `var(--choice-input-${varName}, ${fallback}) !important`,\n },\n});\n\nconst inputStyles = {\n 'correct-root': colorStyle('correct-color', color.text()),\n 'correct-checked': colorStyle('correct-selected-color', color.correct()), //green[500]),\n 'correct-disabled': colorStyle('correct-disabled-color', color.disabled()), //'grey'),\n 'incorrect-root': colorStyle('incorrect-color', color.incorrect()),\n 'incorrect-checked': colorStyle('incorrect-checked', color.incorrect()), //orange[500]),\n 'incorrect-disabled': colorStyle('incorrect-disabled-color', color.disabled()),\n root: {\n ...colorStyle('color', color.text()),\n '&:hover': { color: `${color.primaryLight()} !important` },\n },\n checked: colorStyle('selected-color', color.primary()),\n disabled: {\n ...colorStyle('disabled-color', color.text()),\n opacity: 0.6,\n cursor: 'not-allowed !important',\n pointerEvents: 'initial !important',\n },\n focusVisibleUnchecked: {\n outline: `1px solid ${color.focusUncheckedBorder()}`,\n backgroundColor: color.focusUnchecked(),\n },\n focusVisibleChecked: {\n outline: `1px solid ${color.focusCheckedBorder()}`,\n backgroundColor: color.focusChecked(),\n },\n};\n\nexport const StyledCheckbox = withStyles(inputStyles)((props) => {\n const { correctness, classes, checked, onChange, disabled, accessibility, value, id } = props;\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n const resolved = {\n root: classes[key('root')],\n checked: classes[key('checked')],\n disabled: classes[key('disabled')],\n };\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <Checkbox\n id={id}\n aria-label={accessibility}\n aria-checked={checked}\n focusVisibleClassName={checked ? classes.focusVisibleChecked : classes.focusVisibleUnchecked}\n disableRipple\n {...miniProps}\n className={CLASS_NAME}\n classes={{\n root: resolved.root,\n checked: resolved.checked,\n disabled: `${correctness ? '' : resolved.disabled}`,\n }}\n />\n );\n});\n\nexport const StyledRadio = withStyles(inputStyles)((props) => {\n const { correctness, classes, checked, onChange, disabled, accessibility, value, id } = props;\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n const resolved = {\n root: classes[key('root')],\n checked: classes[key('checked')],\n disabled: classes[key('disabled')],\n };\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <Radio\n id={id}\n aria-label={accessibility}\n aria-checked={checked}\n focusVisibleClassName={checked ? classes.focusVisibleChecked : classes.focusVisibleUnchecked}\n disableRipple\n {...miniProps}\n className={CLASS_NAME}\n classes={{\n root: resolved.root,\n checked: resolved.checked,\n disabled: `${correctness ? '' : resolved.disabled}`,\n }}\n />\n );\n});\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n displayKey: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n correctness: PropTypes.string,\n disabled: PropTypes.bool.isRequired,\n feedback: PropTypes.string,\n label: PropTypes.string.isRequired,\n rationale: PropTypes.string,\n accessibility: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object,\n className: PropTypes.string,\n hideTick: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n isSelectionButtonBelow: PropTypes.bool,\n };\n\n static defaultProps = {\n rationale: null,\n accessibility: null,\n checked: false,\n isEvaluateMode: false,\n };\n\n constructor(props) {\n super(props);\n this.onToggleChoice = this.onToggleChoice.bind(this);\n this.choiceId = this.generateChoiceId();\n }\n\n onToggleChoice(event) {\n this.props.onChange(event);\n }\n\n generateChoiceId() {\n return 'choice-' + (Math.random() * 10000).toFixed();\n }\n\n render() {\n const {\n choiceMode,\n disabled,\n displayKey,\n feedback,\n label,\n correctness,\n classes,\n className,\n rationale,\n accessibility,\n hideTick,\n isEvaluateMode,\n choicesLayout,\n value,\n checked,\n isSelectionButtonBelow,\n } = this.props;\n\n const Tag = choiceMode === 'checkbox' ? StyledCheckbox : StyledRadio;\n const classSuffix = choiceMode === 'checkbox' ? 'checkbox' : 'radio-button';\n\n const holderClassNames = classNames(classes.checkboxHolder, {\n [classes.horizontalLayout]: choicesLayout === 'horizontal',\n [classes.belowLayout]: isSelectionButtonBelow && choicesLayout !== 'grid',\n [classes.belowLayoutCenter]: isSelectionButtonBelow && choicesLayout === 'grid',\n });\n\n const choicelabel = (\n <>\n {displayKey && !isSelectionButtonBelow ? (\n <span className={classes.row}>\n {displayKey}.{'\\u00A0'}\n <PreviewPrompt className=\"label\" prompt={label} tagName=\"span\" />\n </span>\n ) : (\n <PreviewPrompt className=\"label\" prompt={label} tagName=\"span\" />\n )}\n </>\n );\n\n return (\n <div className={classNames(className, 'corespring-' + classSuffix, 'choice-input')}>\n <div className={classes.row}>\n {!hideTick && isEvaluateMode && <FeedbackTick correctness={correctness} />}\n <div className={classNames(holderClassNames, 'checkbox-holder')}>\n {isSelectionButtonBelow ? (\n <StyledFormControlLabel\n label={choicelabel}\n value={value}\n htmlFor={this.choiceId}\n labelPlacement={'top'}\n control={\n <span className={classes.belowSelectionComponent}>\n <Tag\n accessibility={accessibility}\n disabled={disabled}\n checked={checked}\n correctness={correctness}\n value={value}\n id={this.choiceId}\n onChange={this.onToggleChoice}\n style={{ padding: 0 }}\n />\n {displayKey}.\n </span>\n }\n />\n ) : (\n <StyledFormControlLabel\n label={choicelabel}\n value={value}\n htmlFor={this.choiceId}\n control={\n <Tag\n accessibility={accessibility}\n disabled={disabled}\n checked={checked}\n correctness={correctness}\n value={value}\n id={this.choiceId}\n onChange={this.onToggleChoice}\n />\n }\n />\n )}\n </div>\n </div>\n {rationale && <PreviewPrompt className=\"rationale\" defaultClassName=\"rationale\" prompt={rationale} />}\n <Feedback feedback={feedback} correctness={correctness} />\n </div>\n );\n }\n}\n\nexport default withStyles(styleSheet)(ChoiceInput);\n"],"file":"choice-input.js"}
1
+ {"version":3,"sources":["../src/choice-input.jsx"],"names":["CLASS_NAME","styleSheet","theme","row","display","alignItems","backgroundColor","color","background","checkboxHolder","flex","text","fontSize","horizontalLayout","paddingRight","spacing","unit","belowLayout","belowLayoutCenter","justifyContent","belowSelectionComponent","paddingLeft","formStyleSheet","label","letterSpacing","disabled","cursor","StyledFormControlLabel","name","props","classes","colorStyle","varName","fallback","inputStyles","correct","incorrect","root","primaryLight","checked","primary","opacity","pointerEvents","focusVisibleUnchecked","outline","focusUncheckedBorder","focusUnchecked","focusVisibleChecked","focusCheckedBorder","focusChecked","StyledCheckbox","correctness","onChange","value","id","key","k","resolved","miniProps","StyledRadio","ChoiceInput","onToggleChoice","bind","choiceId","generateChoiceId","event","Math","random","toFixed","choiceMode","displayKey","feedback","className","rationale","hideTick","isEvaluateMode","choicesLayout","isSelectionButtonBelow","Tag","classSuffix","holderClassNames","choicelabel","padding","React","Component","PropTypes","oneOf","string","isRequired","bool","func","object"],"mappings":"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","sourcesContent":["import FormControlLabel from '@material-ui/core/FormControlLabel';\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport { Feedback, color, PreviewPrompt } from '@pie-lib/pie-toolbox/render-ui';\nimport Radio from '@material-ui/core/Radio';\nimport classNames from 'classnames';\n\nimport FeedbackTick from './feedback-tick';\n\nconst CLASS_NAME = 'multiple-choice-component';\n\nconst styleSheet = (theme) => ({\n row: {\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n },\n checkboxHolder: {\n display: 'flex',\n alignItems: 'center',\n backgroundColor: color.background(),\n flex: 1,\n '& label': {\n color: color.text(),\n '& > span': {\n fontSize: 'inherit',\n },\n },\n },\n horizontalLayout: {\n [`& .${CLASS_NAME}`]: {\n paddingRight: theme.spacing.unit,\n },\n },\n belowLayout: {\n '& > label': {\n alignItems: 'flex-start',\n },\n },\n belowLayoutCenter: {\n justifyContent: 'center',\n '& > label': {\n alignItems: 'center',\n },\n },\n belowSelectionComponent: {\n display: 'flex',\n alignItems: 'center',\n '& > span': {\n paddingLeft: 0,\n },\n },\n});\n\nconst formStyleSheet = {\n label: {\n color: `${color.text()} !important`, //'var(--choice-input-color, black)'\n backgroundColor: color.background(),\n letterSpacing: 'normal',\n },\n disabled: {\n // apply to all children\n '& *': {\n cursor: 'not-allowed !important',\n },\n },\n};\n\nexport const StyledFormControlLabel = withStyles(formStyleSheet, {\n name: 'FormControlLabel',\n})((props) => (\n <FormControlLabel {...props} classes={{ label: props.classes.label, disabled: props.classes.disabled }} />\n));\n\nconst colorStyle = (varName, fallback) => ({\n [`&.${CLASS_NAME}`]: {\n color: `var(--choice-input-${varName}, ${fallback}) !important`,\n },\n});\n\nconst inputStyles = {\n 'correct-root': colorStyle('correct-color', color.text()),\n 'correct-checked': colorStyle('correct-selected-color', color.correct()), //green[500]),\n 'correct-disabled': colorStyle('correct-disabled-color', color.disabled()), //'grey'),\n 'incorrect-root': colorStyle('incorrect-color', color.incorrect()),\n 'incorrect-checked': colorStyle('incorrect-checked', color.incorrect()), //orange[500]),\n 'incorrect-disabled': colorStyle('incorrect-disabled-color', color.disabled()),\n root: {\n ...colorStyle('color', color.text()),\n '&:hover': { color: `${color.primaryLight()} !important` },\n },\n checked: colorStyle('selected-color', color.primary()),\n disabled: {\n ...colorStyle('disabled-color', color.text()),\n opacity: 0.6,\n cursor: 'not-allowed !important',\n pointerEvents: 'initial !important',\n },\n focusVisibleUnchecked: {\n outline: `1px solid ${color.focusUncheckedBorder()}`,\n backgroundColor: color.focusUnchecked(),\n },\n focusVisibleChecked: {\n outline: `1px solid ${color.focusCheckedBorder()}`,\n backgroundColor: color.focusChecked(),\n },\n};\n\nexport const StyledCheckbox = withStyles(inputStyles)((props) => {\n const { correctness, classes, checked, onChange, disabled, value, id } = props;\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n const resolved = {\n root: classes[key('root')],\n checked: classes[key('checked')],\n disabled: classes[key('disabled')],\n };\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <Checkbox\n id={id}\n aria-checked={checked}\n focusVisibleClassName={checked ? classes.focusVisibleChecked : classes.focusVisibleUnchecked}\n disableRipple\n {...miniProps}\n className={CLASS_NAME}\n classes={{\n root: resolved.root,\n checked: resolved.checked,\n disabled: `${correctness ? '' : resolved.disabled}`,\n }}\n />\n );\n});\n\nexport const StyledRadio = withStyles(inputStyles)((props) => {\n const { correctness, classes, checked, onChange, disabled, value, id } = props;\n const key = (k) => (correctness ? `${correctness}-${k}` : k);\n\n const resolved = {\n root: classes[key('root')],\n checked: classes[key('checked')],\n disabled: classes[key('disabled')],\n };\n\n const miniProps = { checked, onChange, disabled, value };\n\n return (\n <Radio\n id={id}\n aria-checked={checked}\n focusVisibleClassName={checked ? classes.focusVisibleChecked : classes.focusVisibleUnchecked}\n disableRipple\n {...miniProps}\n className={CLASS_NAME}\n classes={{\n root: resolved.root,\n checked: resolved.checked,\n disabled: `${correctness ? '' : resolved.disabled}`,\n }}\n />\n );\n});\n\nexport class ChoiceInput extends React.Component {\n static propTypes = {\n choiceMode: PropTypes.oneOf(['radio', 'checkbox']),\n displayKey: PropTypes.string.isRequired,\n checked: PropTypes.bool.isRequired,\n correctness: PropTypes.string,\n disabled: PropTypes.bool.isRequired,\n feedback: PropTypes.string,\n label: PropTypes.string.isRequired,\n rationale: PropTypes.string,\n onChange: PropTypes.func.isRequired,\n value: PropTypes.string.isRequired,\n classes: PropTypes.object,\n className: PropTypes.string,\n hideTick: PropTypes.bool,\n isEvaluateMode: PropTypes.bool,\n choicesLayout: PropTypes.oneOf(['vertical', 'grid', 'horizontal']),\n isSelectionButtonBelow: PropTypes.bool,\n };\n\n static defaultProps = {\n rationale: null,\n checked: false,\n isEvaluateMode: false,\n };\n\n constructor(props) {\n super(props);\n this.onToggleChoice = this.onToggleChoice.bind(this);\n this.choiceId = this.generateChoiceId();\n }\n\n onToggleChoice(event) {\n this.props.onChange(event);\n }\n\n generateChoiceId() {\n return 'choice-' + (Math.random() * 10000).toFixed();\n }\n\n render() {\n const {\n choiceMode,\n disabled,\n displayKey,\n feedback,\n label,\n correctness,\n classes,\n className,\n rationale,\n hideTick,\n isEvaluateMode,\n choicesLayout,\n value,\n checked,\n isSelectionButtonBelow,\n } = this.props;\n\n const Tag = choiceMode === 'checkbox' ? StyledCheckbox : StyledRadio;\n const classSuffix = choiceMode === 'checkbox' ? 'checkbox' : 'radio-button';\n\n const holderClassNames = classNames(classes.checkboxHolder, {\n [classes.horizontalLayout]: choicesLayout === 'horizontal',\n [classes.belowLayout]: isSelectionButtonBelow && choicesLayout !== 'grid',\n [classes.belowLayoutCenter]: isSelectionButtonBelow && choicesLayout === 'grid',\n });\n\n const choicelabel = (\n <>\n {displayKey && !isSelectionButtonBelow ? (\n <span className={classes.row}>\n {displayKey}.{'\\u00A0'}\n <PreviewPrompt className=\"label\" prompt={label} tagName=\"span\" />\n </span>\n ) : (\n <PreviewPrompt className=\"label\" prompt={label} tagName=\"span\" />\n )}\n </>\n );\n\n return (\n <div className={classNames(className, 'corespring-' + classSuffix, 'choice-input')}>\n <div className={classes.row}>\n {!hideTick && isEvaluateMode && <FeedbackTick correctness={correctness} />}\n <div className={classNames(holderClassNames, 'checkbox-holder')}>\n {isSelectionButtonBelow ? (\n <StyledFormControlLabel\n label={choicelabel}\n value={value}\n htmlFor={this.choiceId}\n labelPlacement={'top'}\n control={\n <span className={classes.belowSelectionComponent}>\n <Tag\n disabled={disabled}\n checked={checked}\n correctness={correctness}\n value={value}\n id={this.choiceId}\n onChange={this.onToggleChoice}\n style={{ padding: 0 }}\n />\n {displayKey}.\n </span>\n }\n />\n ) : (\n <StyledFormControlLabel\n label={choicelabel}\n value={value}\n htmlFor={this.choiceId}\n control={\n <Tag\n disabled={disabled}\n checked={checked}\n correctness={correctness}\n value={value}\n id={this.choiceId}\n onChange={this.onToggleChoice}\n />\n }\n />\n )}\n </div>\n </div>\n {rationale && <PreviewPrompt className=\"rationale\" defaultClassName=\"rationale\" prompt={rationale} />}\n <Feedback feedback={feedback} correctness={correctness} />\n </div>\n );\n }\n}\n\nexport default withStyles(styleSheet)(ChoiceInput);\n"],"file":"choice-input.js"}
package/lib/index.js CHANGED
@@ -63,7 +63,7 @@ var isComplete = function isComplete(session, model) {
63
63
  return false;
64
64
  }
65
65
 
66
- return true; // !!(session && session.value && session.value.length);
66
+ return true;
67
67
  };
68
68
 
69
69
  exports.isComplete = isComplete;
@@ -108,6 +108,7 @@ var MultipleChoice = /*#__PURE__*/function (_HTMLElement) {
108
108
  trailing: true
109
109
  });
110
110
  _this._dispatchResponseChanged = (0, _debounce["default"])(function () {
111
+ console.log('>> dispatch event');
111
112
  var event = new CustomEvent('session-changed', {
112
113
  bubbles: true,
113
114
  composed: true,
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["log","isComplete","session","model","value","choiceMode","minSelections","maxSelections","selections","length","MultipleChoice","_model","_session","_rerender","element","React","createElement","Main","onChoiceChanged","_onChange","bind","onShowCorrectToggle","setAttribute","setLangAttribute","ReactDOM","render","leading","trailing","_dispatchResponseChanged","event","CustomEvent","bubbles","composed","detail","complete","component","tagName","toLowerCase","dispatchEvent","_dispatchModelSet","hasModel","undefined","language","lang","slice","s","data","HTMLElement"],"mappings":"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","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\nimport { renderMath } from '@pie-lib/pie-toolbox/math-rendering-accessible';\nimport { updateSessionValue } from './session-updater';\n\nconst log = debug('pie-ui:multiple-choice');\n\nexport const isComplete = (session, model) => {\n if (!session || !session.value) {\n return false;\n }\n\n const { choiceMode, minSelections, maxSelections } = model || {};\n const selections = session.value.length || 0;\n\n if (choiceMode === 'radio') {\n return !!selections;\n }\n\n if (selections < minSelections || selections > maxSelections) {\n return false;\n }\n\n return true;\n\n // !!(session && session.value && session.value.length);\n};\n\nexport default class MultipleChoice extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n var element = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChoiceChanged: this._onChange.bind(this),\n onShowCorrectToggle: this.onShowCorrectToggle.bind(this),\n });\n\n //TODO: aria-label is set in the _rerender because we need to change it when the model.choiceMode is updated. Consider revisiting the placement of the aria-label setting in the _rerender\n this.setAttribute(\n 'aria-label',\n this._model.choiceMode === 'radio' ? 'Multiple Choice Question' : 'Multiple Correct Answer Question',\n );\n this.setAttribute('role', 'region');\n this.setLangAttribute();\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n\n this._dispatchResponseChanged = debounce(() => {\n var event = new CustomEvent('session-changed', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session, this._model),\n component: this.tagName.toLowerCase(),\n },\n });\n\n this.dispatchEvent(event);\n });\n\n this._dispatchModelSet = debounce(\n () => {\n this.dispatchEvent(\n new CustomEvent('model-set', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session, this._model),\n component: this.tagName.toLowerCase(),\n hasModel: this._model !== undefined,\n },\n }),\n );\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n onShowCorrectToggle() {\n renderMath(this);\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n this._dispatchModelSet();\n }\n\n get session() {\n return this._session;\n }\n\n set session(s) {\n this._session = s;\n this._rerender();\n //TODO: remove this session-changed should only be emit on user change\n this._dispatchResponseChanged();\n }\n\n _onChange(data) {\n updateSessionValue(this._session, this._model.choiceMode, data);\n this._dispatchResponseChanged();\n this._rerender();\n }\n\n connectedCallback() {\n this._rerender();\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"sources":["../src/index.js"],"names":["log","isComplete","session","model","value","choiceMode","minSelections","maxSelections","selections","length","MultipleChoice","_model","_session","_rerender","element","React","createElement","Main","onChoiceChanged","_onChange","bind","onShowCorrectToggle","setAttribute","setLangAttribute","ReactDOM","render","leading","trailing","_dispatchResponseChanged","console","event","CustomEvent","bubbles","composed","detail","complete","component","tagName","toLowerCase","dispatchEvent","_dispatchModelSet","hasModel","undefined","language","lang","slice","s","data","HTMLElement"],"mappings":"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","sourcesContent":["import Main from './main';\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport debug from 'debug';\nimport { renderMath } from '@pie-lib/pie-toolbox/math-rendering-accessible';\nimport { updateSessionValue } from './session-updater';\n\nconst log = debug('pie-ui:multiple-choice');\n\nexport const isComplete = (session, model) => {\n if (!session || !session.value) {\n return false;\n }\n\n const { choiceMode, minSelections, maxSelections } = model || {};\n const selections = session.value.length || 0;\n\n if (choiceMode === 'radio') {\n return !!selections;\n }\n\n if (selections < minSelections || selections > maxSelections) {\n return false;\n }\n\n return true;\n};\n\nexport default class MultipleChoice extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n var element = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onChoiceChanged: this._onChange.bind(this),\n onShowCorrectToggle: this.onShowCorrectToggle.bind(this),\n });\n\n //TODO: aria-label is set in the _rerender because we need to change it when the model.choiceMode is updated. Consider revisiting the placement of the aria-label setting in the _rerender\n this.setAttribute(\n 'aria-label',\n this._model.choiceMode === 'radio' ? 'Multiple Choice Question' : 'Multiple Correct Answer Question',\n );\n this.setAttribute('role', 'region');\n this.setLangAttribute();\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true },\n );\n\n this._dispatchResponseChanged = debounce(() => {\n console.log('>> dispatch event');\n var event = new CustomEvent('session-changed', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session, this._model),\n component: this.tagName.toLowerCase(),\n },\n });\n\n this.dispatchEvent(event);\n });\n\n this._dispatchModelSet = debounce(\n () => {\n this.dispatchEvent(\n new CustomEvent('model-set', {\n bubbles: true,\n composed: true,\n detail: {\n complete: isComplete(this._session, this._model),\n component: this.tagName.toLowerCase(),\n hasModel: this._model !== undefined,\n },\n }),\n );\n },\n 50,\n { leading: false, trailing: true },\n );\n }\n\n onShowCorrectToggle() {\n renderMath(this);\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n this._dispatchModelSet();\n }\n\n get session() {\n return this._session;\n }\n\n set session(s) {\n this._session = s;\n this._rerender();\n //TODO: remove this session-changed should only be emit on user change\n this._dispatchResponseChanged();\n }\n\n _onChange(data) {\n updateSessionValue(this._session, this._model.choiceMode, data);\n this._dispatchResponseChanged();\n this._rerender();\n }\n\n connectedCallback() {\n this._rerender();\n }\n}\n"],"file":"index.js"}
@@ -10211,12 +10211,6 @@ const styles = theme => ({
10211
10211
  paddingTop: theme.spacing.unit * 2,
10212
10212
  marginLeft: theme.spacing.unit * 3.5
10213
10213
  },
10214
- accessibilityHolder: {
10215
- flex: 1,
10216
- marginTop: theme.spacing.unit * 1.5,
10217
- paddingTop: theme.spacing.unit * 2,
10218
- marginLeft: theme.spacing.unit * 3.5
10219
- },
10220
10214
  choiceConfigurationHolder: {
10221
10215
  display: 'flex',
10222
10216
  flexDirection: 'column',
@@ -10265,9 +10259,9 @@ const styles = theme => ({
10265
10259
  });
10266
10260
  const Design = styles$8.withStyles(styles)(props => {
10267
10261
  const {classes, model, configuration, onPromptChanged, onChoiceChanged, onRemoveChoice, onAddChoice, imageSupport, uploadSoundSupport, onChangeModel, onConfigurationChanged, onTeacherInstructionsChanged} = props;
10268
- const {addChoiceButton = {}, contentDimensions = {}, feedback = {}, deleteChoice = {}, choiceMode = {}, choicePrefix = {}, partialScoring = {}, lockChoiceOrder = {}, teacherInstructions = {}, studentInstructions = {}, rationale = {}, accessibility = {}, scoringType = {}, sequentialChoiceLabels = {}, settingsPanelDisabled, choicesLayout, spellCheck = {}, gridColumns, maxImageWidth = {}, maxImageHeight = {}, prompt = {}, withRubric = {}, mathMlOptions = {}, language = {}, languageChoices = {}} = configuration || ({});
10262
+ const {addChoiceButton = {}, contentDimensions = {}, feedback = {}, deleteChoice = {}, choiceMode = {}, choicePrefix = {}, partialScoring = {}, lockChoiceOrder = {}, teacherInstructions = {}, studentInstructions = {}, rationale = {}, scoringType = {}, sequentialChoiceLabels = {}, settingsPanelDisabled, choicesLayout, spellCheck = {}, gridColumns, maxImageWidth = {}, maxImageHeight = {}, prompt = {}, withRubric = {}, mathMlOptions = {}, language = {}, languageChoices = {}} = configuration || ({});
10269
10263
  let {maxAnswerChoices} = configuration || ({});
10270
- const {limitChoicesNumber, teacherInstructionsEnabled, rationaleEnabled, accessibilityLabelsEnabled, feedbackEnabled, promptEnabled, spellCheckEnabled, choices, errors, toolbarEditorPosition, extraCSSRules} = model || ({});
10264
+ const {limitChoicesNumber, teacherInstructionsEnabled, rationaleEnabled, feedbackEnabled, promptEnabled, spellCheckEnabled, choices, errors, toolbarEditorPosition, extraCSSRules} = model || ({});
10271
10265
  const {answerChoices: answerChoicesError, choices: choicesErrors, correctResponse: correctResponseError, prompt: promptError, rationale: rationaleErrors, teacherInstructions: teacherInstructionsError} = errors || ({});
10272
10266
  const nrOfColumnsAvailable = _optionalChain$1([choices, 'optionalAccess', _2 => _2.length]) ? Array.from({
10273
10267
  length: choices.length
@@ -10305,7 +10299,6 @@ const Design = styles$8.withStyles(styles)(props => {
10305
10299
  promptEnabled: prompt.settings && toggle(prompt.label),
10306
10300
  rationaleEnabled: rationale.settings && toggle(rationale.label),
10307
10301
  spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
10308
- accessibilityLabelsEnabled: accessibility.settings && toggle(accessibility.label),
10309
10302
  scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),
10310
10303
  rubricEnabled: _optionalChain$1([withRubric, 'optionalAccess', _4 => _4.settings]) && toggle(_optionalChain$1([withRubric, 'optionalAccess', _5 => _5.label]))
10311
10304
  };
@@ -10325,13 +10318,13 @@ const Design = styles$8.withStyles(styles)(props => {
10325
10318
  __self: undefined,
10326
10319
  __source: {
10327
10320
  fileName: _jsxFileName,
10328
- lineNumber: 213
10321
+ lineNumber: 204
10329
10322
  }
10330
10323
  }),
10331
10324
  __self: undefined,
10332
10325
  __source: {
10333
10326
  fileName: _jsxFileName,
10334
- lineNumber: 208
10327
+ lineNumber: 199
10335
10328
  }
10336
10329
  }, teacherInstructionsEnabled && React$1.createElement(InputContainer, {
10337
10330
  label: teacherInstructions.label,
@@ -10339,7 +10332,7 @@ const Design = styles$8.withStyles(styles)(props => {
10339
10332
  __self: undefined,
10340
10333
  __source: {
10341
10334
  fileName: _jsxFileName,
10342
- lineNumber: 226
10335
+ lineNumber: 217
10343
10336
  }
10344
10337
  }, React$1.createElement(EditableHtml, {
10345
10338
  className: classes.prompt,
@@ -10363,14 +10356,14 @@ const Design = styles$8.withStyles(styles)(props => {
10363
10356
  __self: undefined,
10364
10357
  __source: {
10365
10358
  fileName: _jsxFileName,
10366
- lineNumber: 227
10359
+ lineNumber: 218
10367
10360
  }
10368
10361
  }), teacherInstructionsError && React$1.createElement('div', {
10369
10362
  className: classes.errorText,
10370
10363
  __self: undefined,
10371
10364
  __source: {
10372
10365
  fileName: _jsxFileName,
10373
- lineNumber: 243
10366
+ lineNumber: 234
10374
10367
  }
10375
10368
  }, teacherInstructionsError)), promptEnabled && React$1.createElement(InputContainer, {
10376
10369
  label: prompt.label,
@@ -10378,7 +10371,7 @@ const Design = styles$8.withStyles(styles)(props => {
10378
10371
  __self: undefined,
10379
10372
  __source: {
10380
10373
  fileName: _jsxFileName,
10381
- lineNumber: 248
10374
+ lineNumber: 239
10382
10375
  }
10383
10376
  }, React$1.createElement(EditableHtml, {
10384
10377
  className: classes.prompt,
@@ -10403,21 +10396,21 @@ const Design = styles$8.withStyles(styles)(props => {
10403
10396
  __self: undefined,
10404
10397
  __source: {
10405
10398
  fileName: _jsxFileName,
10406
- lineNumber: 249
10399
+ lineNumber: 240
10407
10400
  }
10408
10401
  }), promptError && React$1.createElement('div', {
10409
10402
  className: classes.errorText,
10410
10403
  __self: undefined,
10411
10404
  __source: {
10412
10405
  fileName: _jsxFileName,
10413
- lineNumber: 266
10406
+ lineNumber: 257
10414
10407
  }
10415
10408
  }, promptError)), React$1.createElement('div', {
10416
10409
  className: classes.flexContainer,
10417
10410
  __self: undefined,
10418
10411
  __source: {
10419
10412
  fileName: _jsxFileName,
10420
- lineNumber: 270
10413
+ lineNumber: 261
10421
10414
  }
10422
10415
  }, React$1.createElement(Typography, {
10423
10416
  className: classes.titleText,
@@ -10425,7 +10418,7 @@ const Design = styles$8.withStyles(styles)(props => {
10425
10418
  __self: undefined,
10426
10419
  __source: {
10427
10420
  fileName: _jsxFileName,
10428
- lineNumber: 271
10421
+ lineNumber: 262
10429
10422
  }
10430
10423
  }, "Choices"), React$1.createElement(Tooltip, {
10431
10424
  classes: {
@@ -10438,7 +10431,7 @@ const Design = styles$8.withStyles(styles)(props => {
10438
10431
  __self: undefined,
10439
10432
  __source: {
10440
10433
  fileName: _jsxFileName,
10441
- lineNumber: 272
10434
+ lineNumber: 263
10442
10435
  }
10443
10436
  }, React$1.createElement(default_1, {
10444
10437
  fontSize: 'small',
@@ -10446,7 +10439,7 @@ const Design = styles$8.withStyles(styles)(props => {
10446
10439
  __self: undefined,
10447
10440
  __source: {
10448
10441
  fileName: _jsxFileName,
10449
- lineNumber: 279
10442
+ lineNumber: 270
10450
10443
  }
10451
10444
  }))), choices.map((choice, index) => React$1.createElement('div', {
10452
10445
  key: `choice-${index}`,
@@ -10454,7 +10447,7 @@ const Design = styles$8.withStyles(styles)(props => {
10454
10447
  __self: undefined,
10455
10448
  __source: {
10456
10449
  fileName: _jsxFileName,
10457
- lineNumber: 284
10450
+ lineNumber: 275
10458
10451
  }
10459
10452
  }, React$1.createElement(ChoiceConfiguration, {
10460
10453
  key: index,
@@ -10483,7 +10476,7 @@ const Design = styles$8.withStyles(styles)(props => {
10483
10476
  __self: undefined,
10484
10477
  __source: {
10485
10478
  fileName: _jsxFileName,
10486
- lineNumber: 285
10479
+ lineNumber: 276
10487
10480
  }
10488
10481
  }), rationaleEnabled && React$1.createElement(InputContainer, {
10489
10482
  key: `rationale-${index}`,
@@ -10492,7 +10485,7 @@ const Design = styles$8.withStyles(styles)(props => {
10492
10485
  __self: undefined,
10493
10486
  __source: {
10494
10487
  fileName: _jsxFileName,
10495
- lineNumber: 312
10488
+ lineNumber: 303
10496
10489
  }
10497
10490
  }, React$1.createElement(EditableHtml, {
10498
10491
  className: classes.rationale,
@@ -10518,61 +10511,28 @@ const Design = styles$8.withStyles(styles)(props => {
10518
10511
  __self: undefined,
10519
10512
  __source: {
10520
10513
  fileName: _jsxFileName,
10521
- lineNumber: 313
10514
+ lineNumber: 304
10522
10515
  }
10523
10516
  }), _optionalChain$1([rationaleErrors, 'optionalAccess', _16 => _16[choice.value]]) && React$1.createElement('div', {
10524
10517
  className: classes.errorText,
10525
10518
  __self: undefined,
10526
10519
  __source: {
10527
10520
  fileName: _jsxFileName,
10528
- lineNumber: 329
10529
- }
10530
- }, _optionalChain$1([rationaleErrors, 'optionalAccess', _17 => _17[choice.value]]))), accessibilityLabelsEnabled && React$1.createElement(InputContainer, {
10531
- key: `accessibility-${index}`,
10532
- label: accessibility.label,
10533
- className: classes.accessibilityHolder,
10534
- __self: undefined,
10535
- __source: {
10536
- fileName: _jsxFileName,
10537
- lineNumber: 335
10521
+ lineNumber: 320
10538
10522
  }
10539
- }, React$1.createElement(EditableHtml, {
10540
- className: classes.accessibility,
10541
- markup: choice.accessibility || '',
10542
- onChange: c => onChoiceChanged(index, {
10543
- ...choice,
10544
- accessibility: c
10545
- }),
10546
- imageSupport: imageSupport,
10547
- pluginProps: getPluginProps(_optionalChain$1([configuration, 'optionalAccess', _18 => _18.accessibility, 'optionalAccess', _19 => _19.inputConfiguration])),
10548
- spellCheck: spellCheckEnabled,
10549
- maxImageWidth: maxImageWidth && maxImageWidth.choices || defaultImageMaxWidth,
10550
- maxImageHeight: maxImageHeight && maxImageHeight.choices || defaultImageMaxHeight,
10551
- uploadSoundSupport: uploadSoundSupport,
10552
- languageCharactersProps: [{
10553
- language: 'spanish'
10554
- }, {
10555
- language: 'special'
10556
- }],
10557
- mathMlOptions: mathMlOptions,
10558
- __self: undefined,
10559
- __source: {
10560
- fileName: _jsxFileName,
10561
- lineNumber: 340
10562
- }
10563
- })))), correctResponseError && React$1.createElement('div', {
10523
+ }, _optionalChain$1([rationaleErrors, 'optionalAccess', _17 => _17[choice.value]]))))), correctResponseError && React$1.createElement('div', {
10564
10524
  className: classes.errorText,
10565
10525
  __self: undefined,
10566
10526
  __source: {
10567
10527
  fileName: _jsxFileName,
10568
- lineNumber: 358
10528
+ lineNumber: 327
10569
10529
  }
10570
10530
  }, correctResponseError), answerChoicesError && React$1.createElement('div', {
10571
10531
  className: classes.errorText,
10572
10532
  __self: undefined,
10573
10533
  __source: {
10574
10534
  fileName: _jsxFileName,
10575
- lineNumber: 359
10535
+ lineNumber: 328
10576
10536
  }
10577
10537
  }, answerChoicesError), addChoiceButton.settings && React$1.createElement(Tooltip, {
10578
10538
  title: addChoiceButtonTooltip,
@@ -10582,11 +10542,11 @@ const Design = styles$8.withStyles(styles)(props => {
10582
10542
  __self: undefined,
10583
10543
  __source: {
10584
10544
  fileName: _jsxFileName,
10585
- lineNumber: 362
10545
+ lineNumber: 331
10586
10546
  }
10587
10547
  }, React$1.createElement(Button, {
10588
10548
  classes: {
10589
- root: maxAnswerChoices && _optionalChain$1([choices, 'optionalAccess', _20 => _20.length]) >= maxAnswerChoices && classes.disableButton
10549
+ root: maxAnswerChoices && _optionalChain$1([choices, 'optionalAccess', _18 => _18.length]) >= maxAnswerChoices && classes.disableButton
10590
10550
  },
10591
10551
  className: classes.addButton,
10592
10552
  variant: "contained",
@@ -10595,7 +10555,7 @@ const Design = styles$8.withStyles(styles)(props => {
10595
10555
  __self: undefined,
10596
10556
  __source: {
10597
10557
  fileName: _jsxFileName,
10598
- lineNumber: 363
10558
+ lineNumber: 332
10599
10559
  }
10600
10560
  }, addChoiceButton.label)));
10601
10561
  });
@@ -10728,7 +10688,7 @@ class Main extends React$1.Component {
10728
10688
  __self: this,
10729
10689
  __source: {
10730
10690
  fileName: _jsxFileName,
10731
- lineNumber: 499
10691
+ lineNumber: 468
10732
10692
  }
10733
10693
  }, React$1.createElement(AlertDialog, {
10734
10694
  open: showWarning,
@@ -10740,7 +10700,7 @@ class Main extends React$1.Component {
10740
10700
  __self: this,
10741
10701
  __source: {
10742
10702
  fileName: _jsxFileName,
10743
- lineNumber: 500
10703
+ lineNumber: 469
10744
10704
  }
10745
10705
  }), React$1.createElement(Design, {
10746
10706
  ...this.props,
@@ -10753,7 +10713,7 @@ class Main extends React$1.Component {
10753
10713
  __self: this,
10754
10714
  __source: {
10755
10715
  fileName: _jsxFileName,
10756
- lineNumber: 506
10716
+ lineNumber: 475
10757
10717
  }
10758
10718
  }));
10759
10719
  }
@@ -10762,7 +10722,6 @@ Main.__initStatic();
10762
10722
  const Styled = styles$8.withStyles(styles)(Main);
10763
10723
  var sensibleDefaults = {
10764
10724
  model: {
10765
- accessibilityLabelsEnabled: false,
10766
10725
  choiceMode: 'checkbox',
10767
10726
  choicePrefix: 'letters',
10768
10727
  choices: [],
@@ -10879,21 +10838,6 @@ var sensibleDefaults = {
10879
10838
  },
10880
10839
  required: false
10881
10840
  },
10882
- accessibility: {
10883
- settings: false,
10884
- label: 'Accessibility Label',
10885
- inputConfiguration: {
10886
- audio: {
10887
- disabled: true
10888
- },
10889
- video: {
10890
- disabled: true
10891
- },
10892
- image: {
10893
- disabled: false
10894
- }
10895
- }
10896
- },
10897
10841
  scoringType: {
10898
10842
  settings: false,
10899
10843
  label: 'Scoring Type'
@@ -2514,14 +2514,7 @@ const isResponseCorrect = (question, session) => {
2514
2514
  return session && isEqual_1((session.value || []).sort(), correctResponse);
2515
2515
  };
2516
2516
 
2517
- const parseHTML = (html) => {
2518
- const template = document.createElement('template');
2519
- template.innerHTML = html;
2520
- return template.content;
2521
- };
2522
-
2523
2517
  var defaults = {
2524
- accessibilityLabelsEnabled: false,
2525
2518
  choiceMode: 'checkbox',
2526
2519
  choicePrefix: 'letters',
2527
2520
  choices: [],
@@ -20632,10 +20625,6 @@ const prepareChoice = (model, env, defaultFeedback) => (choice) => {
20632
20625
  value: choice.value,
20633
20626
  };
20634
20627
 
20635
- if (model.accessibilityLabelsEnabled) {
20636
- out.accessibility = parseHTML(choice.accessibility).textContent || choice.value;
20637
- }
20638
-
20639
20628
  if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
20640
20629
  out.rationale = model.rationaleEnabled ? choice.rationale : null;
20641
20630
  } else {
package/module/demo.js CHANGED
@@ -18,7 +18,6 @@ generate.model = (id, element) => ({
18
18
  type: 'none',
19
19
  value: '',
20
20
  },
21
- accessibility: 'sweden',
22
21
  },
23
22
  {
24
23
  value: 'iceland',
@@ -28,7 +27,6 @@ generate.model = (id, element) => ({
28
27
  value: '',
29
28
  },
30
29
  rationale: 'Rationale for Iceland',
31
- accessibility: 'iceland',
32
30
  },
33
31
  {
34
32
  value: 'norway',
@@ -38,7 +36,6 @@ generate.model = (id, element) => ({
38
36
  value: '',
39
37
  },
40
38
  rationale: 'Rationale for Norway',
41
- accessibility: 'norway',
42
39
  },
43
40
  {
44
41
  correct: true,
@@ -49,7 +46,6 @@ generate.model = (id, element) => ({
49
46
  value: '',
50
47
  },
51
48
  rationale: 'Rationale for Finland',
52
- accessibility: 'finland',
53
49
  },
54
50
  ],
55
51
  extraCSSRules: {