@pie-element/explicit-constructed-response 7.5.7-next.12 → 7.5.7-next.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/main.js CHANGED
@@ -162,6 +162,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
162
162
  prompt: rationale
163
163
  });
164
164
 
165
+ var showRationale = rationale && ((0, _renderUi.hasText)(rationale) || (0, _renderUi.hasMedia)(rationale));
166
+ var showTeacherInstructions = teacherInstructions && ((0, _renderUi.hasText)(teacherInstructions) || (0, _renderUi.hasMedia)(teacherInstructions));
165
167
  return /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
166
168
  extraCSSRules: extraCSSRules,
167
169
  className: mainClasses,
@@ -170,7 +172,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
170
172
  }
171
173
  }, mode === 'gather' && /*#__PURE__*/_react["default"].createElement("h2", {
172
174
  className: classes.srOnly
173
- }, "Fill in the Blank Question"), teacherInstructions && (0, _renderUi.hasText)(teacherInstructions) && /*#__PURE__*/_react["default"].createElement("div", {
175
+ }, "Fill in the Blank Question"), showTeacherInstructions && /*#__PURE__*/_react["default"].createElement("div", {
174
176
  className: classes.collapsible
175
177
  }, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
176
178
  labels: {
@@ -197,7 +199,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
197
199
  dangerouslySetInnerHTML: {
198
200
  __html: note
199
201
  }
200
- }), rationale && (0, _renderUi.hasText)(rationale) && /*#__PURE__*/_react["default"].createElement("div", {
202
+ }), showRationale && /*#__PURE__*/_react["default"].createElement("div", {
201
203
  className: classes.collapsible
202
204
  }, !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
203
205
  labels: {
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.js"],"names":["translator","Translator","Main","showCorrectAnswer","props","alwaysShowCorrect","maxLengthPerChoice","every","val","i","arr","onChange","maxWait","setState","state","getChangeSession","value","changeSession","nextProps","language","note","feedback","t","lng","animationsDisabled","classes","mode","displayType","role","maxLengthPerChoiceEnabled","playerSpellCheckEnabled","prompt","rationale","showNote","teacherInstructions","responseAreaInputConfiguration","model","extraCSSRules","displayNote","mainClasses","mainContainer","noBorderColor","teacherInstructionsDiv","rationaleDiv","display","srOnly","collapsible","hidden","visible","toggleShowCorrect","__html","React","Component","PropTypes","bool","object","isRequired","disabled","string","markup","array","func","styles","theme","color","text","backgroundColor","background","inlineDisplay","blockDisplay","marginBottom","spacing","unit","borderColor","position","left","top","width","height","overflow"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport { CorrectAnswerToggle } from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { ConstructedResponse } from '@pie-lib/pie-toolbox/mask-markup';\nimport { color, Collapsible, hasText, PreviewPrompt, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\nexport class Main extends React.Component {\n static propTypes = {\n alwaysShowCorrect: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n displayType: PropTypes.string,\n feedback: PropTypes.object,\n language: PropTypes.string,\n markup: PropTypes.string,\n maxLengthPerChoice: PropTypes.array,\n maxLengthPerChoiceEnabled: PropTypes.bool,\n mode: PropTypes.string,\n note: PropTypes.string,\n onChange: PropTypes.func,\n playerSpellCheckEnabled: PropTypes.bool,\n prompt: PropTypes.string,\n rationale: PropTypes.string,\n role: PropTypes.string,\n showNote: PropTypes.bool,\n teacherInstructions: PropTypes.string,\n value: PropTypes.object,\n responseAreaInputConfiguration: PropTypes.object,\n model: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n value: {},\n };\n\n state = {\n showCorrectAnswer: this.props.alwaysShowCorrect || false,\n };\n\n // if for all responses max length is 1, call onChange for each keystroke\n getChangeSession = (maxLengthPerChoice) =>\n maxLengthPerChoice && maxLengthPerChoice.every((val, i, arr) => val === arr[0] && val === 1)\n ? this.props.onChange\n : debounce(this.props.onChange, 200, { maxWait: 200 });\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { maxLengthPerChoice, language } = this.props;\n let { note } = this.props;\n\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n\n if (nextProps.alwaysShowCorrect) {\n this.setState({ showCorrectAnswer: true });\n }\n\n if (maxLengthPerChoice && !isEqual(maxLengthPerChoice, nextProps.maxLengthPerChoice)) {\n this.changeSession = this.getChangeSession(nextProps.maxLengthPerChoice);\n }\n\n // check if the note is the default one for prev language and change to the default one for new language\n // this check is necessary in order to diferanciate between default and authour defined note\n // and only change between languages for default ones\n if (\n note &&\n language &&\n language !== nextProps.language &&\n note === translator.t('common:commonCorrectAnswerWithAlternates', { lng: language })\n ) {\n note = translator.t('common:commonCorrectAnswerWithAlternates', { lng: nextProps.language });\n }\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n changeSession = this.getChangeSession(this.props.maxLengthPerChoice);\n\n onChange = (value) => {\n this.changeSession(value);\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const {\n alwaysShowCorrect,\n animationsDisabled,\n classes,\n mode,\n displayType,\n role,\n language,\n maxLengthPerChoice,\n maxLengthPerChoiceEnabled,\n note,\n playerSpellCheckEnabled,\n prompt,\n rationale,\n showNote,\n teacherInstructions,\n responseAreaInputConfiguration,\n model,\n value,\n } = this.props;\n\n const { extraCSSRules } = model || {};\n const displayNote = (showCorrectAnswer || (mode === 'view' && role === 'instructor')) && showNote && note;\n const mainClasses = classNames([\n classes.mainContainer,\n {\n [classes.noBorderColor]: alwaysShowCorrect,\n },\n ]);\n\n const teacherInstructionsDiv = (\n <PreviewPrompt defaultClassName=\"teacher-instructions\" prompt={teacherInstructions} />\n );\n\n const rationaleDiv = <PreviewPrompt prompt={rationale} />;\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={mainClasses} style={{ display: `${displayType}` }}>\n {mode === 'gather' && <h2 className={classes.srOnly}>Fill in the Blank Question</h2>}\n\n {teacherInstructions && hasText(teacherInstructions) && (\n <div className={classes.collapsible}>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}>\n {teacherInstructionsDiv}\n </Collapsible>\n ) : (\n teacherInstructionsDiv\n )}\n </div>\n )}\n\n {prompt && <PreviewPrompt prompt={prompt} />}\n\n {!alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={mode === 'evaluate'}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={language}\n />\n )}\n\n <ConstructedResponse\n {...this.props}\n onChange={this.onChange}\n showCorrectAnswer={showCorrectAnswer}\n value={value}\n maxLength={maxLengthPerChoice}\n adjustedLimit={maxLengthPerChoiceEnabled}\n spellCheck={playerSpellCheckEnabled}\n pluginProps={responseAreaInputConfiguration}\n />\n\n {displayNote && <div className={classNames(classes.note, 'note')} dangerouslySetInnerHTML={{ __html: note }} />}\n\n {rationale && hasText(rationale) && (\n <div className={classes.collapsible}>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>{rationaleDiv}</Collapsible>\n ) : (\n rationaleDiv\n )}\n </div>\n )}\n </UiLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n inlineDisplay: {\n display: 'inline-block',\n },\n blockDisplay: {\n display: 'block',\n },\n note: {\n marginBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n noBorderColor: {\n '& *': {\n borderColor: `${color.text()} !important`,\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)(Main);\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.js"],"names":["translator","Translator","Main","showCorrectAnswer","props","alwaysShowCorrect","maxLengthPerChoice","every","val","i","arr","onChange","maxWait","setState","state","getChangeSession","value","changeSession","nextProps","language","note","feedback","t","lng","animationsDisabled","classes","mode","displayType","role","maxLengthPerChoiceEnabled","playerSpellCheckEnabled","prompt","rationale","showNote","teacherInstructions","responseAreaInputConfiguration","model","extraCSSRules","displayNote","mainClasses","mainContainer","noBorderColor","teacherInstructionsDiv","rationaleDiv","showRationale","showTeacherInstructions","display","srOnly","collapsible","hidden","visible","toggleShowCorrect","__html","React","Component","PropTypes","bool","object","isRequired","disabled","string","markup","array","func","styles","theme","color","text","backgroundColor","background","inlineDisplay","blockDisplay","marginBottom","spacing","unit","borderColor","position","left","top","width","height","overflow"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport debounce from 'lodash/debounce';\nimport isEmpty from 'lodash/isEmpty';\nimport isEqual from 'lodash/isEqual';\nimport { CorrectAnswerToggle } from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { ConstructedResponse } from '@pie-lib/pie-toolbox/mask-markup';\nimport { color, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport Translator from '@pie-lib/pie-toolbox/translator';\n\nconst { translator } = Translator;\n\nexport class Main extends React.Component {\n static propTypes = {\n alwaysShowCorrect: PropTypes.bool,\n animationsDisabled: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n disabled: PropTypes.bool,\n displayType: PropTypes.string,\n feedback: PropTypes.object,\n language: PropTypes.string,\n markup: PropTypes.string,\n maxLengthPerChoice: PropTypes.array,\n maxLengthPerChoiceEnabled: PropTypes.bool,\n mode: PropTypes.string,\n note: PropTypes.string,\n onChange: PropTypes.func,\n playerSpellCheckEnabled: PropTypes.bool,\n prompt: PropTypes.string,\n rationale: PropTypes.string,\n role: PropTypes.string,\n showNote: PropTypes.bool,\n teacherInstructions: PropTypes.string,\n value: PropTypes.object,\n responseAreaInputConfiguration: PropTypes.object,\n model: PropTypes.object.isRequired,\n };\n\n static defaultProps = {\n value: {},\n };\n\n state = {\n showCorrectAnswer: this.props.alwaysShowCorrect || false,\n };\n\n // if for all responses max length is 1, call onChange for each keystroke\n getChangeSession = (maxLengthPerChoice) =>\n maxLengthPerChoice && maxLengthPerChoice.every((val, i, arr) => val === arr[0] && val === 1)\n ? this.props.onChange\n : debounce(this.props.onChange, 200, { maxWait: 200 });\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n const { maxLengthPerChoice, language } = this.props;\n let { note } = this.props;\n\n if (isEmpty(nextProps.feedback)) {\n this.setState({ showCorrectAnswer: false });\n }\n\n if (nextProps.alwaysShowCorrect) {\n this.setState({ showCorrectAnswer: true });\n }\n\n if (maxLengthPerChoice && !isEqual(maxLengthPerChoice, nextProps.maxLengthPerChoice)) {\n this.changeSession = this.getChangeSession(nextProps.maxLengthPerChoice);\n }\n\n // check if the note is the default one for prev language and change to the default one for new language\n // this check is necessary in order to diferanciate between default and authour defined note\n // and only change between languages for default ones\n if (\n note &&\n language &&\n language !== nextProps.language &&\n note === translator.t('common:commonCorrectAnswerWithAlternates', { lng: language })\n ) {\n note = translator.t('common:commonCorrectAnswerWithAlternates', { lng: nextProps.language });\n }\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n changeSession = this.getChangeSession(this.props.maxLengthPerChoice);\n\n onChange = (value) => {\n this.changeSession(value);\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const {\n alwaysShowCorrect,\n animationsDisabled,\n classes,\n mode,\n displayType,\n role,\n language,\n maxLengthPerChoice,\n maxLengthPerChoiceEnabled,\n note,\n playerSpellCheckEnabled,\n prompt,\n rationale,\n showNote,\n teacherInstructions,\n responseAreaInputConfiguration,\n model,\n value,\n } = this.props;\n\n const { extraCSSRules } = model || {};\n const displayNote = (showCorrectAnswer || (mode === 'view' && role === 'instructor')) && showNote && note;\n const mainClasses = classNames([\n classes.mainContainer,\n {\n [classes.noBorderColor]: alwaysShowCorrect,\n },\n ]);\n\n const teacherInstructionsDiv = (\n <PreviewPrompt defaultClassName=\"teacher-instructions\" prompt={teacherInstructions} />\n );\n\n const rationaleDiv = <PreviewPrompt prompt={rationale} />;\n\n const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));\n const showTeacherInstructions = teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={mainClasses} style={{ display: `${displayType}` }}>\n {mode === 'gather' && <h2 className={classes.srOnly}>Fill in the Blank Question</h2>}\n\n {showTeacherInstructions && (\n <div className={classes.collapsible}>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}>\n {teacherInstructionsDiv}\n </Collapsible>\n ) : (\n teacherInstructionsDiv\n )}\n </div>\n )}\n\n {prompt && <PreviewPrompt prompt={prompt} />}\n\n {!alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={mode === 'evaluate'}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={language}\n />\n )}\n\n <ConstructedResponse\n {...this.props}\n onChange={this.onChange}\n showCorrectAnswer={showCorrectAnswer}\n value={value}\n maxLength={maxLengthPerChoice}\n adjustedLimit={maxLengthPerChoiceEnabled}\n spellCheck={playerSpellCheckEnabled}\n pluginProps={responseAreaInputConfiguration}\n />\n\n {displayNote && <div className={classNames(classes.note, 'note')} dangerouslySetInnerHTML={{ __html: note }} />}\n\n {showRationale && (\n <div className={classes.collapsible}>\n {!animationsDisabled ? (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>{rationaleDiv}</Collapsible>\n ) : (\n rationaleDiv\n )}\n </div>\n )}\n </UiLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n inlineDisplay: {\n display: 'inline-block',\n },\n blockDisplay: {\n display: 'block',\n },\n note: {\n marginBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n noBorderColor: {\n '& *': {\n borderColor: `${color.text()} !important`,\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)(Main);\n"],"file":"main.js"}
@@ -1,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.4/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_lodash, _dll_debug} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.5/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_editable_html, _dll_pie_lib__pie_toolbox_config_ui} from "../../../@pie-lib/pie-toolbox-module@7.0.3/module/index.js";
3
3
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
package/module/element.js CHANGED
@@ -1,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_classnames, _dll_react_dom, _dll_pie_framework__mathquill, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.4/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_classnames, _dll_react_dom, _dll_pie_framework__mathquill, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.5/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_correct_answer_toggle, _dll_pie_lib__pie_toolbox_render_ui} from "../../../@pie-lib/pie-toolbox-module@7.0.3/module/index.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -140869,20 +140869,20 @@ var hasText$1 = function hasText(s) {
140869
140869
  return !!(tc && tc.trim());
140870
140870
  };
140871
140871
  hasText$2.hasText = hasText$1;
140872
- var hasMedia$1 = {};
140873
- Object.defineProperty(hasMedia$1, "__esModule", {
140872
+ var hasMedia$2 = {};
140873
+ Object.defineProperty(hasMedia$2, "__esModule", {
140874
140874
  value: true
140875
140875
  });
140876
- hasMedia$1.hasMedia = void 0;
140876
+ hasMedia$2.hasMedia = void 0;
140877
140877
  var dp = new DOMParser();
140878
- var hasMedia = function hasMedia(s) {
140878
+ var hasMedia$1 = function hasMedia(s) {
140879
140879
  if (!s) {
140880
140880
  return false;
140881
140881
  }
140882
140882
  var root = dp.parseFromString(s, 'text/html');
140883
140883
  return !!root.body.querySelector('img') || !!root.body.querySelector('video') || !!root.body.querySelector('audio');
140884
140884
  };
140885
- hasMedia$1.hasMedia = hasMedia;
140885
+ hasMedia$2.hasMedia = hasMedia$1;
140886
140886
  var enableAudioAutoplayImage = {};
140887
140887
  (function (exports) {
140888
140888
  Object.defineProperty(exports, "__esModule", {
@@ -140994,7 +140994,7 @@ getDefaultExportFromCjs(enableAudioAutoplayImage);
140994
140994
  var color = _interopRequireWildcard(color$1);
140995
140995
  exports.color = color;
140996
140996
  var _hasText = hasText$2;
140997
- var _hasMedia = hasMedia$1;
140997
+ var _hasMedia = hasMedia$2;
140998
140998
  var _enableAudioAutoplayImage = _interopRequireDefault(enableAudioAutoplayImage);
140999
140999
  function _getRequireWildcardCache(nodeInterop) {
141000
141000
  if (typeof WeakMap !== "function") return null;
@@ -184757,6 +184757,7 @@ const {CorrectAnswerToggle: CorrectAnswerToggle} = _dll_pie_lib__pie_toolbox_cor
184757
184757
  const {color: color} = _dll_pie_lib__pie_toolbox_render_ui;
184758
184758
  const {Collapsible: Collapsible} = _dll_pie_lib__pie_toolbox_render_ui;
184759
184759
  const {hasText: hasText} = _dll_pie_lib__pie_toolbox_render_ui;
184760
+ const {hasMedia: hasMedia} = _dll_pie_lib__pie_toolbox_render_ui;
184760
184761
  const {PreviewPrompt: PreviewPrompt} = _dll_pie_lib__pie_toolbox_render_ui;
184761
184762
  const {UiLayout: UiLayout} = _dll_pie_lib__pie_toolbox_render_ui;
184762
184763
  const _jsxFileName = "/home/circleci/repo/packages/explicit-constructed-response/src/main.js";
@@ -184875,6 +184876,8 @@ class Main extends React$1.Component {
184875
184876
  lineNumber: 130
184876
184877
  }
184877
184878
  });
184879
+ const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));
184880
+ const showTeacherInstructions = teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));
184878
184881
  return React$1.createElement(UiLayout, {
184879
184882
  extraCSSRules: extraCSSRules,
184880
184883
  className: mainClasses,
@@ -184884,21 +184887,21 @@ class Main extends React$1.Component {
184884
184887
  __self: this,
184885
184888
  __source: {
184886
184889
  fileName: _jsxFileName,
184887
- lineNumber: 133
184890
+ lineNumber: 136
184888
184891
  }
184889
184892
  }, mode === 'gather' && React$1.createElement('h2', {
184890
184893
  className: classes.srOnly,
184891
184894
  __self: this,
184892
184895
  __source: {
184893
184896
  fileName: _jsxFileName,
184894
- lineNumber: 134
184897
+ lineNumber: 137
184895
184898
  }
184896
- }, "Fill in the Blank Question"), teacherInstructions && hasText(teacherInstructions) && React$1.createElement('div', {
184899
+ }, "Fill in the Blank Question"), showTeacherInstructions && React$1.createElement('div', {
184897
184900
  className: classes.collapsible,
184898
184901
  __self: this,
184899
184902
  __source: {
184900
184903
  fileName: _jsxFileName,
184901
- lineNumber: 137
184904
+ lineNumber: 140
184902
184905
  }
184903
184906
  }, !animationsDisabled ? React$1.createElement(Collapsible, {
184904
184907
  labels: {
@@ -184908,14 +184911,14 @@ class Main extends React$1.Component {
184908
184911
  __self: this,
184909
184912
  __source: {
184910
184913
  fileName: _jsxFileName,
184911
- lineNumber: 139
184914
+ lineNumber: 142
184912
184915
  }
184913
184916
  }, teacherInstructionsDiv) : teacherInstructionsDiv), prompt && React$1.createElement(PreviewPrompt, {
184914
184917
  prompt: prompt,
184915
184918
  __self: this,
184916
184919
  __source: {
184917
184920
  fileName: _jsxFileName,
184918
- lineNumber: 148
184921
+ lineNumber: 151
184919
184922
  }
184920
184923
  }), !alwaysShowCorrect && React$1.createElement(CorrectAnswerToggle, {
184921
184924
  show: mode === 'evaluate',
@@ -184925,7 +184928,7 @@ class Main extends React$1.Component {
184925
184928
  __self: this,
184926
184929
  __source: {
184927
184930
  fileName: _jsxFileName,
184928
- lineNumber: 151
184931
+ lineNumber: 154
184929
184932
  }
184930
184933
  }), React$1.createElement(maskMarkup$1.ConstructedResponse, {
184931
184934
  ...this.props,
@@ -184939,7 +184942,7 @@ class Main extends React$1.Component {
184939
184942
  __self: this,
184940
184943
  __source: {
184941
184944
  fileName: _jsxFileName,
184942
- lineNumber: 159
184945
+ lineNumber: 162
184943
184946
  }
184944
184947
  }), displayNote && React$1.createElement('div', {
184945
184948
  className: classNames(classes.note, 'note'),
@@ -184949,14 +184952,14 @@ class Main extends React$1.Component {
184949
184952
  __self: this,
184950
184953
  __source: {
184951
184954
  fileName: _jsxFileName,
184952
- lineNumber: 170
184955
+ lineNumber: 173
184953
184956
  }
184954
- }), rationale && hasText(rationale) && React$1.createElement('div', {
184957
+ }), showRationale && React$1.createElement('div', {
184955
184958
  className: classes.collapsible,
184956
184959
  __self: this,
184957
184960
  __source: {
184958
184961
  fileName: _jsxFileName,
184959
- lineNumber: 173
184962
+ lineNumber: 176
184960
184963
  }
184961
184964
  }, !animationsDisabled ? React$1.createElement(Collapsible, {
184962
184965
  labels: {
@@ -184966,7 +184969,7 @@ class Main extends React$1.Component {
184966
184969
  __self: this,
184967
184970
  __source: {
184968
184971
  fileName: _jsxFileName,
184969
- lineNumber: 175
184972
+ lineNumber: 178
184970
184973
  }
184971
184974
  }, rationaleDiv) : rationaleDiv));
184972
184975
  }
@@ -4,7 +4,7 @@
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/pie-toolbox-math-rendering-module",
7
- "version": "4.1.4"
7
+ "version": "4.1.5"
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/pie-toolbox-module",
package/module/print.js CHANGED
@@ -1,4 +1,4 @@
1
- import {_dll_react, _dll_prop_types, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_classnames, _dll_react_dom, _dll_pie_framework__mathquill, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.4/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_classnames, _dll_react_dom, _dll_pie_framework__mathquill, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.5/module/index.js";
2
2
  import {_dll_pie_lib__pie_toolbox_correct_answer_toggle, _dll_pie_lib__pie_toolbox_render_ui} from "../../../@pie-lib/pie-toolbox-module@7.0.3/module/index.js";
3
3
  function _mergeNamespaces(n, m) {
4
4
  m.forEach(function (e) {
@@ -140832,20 +140832,20 @@ var hasText$1 = function hasText(s) {
140832
140832
  return !!(tc && tc.trim());
140833
140833
  };
140834
140834
  hasText$2.hasText = hasText$1;
140835
- var hasMedia$1 = {};
140836
- Object.defineProperty(hasMedia$1, "__esModule", {
140835
+ var hasMedia$2 = {};
140836
+ Object.defineProperty(hasMedia$2, "__esModule", {
140837
140837
  value: true
140838
140838
  });
140839
- hasMedia$1.hasMedia = void 0;
140839
+ hasMedia$2.hasMedia = void 0;
140840
140840
  var dp = new DOMParser();
140841
- var hasMedia = function hasMedia(s) {
140841
+ var hasMedia$1 = function hasMedia(s) {
140842
140842
  if (!s) {
140843
140843
  return false;
140844
140844
  }
140845
140845
  var root = dp.parseFromString(s, 'text/html');
140846
140846
  return !!root.body.querySelector('img') || !!root.body.querySelector('video') || !!root.body.querySelector('audio');
140847
140847
  };
140848
- hasMedia$1.hasMedia = hasMedia;
140848
+ hasMedia$2.hasMedia = hasMedia$1;
140849
140849
  var enableAudioAutoplayImage = {};
140850
140850
  (function (exports) {
140851
140851
  Object.defineProperty(exports, "__esModule", {
@@ -140957,7 +140957,7 @@ getDefaultExportFromCjs(enableAudioAutoplayImage);
140957
140957
  var color = _interopRequireWildcard(color$1);
140958
140958
  exports.color = color;
140959
140959
  var _hasText = hasText$2;
140960
- var _hasMedia = hasMedia$1;
140960
+ var _hasMedia = hasMedia$2;
140961
140961
  var _enableAudioAutoplayImage = _interopRequireDefault(enableAudioAutoplayImage);
140962
140962
  function _getRequireWildcardCache(nodeInterop) {
140963
140963
  if (typeof WeakMap !== "function") return null;
@@ -184720,6 +184720,7 @@ const {CorrectAnswerToggle: CorrectAnswerToggle} = _dll_pie_lib__pie_toolbox_cor
184720
184720
  const {color: color} = _dll_pie_lib__pie_toolbox_render_ui;
184721
184721
  const {Collapsible: Collapsible} = _dll_pie_lib__pie_toolbox_render_ui;
184722
184722
  const {hasText: hasText} = _dll_pie_lib__pie_toolbox_render_ui;
184723
+ const {hasMedia: hasMedia} = _dll_pie_lib__pie_toolbox_render_ui;
184723
184724
  const {PreviewPrompt: PreviewPrompt} = _dll_pie_lib__pie_toolbox_render_ui;
184724
184725
  const {UiLayout: UiLayout} = _dll_pie_lib__pie_toolbox_render_ui;
184725
184726
  const _jsxFileName = "/home/circleci/repo/packages/explicit-constructed-response/src/main.js";
@@ -184838,6 +184839,8 @@ class Main extends React$1.Component {
184838
184839
  lineNumber: 130
184839
184840
  }
184840
184841
  });
184842
+ const showRationale = rationale && (hasText(rationale) || hasMedia(rationale));
184843
+ const showTeacherInstructions = teacherInstructions && (hasText(teacherInstructions) || hasMedia(teacherInstructions));
184841
184844
  return React$1.createElement(UiLayout, {
184842
184845
  extraCSSRules: extraCSSRules,
184843
184846
  className: mainClasses,
@@ -184847,21 +184850,21 @@ class Main extends React$1.Component {
184847
184850
  __self: this,
184848
184851
  __source: {
184849
184852
  fileName: _jsxFileName,
184850
- lineNumber: 133
184853
+ lineNumber: 136
184851
184854
  }
184852
184855
  }, mode === 'gather' && React$1.createElement('h2', {
184853
184856
  className: classes.srOnly,
184854
184857
  __self: this,
184855
184858
  __source: {
184856
184859
  fileName: _jsxFileName,
184857
- lineNumber: 134
184860
+ lineNumber: 137
184858
184861
  }
184859
- }, "Fill in the Blank Question"), teacherInstructions && hasText(teacherInstructions) && React$1.createElement('div', {
184862
+ }, "Fill in the Blank Question"), showTeacherInstructions && React$1.createElement('div', {
184860
184863
  className: classes.collapsible,
184861
184864
  __self: this,
184862
184865
  __source: {
184863
184866
  fileName: _jsxFileName,
184864
- lineNumber: 137
184867
+ lineNumber: 140
184865
184868
  }
184866
184869
  }, !animationsDisabled ? React$1.createElement(Collapsible, {
184867
184870
  labels: {
@@ -184871,14 +184874,14 @@ class Main extends React$1.Component {
184871
184874
  __self: this,
184872
184875
  __source: {
184873
184876
  fileName: _jsxFileName,
184874
- lineNumber: 139
184877
+ lineNumber: 142
184875
184878
  }
184876
184879
  }, teacherInstructionsDiv) : teacherInstructionsDiv), prompt && React$1.createElement(PreviewPrompt, {
184877
184880
  prompt: prompt,
184878
184881
  __self: this,
184879
184882
  __source: {
184880
184883
  fileName: _jsxFileName,
184881
- lineNumber: 148
184884
+ lineNumber: 151
184882
184885
  }
184883
184886
  }), !alwaysShowCorrect && React$1.createElement(CorrectAnswerToggle, {
184884
184887
  show: mode === 'evaluate',
@@ -184888,7 +184891,7 @@ class Main extends React$1.Component {
184888
184891
  __self: this,
184889
184892
  __source: {
184890
184893
  fileName: _jsxFileName,
184891
- lineNumber: 151
184894
+ lineNumber: 154
184892
184895
  }
184893
184896
  }), React$1.createElement(maskMarkup$1.ConstructedResponse, {
184894
184897
  ...this.props,
@@ -184902,7 +184905,7 @@ class Main extends React$1.Component {
184902
184905
  __self: this,
184903
184906
  __source: {
184904
184907
  fileName: _jsxFileName,
184905
- lineNumber: 159
184908
+ lineNumber: 162
184906
184909
  }
184907
184910
  }), displayNote && React$1.createElement('div', {
184908
184911
  className: classNames(classes.note, 'note'),
@@ -184912,14 +184915,14 @@ class Main extends React$1.Component {
184912
184915
  __self: this,
184913
184916
  __source: {
184914
184917
  fileName: _jsxFileName,
184915
- lineNumber: 170
184918
+ lineNumber: 173
184916
184919
  }
184917
- }), rationale && hasText(rationale) && React$1.createElement('div', {
184920
+ }), showRationale && React$1.createElement('div', {
184918
184921
  className: classes.collapsible,
184919
184922
  __self: this,
184920
184923
  __source: {
184921
184924
  fileName: _jsxFileName,
184922
- lineNumber: 173
184925
+ lineNumber: 176
184923
184926
  }
184924
184927
  }, !animationsDisabled ? React$1.createElement(Collapsible, {
184925
184928
  labels: {
@@ -184929,7 +184932,7 @@ class Main extends React$1.Component {
184929
184932
  __self: this,
184930
184933
  __source: {
184931
184934
  fileName: _jsxFileName,
184932
- lineNumber: 175
184935
+ lineNumber: 178
184933
184936
  }
184934
184937
  }, rationaleDiv) : rationaleDiv));
184935
184938
  }
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "7.5.7-next.12+407ed842a",
7
+ "version": "7.5.7-next.15+bfbc9385c",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "postpublish": "../../scripts/postpublish"
@@ -22,7 +22,7 @@
22
22
  },
23
23
  "author": "",
24
24
  "license": "ISC",
25
- "gitHead": "407ed842aa83643f461a691662b6ae7ca7d9ed7e",
25
+ "gitHead": "bfbc9385c35b0ff369561f5866aaf4cdb19a8723",
26
26
  "main": "lib/index.js",
27
27
  "module": "src/index.js",
28
28
  "exports": {