@pie-element/inline-dropdown 6.6.1-next.2 → 6.6.1-next.20

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.
@@ -8,7 +8,7 @@
8
8
  "@material-ui/core": "^3.9.2",
9
9
  "@material-ui/icons": "^3.0.1",
10
10
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/pie-toolbox": "2.16.0",
11
+ "@pie-lib/pie-toolbox": "2.17.5",
12
12
  "classnames": "^2.2.6",
13
13
  "debug": "^3.1.0",
14
14
  "lodash": "^4.17.15",
@@ -8,7 +8,7 @@
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@pie-lib/pie-toolbox": "2.16.0",
11
+ "@pie-lib/pie-toolbox": "2.17.5",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15",
14
14
  "type-of": "^2.0.1"
@@ -110,6 +110,8 @@ var InlineDropdown = /*#__PURE__*/function (_React$Component) {
110
110
 
111
111
  var showCorrectAnswerToggle = mode === 'evaluate';
112
112
  var choiceRationalesHaveText = false;
113
+ var showRationale = rationale && ((0, _renderUi.hasText)(rationale) || (0, _renderUi.hasMedia)(rationale));
114
+ var showTeacherInstructions = teacherInstructions && ((0, _renderUi.hasText)(teacherInstructions) || (0, _renderUi.hasMedia)(teacherInstructions));
113
115
  var choiceRationales = (Object.keys(choices) || []).map(function (key) {
114
116
  return (choices[key] || []).reduce(function (acc, currentValue) {
115
117
  if (currentValue.rationale && (0, _renderUi.hasText)(currentValue.rationale)) {
@@ -128,7 +130,7 @@ var InlineDropdown = /*#__PURE__*/function (_React$Component) {
128
130
  }
129
131
  }, mode === 'gather' && /*#__PURE__*/_react["default"].createElement("h2", {
130
132
  className: classes.srOnly
131
- }, "Inline Dropdown Question"), teacherInstructions && (0, _renderUi.hasText)(teacherInstructions) && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
133
+ }, "Inline Dropdown Question"), showTeacherInstructions && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
132
134
  className: classes.collapsible,
133
135
  labels: {
134
136
  hidden: 'Show Teacher Instructions',
@@ -168,7 +170,7 @@ var InlineDropdown = /*#__PURE__*/function (_React$Component) {
168
170
  prompt: choice.rationale
169
171
  }));
170
172
  }));
171
- })), rationale && (0, _renderUi.hasText)(rationale) && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
173
+ })), showRationale && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
172
174
  labels: {
173
175
  hidden: 'Show Rationale',
174
176
  visible: 'Hide Rationale'
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/inline-dropdown.jsx"],"names":["InlineDropdown","showCorrectAnswer","setState","state","nextProps","feedback","domNode","ReactDOM","findDOMNode","props","classes","prompt","mode","model","rationale","teacherInstructions","choices","displayType","language","extraCSSRules","showCorrectAnswerToggle","choiceRationalesHaveText","choiceRationales","Object","keys","map","key","reduce","acc","currentValue","push","mainContainer","display","srOnly","collapsible","hidden","visible","toggleShowCorrect","index","choiceRationaleWrapper","length","choice","choiceRationale","label","choiceRationaleLabel","correct","__html","React","Component","PropTypes","object","string","disabled","bool","markup","isRequired","value","onChange","func","styles","theme","color","text","backgroundColor","background","marginBottom","spacing","unit","whiteSpace","incorrectWithIcon","position","left","top","width","height","overflow"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport {CorrectAnswerToggle} from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { InlineDropdown as DropDown } from '@pie-lib/pie-toolbox/mask-markup';\nimport { color, Collapsible, hasText, PreviewPrompt, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\nimport { renderMath } from '@pie-lib/pie-toolbox/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nexport class InlineDropdown extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n prompt: PropTypes.string,\n disabled: PropTypes.bool,\n markup: PropTypes.string,\n mode: PropTypes.string,\n displayType: PropTypes.string,\n rationale: PropTypes.string,\n teacherInstructions: PropTypes.string,\n model: PropTypes.object.isRequired,\n choices: PropTypes.object,\n value: PropTypes.object,\n feedback: PropTypes.object,\n onChange: PropTypes.func,\n language: PropTypes.string,\n };\n\n static defaultProps = {\n value: {},\n };\n\n state = {\n showCorrectAnswer: false,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n }\n\n componentDidUpdate() {\n // eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const { classes, prompt, mode, model, rationale, teacherInstructions, choices, displayType, language } = this.props;\n const { extraCSSRules } = model || {};\n const showCorrectAnswerToggle = mode === 'evaluate';\n let choiceRationalesHaveText = false;\n\n const choiceRationales = (Object.keys(choices) || []).map((key) =>\n (choices[key] || []).reduce((acc, currentValue) => {\n if (currentValue.rationale && hasText(currentValue.rationale)) {\n choiceRationalesHaveText = true;\n\n acc.push(currentValue);\n }\n\n return acc;\n }, []),\n );\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer} style={{ display: `${displayType}` }}>\n {mode === 'gather' && <h2 className={classes.srOnly}>Inline Dropdown Question</h2>}\n\n {teacherInstructions && hasText(teacherInstructions) && (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={language}\n />\n\n <DropDown {...this.props} showCorrectAnswer={showCorrectAnswer} />\n\n {choiceRationalesHaveText && (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Rationale for choices', visible: 'Hide Rationale for choices' }}\n >\n {choiceRationales.map((choices, index) => (\n <div key={index} className={classes.choiceRationaleWrapper}>\n {choices?.length > 0 &&\n choices.map((choice) => (\n <div className={classes.choiceRationale} key={choice.label}>\n <div\n className={classNames(classes.choiceRationaleLabel, choice.correct ? 'correct' : 'incorrect')}\n dangerouslySetInnerHTML={{ __html: `${choice.label}: ` }}\n />\n <PreviewPrompt prompt={choice.rationale} />\n </div>\n ))}\n </div>\n ))}\n </Collapsible>\n )}\n\n {rationale && hasText(rationale) && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </UiLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n choiceRationaleWrapper: {\n '&:not(:last-child)': {\n marginBottom: theme.spacing.unit * 2,\n },\n },\n choiceRationale: {\n display: 'flex',\n whiteSpace: 'break-spaces',\n },\n choiceRationaleLabel: {\n display: 'flex',\n '&.correct': {\n color: color.correct(),\n },\n '&.incorrect': {\n color: color.incorrectWithIcon(),\n },\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n});\n\nexport default withStyles(styles)(InlineDropdown);\n"],"file":"inline-dropdown.js"}
1
+ {"version":3,"sources":["../src/inline-dropdown.jsx"],"names":["InlineDropdown","showCorrectAnswer","setState","state","nextProps","feedback","domNode","ReactDOM","findDOMNode","props","classes","prompt","mode","model","rationale","teacherInstructions","choices","displayType","language","extraCSSRules","showCorrectAnswerToggle","choiceRationalesHaveText","showRationale","showTeacherInstructions","choiceRationales","Object","keys","map","key","reduce","acc","currentValue","push","mainContainer","display","srOnly","collapsible","hidden","visible","toggleShowCorrect","index","choiceRationaleWrapper","length","choice","choiceRationale","label","choiceRationaleLabel","correct","__html","React","Component","PropTypes","object","string","disabled","bool","markup","isRequired","value","onChange","func","styles","theme","color","text","backgroundColor","background","marginBottom","spacing","unit","whiteSpace","incorrectWithIcon","position","left","top","width","height","overflow"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport isEmpty from 'lodash/isEmpty';\nimport {CorrectAnswerToggle} from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { InlineDropdown as DropDown } from '@pie-lib/pie-toolbox/mask-markup';\nimport { color, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\nimport { renderMath } from '@pie-lib/pie-toolbox/math-rendering';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\n\nexport class InlineDropdown extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n prompt: PropTypes.string,\n disabled: PropTypes.bool,\n markup: PropTypes.string,\n mode: PropTypes.string,\n displayType: PropTypes.string,\n rationale: PropTypes.string,\n teacherInstructions: PropTypes.string,\n model: PropTypes.object.isRequired,\n choices: PropTypes.object,\n value: PropTypes.object,\n feedback: PropTypes.object,\n onChange: PropTypes.func,\n language: PropTypes.string,\n };\n\n static defaultProps = {\n value: {},\n };\n\n state = {\n showCorrectAnswer: false,\n };\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n }\n\n componentDidUpdate() {\n // eslint-disable-next-line\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const { classes, prompt, mode, model, rationale, teacherInstructions, choices, displayType, language } = this.props;\n const { extraCSSRules } = model || {};\n const showCorrectAnswerToggle = mode === 'evaluate';\n let choiceRationalesHaveText = false;\n const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));\n const showTeacherInstructions = teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));\n\n const choiceRationales = (Object.keys(choices) || []).map((key) =>\n (choices[key] || []).reduce((acc, currentValue) => {\n if (currentValue.rationale && hasText(currentValue.rationale)) {\n choiceRationalesHaveText = true;\n\n acc.push(currentValue);\n }\n\n return acc;\n }, []),\n );\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer} style={{ display: `${displayType}` }}>\n {mode === 'gather' && <h2 className={classes.srOnly}>Inline Dropdown Question</h2>}\n\n {showTeacherInstructions && (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showCorrectAnswerToggle}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={language}\n />\n\n <DropDown {...this.props} showCorrectAnswer={showCorrectAnswer} />\n\n {choiceRationalesHaveText && (\n <Collapsible\n className={classes.collapsible}\n labels={{ hidden: 'Show Rationale for choices', visible: 'Hide Rationale for choices' }}\n >\n {choiceRationales.map((choices, index) => (\n <div key={index} className={classes.choiceRationaleWrapper}>\n {choices?.length > 0 &&\n choices.map((choice) => (\n <div className={classes.choiceRationale} key={choice.label}>\n <div\n className={classNames(classes.choiceRationaleLabel, choice.correct ? 'correct' : 'incorrect')}\n dangerouslySetInnerHTML={{ __html: `${choice.label}: ` }}\n />\n <PreviewPrompt prompt={choice.rationale} />\n </div>\n ))}\n </div>\n ))}\n </Collapsible>\n )}\n\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </UiLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n choiceRationaleWrapper: {\n '&:not(:last-child)': {\n marginBottom: theme.spacing.unit * 2,\n },\n },\n choiceRationale: {\n display: 'flex',\n whiteSpace: 'break-spaces',\n },\n choiceRationaleLabel: {\n display: 'flex',\n '&.correct': {\n color: color.correct(),\n },\n '&.incorrect': {\n color: color.incorrectWithIcon(),\n },\n },\n srOnly: {\n position: 'absolute',\n left: '-10000px',\n top: 'auto',\n width: '1px',\n height: '1px',\n overflow: 'hidden',\n },\n});\n\nexport default withStyles(styles)(InlineDropdown);\n"],"file":"inline-dropdown.js"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "6.6.1-next.2+21ecb8bdd",
7
+ "version": "6.6.1-next.20+8645a526e",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "postpublish": "../../scripts/postpublish"
@@ -12,7 +12,7 @@
12
12
  "dependencies": {
13
13
  "@material-ui/core": "^3.9.2",
14
14
  "@pie-framework/pie-player-events": "^0.1.0",
15
- "@pie-lib/pie-toolbox": "2.16.0",
15
+ "@pie-lib/pie-toolbox": "2.17.5",
16
16
  "classnames": "^2.2.5",
17
17
  "lodash": "^4.17.10",
18
18
  "prop-types": "^15.6.1",
@@ -21,7 +21,7 @@
21
21
  },
22
22
  "author": "",
23
23
  "license": "ISC",
24
- "gitHead": "21ecb8bdd2ac0d202c57aeed447dda1541723cda",
24
+ "gitHead": "8645a526eb8d93c6f42ec1b4e088c4865ed2a0a7",
25
25
  "main": "lib/index.js",
26
26
  "module": "src/index.js"
27
27
  }