@pie-element/select-text 9.5.7-next.2 → 9.5.7-next.23

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
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
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
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15",
14
14
  "prop-types": "^15.6.2",
@@ -6,7 +6,7 @@
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "dependencies": {
9
- "@pie-lib/pie-toolbox": "2.16.0",
9
+ "@pie-lib/pie-toolbox": "2.17.5",
10
10
  "debug": "^3.1.0",
11
11
  "lodash": "^4.17.15"
12
12
  },
package/lib/main.js CHANGED
@@ -105,11 +105,13 @@ var Main = /*#__PURE__*/function (_React$Component) {
105
105
  mode = _ref.mode;
106
106
 
107
107
  var selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;
108
+ var showRationale = model.rationale && ((0, _renderUi.hasText)(model.rationale) || (0, _renderUi.hasMedia)(model.rationale));
109
+ var showTeacherInstructions = model.teacherInstructions && ((0, _renderUi.hasText)(model.teacherInstructions) || (0, _renderUi.hasMedia)(model.teacherInstructions));
108
110
  log('[render] selectedTokens:', selectedTokens);
109
111
  return /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
110
112
  extraCSSRules: extraCSSRules,
111
113
  className: classes.mainContainer
112
- }, model.teacherInstructions && (0, _renderUi.hasText)(model.teacherInstructions) && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
114
+ }, showTeacherInstructions && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
113
115
  labels: {
114
116
  hidden: 'Show Teacher Instructions',
115
117
  visible: 'Hide Teacher Instructions'
@@ -157,7 +159,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
157
159
  animationsDisabled: model.animationsDisabled
158
160
  }), mode === 'evaluate' && /*#__PURE__*/_react["default"].createElement(_textSelect.Legend, {
159
161
  language: model.language
160
- }), model.rationale && (0, _renderUi.hasText)(model.rationale) && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
162
+ }), showRationale && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
161
163
  labels: {
162
164
  hidden: 'Show Rationale',
163
165
  visible: 'Hide Rationale'
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["log","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","props","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","nextProps","classes","env","extraCSSRules","mode","selectedTokens","correctAnswer","mainContainer","teacherInstructions","animationsDisabled","hidden","visible","collapsible","prompt","disabled","incorrect","toggleShowCorrect","language","textSelect","text","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxSelections","rationale","correctness","feedback","React","Component","StyledMain","theme","color","backgroundColor","background","marginBottom","spacing","unit","marginTop","whiteSpace","verticalAlign","Stateful","change"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect, Legend } from '@pie-lib/pie-toolbox/text-select';\nimport {CorrectAnswerToggle} from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText, PreviewPrompt, UiLayout } from '@pie-lib/pie-toolbox/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport generateModel from './utils';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst Types = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSelectionChange: PropTypes.func.isRequired,\n};\n\nexport class Main extends React.Component {\n static propTypes = { ...Types, classes: PropTypes.object.isRequired };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrectAnswer: this.props.model.alwaysShowCorrect || false,\n model: generateModel(props.model),\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,\n model: generateModel(nextProps.model),\n });\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n correctAnswer = () => {\n const { model } = this.state;\n\n return model.tokens.filter((t) => t.correct);\n };\n\n render() {\n const { session, onSelectionChange, classes } = this.props;\n const { showCorrectAnswer, model } = this.state;\n const { env, extraCSSRules } = model;\n const { mode } = env || {};\n\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer}>\n {model.teacherInstructions &&\n hasText(model.teacherInstructions) &&\n (!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Collapsible>\n ) : (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.teacherInstructions} />\n </div>\n ))}\n\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n\n {!model.alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={model.language}\n />\n )}\n\n <TextSelect\n className={classes.textSelect}\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={(selection) => {\n const newSelections = selection.map((select) => {\n const token = model.tokens.find(({ start, end }) => select.start === start && select.end === end);\n\n // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd\n if (token) {\n return token;\n }\n\n return select;\n });\n\n onSelectionChange(newSelections);\n }}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n animationsDisabled={model.animationsDisabled}\n />\n {mode === 'evaluate' && <Legend language={model.language} />}\n\n {model.rationale &&\n hasText(model.rationale) &&\n (!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.rationale} />\n </Collapsible>\n ) : (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.rationale} />\n </div>\n ))}\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </UiLayout>\n );\n }\n}\n\nconst StyledMain = withStyles((theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n textSelect: {\n marginBottom: theme.spacing.unit,\n marginTop: theme.spacing.unit * 2,\n whiteSpace: 'normal',\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: theme.spacing.unit,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n}))(Main);\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = (selectedTokens) => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return <StyledMain model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"file":"main.js"}
1
+ {"version":3,"sources":["../src/main.jsx"],"names":["log","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","props","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","nextProps","classes","env","extraCSSRules","mode","selectedTokens","correctAnswer","showRationale","rationale","showTeacherInstructions","teacherInstructions","mainContainer","animationsDisabled","hidden","visible","collapsible","prompt","disabled","incorrect","toggleShowCorrect","language","textSelect","text","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxSelections","correctness","feedback","React","Component","StyledMain","theme","color","backgroundColor","background","marginBottom","spacing","unit","marginTop","whiteSpace","verticalAlign","Stateful","change"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect, Legend } from '@pie-lib/pie-toolbox/text-select';\nimport {CorrectAnswerToggle} from '@pie-lib/pie-toolbox/correct-answer-toggle';\nimport {color, Feedback, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout} from '@pie-lib/pie-toolbox/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport generateModel from './utils';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst Types = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSelectionChange: PropTypes.func.isRequired,\n};\n\nexport class Main extends React.Component {\n static propTypes = { ...Types, classes: PropTypes.object.isRequired };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrectAnswer: this.props.model.alwaysShowCorrect || false,\n model: generateModel(props.model),\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,\n model: generateModel(nextProps.model),\n });\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n correctAnswer = () => {\n const { model } = this.state;\n\n return model.tokens.filter((t) => t.correct);\n };\n\n render() {\n const { session, onSelectionChange, classes } = this.props;\n const { showCorrectAnswer, model } = this.state;\n const { env, extraCSSRules } = model;\n const { mode } = env || {};\n\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions = model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer}>\n {showTeacherInstructions &&\n (!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Collapsible>\n ) : (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.teacherInstructions} />\n </div>\n ))}\n\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n\n {!model.alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={model.language}\n />\n )}\n\n <TextSelect\n className={classes.textSelect}\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={(selection) => {\n const newSelections = selection.map((select) => {\n const token = model.tokens.find(({ start, end }) => select.start === start && select.end === end);\n\n // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd\n if (token) {\n return token;\n }\n\n return select;\n });\n\n onSelectionChange(newSelections);\n }}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n animationsDisabled={model.animationsDisabled}\n />\n {mode === 'evaluate' && <Legend language={model.language} />}\n\n {showRationale &&\n (!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.rationale} />\n </Collapsible>\n ) : (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.rationale} />\n </div>\n ))}\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </UiLayout>\n );\n }\n}\n\nconst StyledMain = withStyles((theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n textSelect: {\n marginBottom: theme.spacing.unit,\n marginTop: theme.spacing.unit * 2,\n whiteSpace: 'normal',\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: theme.spacing.unit,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n}))(Main);\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = (selectedTokens) => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return <StyledMain model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"file":"main.js"}
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_debug, _dll_lodash, _dll_react_dom_server} from "../../../@pie-lib/pie-toolbox-math-rendering-module@3.9.0/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_config_ui, _dll_pie_lib__pie_toolbox_editable_html} from "../../../@pie-lib/pie-toolbox-module@6.2.0/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_classnames, _dll_react_dom, _dll_debug, _dll_lodash, _dll_react_dom_server} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.5/module/index.js";
2
+ import {_dll_pie_lib__pie_toolbox_config_ui, _dll_pie_lib__pie_toolbox_editable_html} 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) {
5
5
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -125146,9 +125146,9 @@ Object.defineProperty(hasText$1, "__esModule", {
125146
125146
  value: true
125147
125147
  });
125148
125148
  hasText$1.hasText = void 0;
125149
- var dp = new DOMParser();
125149
+ var dp$1 = new DOMParser();
125150
125150
  var markupToText = function markupToText(s) {
125151
- var root = dp.parseFromString(s, 'text/html');
125151
+ var root = dp$1.parseFromString(s, 'text/html');
125152
125152
  return root.body.textContent;
125153
125153
  };
125154
125154
  var hasText = function hasText(s) {
@@ -125159,6 +125159,20 @@ var hasText = function hasText(s) {
125159
125159
  return !!(tc && tc.trim());
125160
125160
  };
125161
125161
  hasText$1.hasText = hasText;
125162
+ var hasMedia$1 = {};
125163
+ Object.defineProperty(hasMedia$1, "__esModule", {
125164
+ value: true
125165
+ });
125166
+ hasMedia$1.hasMedia = void 0;
125167
+ var dp = new DOMParser();
125168
+ var hasMedia = function hasMedia(s) {
125169
+ if (!s) {
125170
+ return false;
125171
+ }
125172
+ var root = dp.parseFromString(s, 'text/html');
125173
+ return !!root.body.querySelector('img') || !!root.body.querySelector('video') || !!root.body.querySelector('audio');
125174
+ };
125175
+ hasMedia$1.hasMedia = hasMedia;
125162
125176
  var enableAudioAutoplayImage = {};
125163
125177
  (function (exports) {
125164
125178
  Object.defineProperty(exports, "__esModule", {
@@ -125236,6 +125250,12 @@ getDefaultExportFromCjs(enableAudioAutoplayImage);
125236
125250
  }
125237
125251
  });
125238
125252
  exports.color = void 0;
125253
+ Object.defineProperty(exports, "hasMedia", {
125254
+ enumerable: true,
125255
+ get: function get() {
125256
+ return _hasMedia.hasMedia;
125257
+ }
125258
+ });
125239
125259
  Object.defineProperty(exports, "hasText", {
125240
125260
  enumerable: true,
125241
125261
  get: function get() {
@@ -125264,6 +125284,7 @@ getDefaultExportFromCjs(enableAudioAutoplayImage);
125264
125284
  var color$1 = _interopRequireWildcard(color);
125265
125285
  exports.color = color$1;
125266
125286
  var _hasText = hasText$1;
125287
+ var _hasMedia = hasMedia$1;
125267
125288
  var _enableAudioAutoplayImage = _interopRequireDefault(enableAudioAutoplayImage);
125268
125289
  function _getRequireWildcardCache(nodeInterop) {
125269
125290
  if (typeof WeakMap !== "function") return null;
package/module/element.js CHANGED
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_react_dom, _dll_classnames, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@3.9.0/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_correct_answer_toggle, _dll_pie_lib__pie_toolbox_render_ui} from "../../../@pie-lib/pie-toolbox-module@6.2.0/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_react_dom, _dll_classnames, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.5/module/index.js";
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
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
5
5
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -122692,9 +122692,9 @@ Object.defineProperty(hasText$2, "__esModule", {
122692
122692
  value: true
122693
122693
  });
122694
122694
  hasText$2.hasText = void 0;
122695
- var dp = new DOMParser();
122695
+ var dp$1 = new DOMParser();
122696
122696
  var markupToText = function markupToText(s) {
122697
- var root = dp.parseFromString(s, 'text/html');
122697
+ var root = dp$1.parseFromString(s, 'text/html');
122698
122698
  return root.body.textContent;
122699
122699
  };
122700
122700
  var hasText$1 = function hasText(s) {
@@ -122705,6 +122705,20 @@ var hasText$1 = function hasText(s) {
122705
122705
  return !!(tc && tc.trim());
122706
122706
  };
122707
122707
  hasText$2.hasText = hasText$1;
122708
+ var hasMedia$2 = {};
122709
+ Object.defineProperty(hasMedia$2, "__esModule", {
122710
+ value: true
122711
+ });
122712
+ hasMedia$2.hasMedia = void 0;
122713
+ var dp = new DOMParser();
122714
+ var hasMedia$1 = function hasMedia(s) {
122715
+ if (!s) {
122716
+ return false;
122717
+ }
122718
+ var root = dp.parseFromString(s, 'text/html');
122719
+ return !!root.body.querySelector('img') || !!root.body.querySelector('video') || !!root.body.querySelector('audio');
122720
+ };
122721
+ hasMedia$2.hasMedia = hasMedia$1;
122708
122722
  var enableAudioAutoplayImage = {};
122709
122723
  (function (exports) {
122710
122724
  Object.defineProperty(exports, "__esModule", {
@@ -122782,6 +122796,12 @@ getDefaultExportFromCjs(enableAudioAutoplayImage);
122782
122796
  }
122783
122797
  });
122784
122798
  exports.color = void 0;
122799
+ Object.defineProperty(exports, "hasMedia", {
122800
+ enumerable: true,
122801
+ get: function get() {
122802
+ return _hasMedia.hasMedia;
122803
+ }
122804
+ });
122785
122805
  Object.defineProperty(exports, "hasText", {
122786
122806
  enumerable: true,
122787
122807
  get: function get() {
@@ -122810,6 +122830,7 @@ getDefaultExportFromCjs(enableAudioAutoplayImage);
122810
122830
  var color = _interopRequireWildcard(color$1);
122811
122831
  exports.color = color;
122812
122832
  var _hasText = hasText$2;
122833
+ var _hasMedia = hasMedia$2;
122813
122834
  var _enableAudioAutoplayImage = _interopRequireDefault(enableAudioAutoplayImage);
122814
122835
  function _getRequireWildcardCache(nodeInterop) {
122815
122836
  if (typeof WeakMap !== "function") return null;
@@ -129047,6 +129068,7 @@ const {color: color} = _dll_pie_lib__pie_toolbox_render_ui;
129047
129068
  const {Feedback: Feedback} = _dll_pie_lib__pie_toolbox_render_ui;
129048
129069
  const {Collapsible: Collapsible} = _dll_pie_lib__pie_toolbox_render_ui;
129049
129070
  const {hasText: hasText} = _dll_pie_lib__pie_toolbox_render_ui;
129071
+ const {hasMedia: hasMedia} = _dll_pie_lib__pie_toolbox_render_ui;
129050
129072
  const {PreviewPrompt: PreviewPrompt} = _dll_pie_lib__pie_toolbox_render_ui;
129051
129073
  const {UiLayout: UiLayout} = _dll_pie_lib__pie_toolbox_render_ui;
129052
129074
  const _jsxFileName = "/home/circleci/repo/packages/select-text/src/main.jsx";
@@ -129100,6 +129122,8 @@ class Main extends React$1.Component {
129100
129122
  const {env, extraCSSRules} = model;
129101
129123
  const {mode} = env || ({});
129102
129124
  const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;
129125
+ const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));
129126
+ const showTeacherInstructions = model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));
129103
129127
  log('[render] selectedTokens:', selectedTokens);
129104
129128
  return React$1.createElement(UiLayout, {
129105
129129
  extraCSSRules: extraCSSRules,
@@ -129107,9 +129131,9 @@ class Main extends React$1.Component {
129107
129131
  __self: this,
129108
129132
  __source: {
129109
129133
  fileName: _jsxFileName,
129110
- lineNumber: 62
129134
+ lineNumber: 64
129111
129135
  }
129112
- }, model.teacherInstructions && hasText(model.teacherInstructions) && (!model.animationsDisabled ? React$1.createElement(Collapsible, {
129136
+ }, showTeacherInstructions && (!model.animationsDisabled ? React$1.createElement(Collapsible, {
129113
129137
  labels: {
129114
129138
  hidden: 'Show Teacher Instructions',
129115
129139
  visible: 'Hide Teacher Instructions'
@@ -129118,42 +129142,42 @@ class Main extends React$1.Component {
129118
129142
  __self: this,
129119
129143
  __source: {
129120
129144
  fileName: _jsxFileName,
129121
- lineNumber: 66
129145
+ lineNumber: 67
129122
129146
  }
129123
129147
  }, React$1.createElement(PreviewPrompt, {
129124
129148
  prompt: model.teacherInstructions,
129125
129149
  __self: this,
129126
129150
  __source: {
129127
129151
  fileName: _jsxFileName,
129128
- lineNumber: 70
129152
+ lineNumber: 71
129129
129153
  }
129130
129154
  })) : React$1.createElement('div', {
129131
129155
  className: classes.prompt,
129132
129156
  __self: this,
129133
129157
  __source: {
129134
129158
  fileName: _jsxFileName,
129135
- lineNumber: 73
129159
+ lineNumber: 74
129136
129160
  }
129137
129161
  }, React$1.createElement(PreviewPrompt, {
129138
129162
  prompt: model.teacherInstructions,
129139
129163
  __self: this,
129140
129164
  __source: {
129141
129165
  fileName: _jsxFileName,
129142
- lineNumber: 74
129166
+ lineNumber: 75
129143
129167
  }
129144
129168
  }))), React$1.createElement('div', {
129145
129169
  className: classes.prompt,
129146
129170
  __self: this,
129147
129171
  __source: {
129148
129172
  fileName: _jsxFileName,
129149
- lineNumber: 78
129173
+ lineNumber: 79
129150
129174
  }
129151
129175
  }, React$1.createElement(PreviewPrompt, {
129152
129176
  prompt: model.prompt,
129153
129177
  __self: this,
129154
129178
  __source: {
129155
129179
  fileName: _jsxFileName,
129156
- lineNumber: 79
129180
+ lineNumber: 80
129157
129181
  }
129158
129182
  })), !model.alwaysShowCorrect && React$1.createElement(CorrectAnswerToggle, {
129159
129183
  show: model.disabled && model.incorrect,
@@ -129163,7 +129187,7 @@ class Main extends React$1.Component {
129163
129187
  __self: this,
129164
129188
  __source: {
129165
129189
  fileName: _jsxFileName,
129166
- lineNumber: 83
129190
+ lineNumber: 84
129167
129191
  }
129168
129192
  }), React$1.createElement(textSelect$2.TextSelect, {
129169
129193
  className: classes.textSelect,
@@ -129187,16 +129211,16 @@ class Main extends React$1.Component {
129187
129211
  __self: this,
129188
129212
  __source: {
129189
129213
  fileName: _jsxFileName,
129190
- lineNumber: 91
129214
+ lineNumber: 92
129191
129215
  }
129192
129216
  }), mode === 'evaluate' && React$1.createElement(textSelect$2.Legend, {
129193
129217
  language: model.language,
129194
129218
  __self: this,
129195
129219
  __source: {
129196
129220
  fileName: _jsxFileName,
129197
- lineNumber: 115
129221
+ lineNumber: 116
129198
129222
  }
129199
- }), model.rationale && hasText(model.rationale) && (!model.animationsDisabled ? React$1.createElement(Collapsible, {
129223
+ }), showRationale && (!model.animationsDisabled ? React$1.createElement(Collapsible, {
129200
129224
  labels: {
129201
129225
  hidden: 'Show Rationale',
129202
129226
  visible: 'Hide Rationale'
@@ -4,11 +4,11 @@
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/pie-toolbox-math-rendering-module",
7
- "version": "3.9.0"
7
+ "version": "4.1.5"
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/pie-toolbox-module",
11
- "version": "6.2.0"
11
+ "version": "7.0.3"
12
12
  }
13
13
  ]
14
14
  }
package/module/print.js CHANGED
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_react_dom, _dll_classnames, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@3.9.0/module/index.js";
2
- import {_dll_pie_lib__pie_toolbox_correct_answer_toggle, _dll_pie_lib__pie_toolbox_render_ui} from "../../../@pie-lib/pie-toolbox-module@6.2.0/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_react_dom, _dll_classnames, _dll_debug, _dll_lodash, _dll_react_dom_server, _dll_pie_lib__pie_toolbox_math_rendering} from "../../../@pie-lib/pie-toolbox-math-rendering-module@4.1.5/module/index.js";
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
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
4
4
  function getDefaultExportFromCjs(x) {
5
5
  return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
@@ -122655,9 +122655,9 @@ Object.defineProperty(hasText$2, "__esModule", {
122655
122655
  value: true
122656
122656
  });
122657
122657
  hasText$2.hasText = void 0;
122658
- var dp = new DOMParser();
122658
+ var dp$1 = new DOMParser();
122659
122659
  var markupToText = function markupToText(s) {
122660
- var root = dp.parseFromString(s, 'text/html');
122660
+ var root = dp$1.parseFromString(s, 'text/html');
122661
122661
  return root.body.textContent;
122662
122662
  };
122663
122663
  var hasText$1 = function hasText(s) {
@@ -122668,6 +122668,20 @@ var hasText$1 = function hasText(s) {
122668
122668
  return !!(tc && tc.trim());
122669
122669
  };
122670
122670
  hasText$2.hasText = hasText$1;
122671
+ var hasMedia$2 = {};
122672
+ Object.defineProperty(hasMedia$2, "__esModule", {
122673
+ value: true
122674
+ });
122675
+ hasMedia$2.hasMedia = void 0;
122676
+ var dp = new DOMParser();
122677
+ var hasMedia$1 = function hasMedia(s) {
122678
+ if (!s) {
122679
+ return false;
122680
+ }
122681
+ var root = dp.parseFromString(s, 'text/html');
122682
+ return !!root.body.querySelector('img') || !!root.body.querySelector('video') || !!root.body.querySelector('audio');
122683
+ };
122684
+ hasMedia$2.hasMedia = hasMedia$1;
122671
122685
  var enableAudioAutoplayImage = {};
122672
122686
  (function (exports) {
122673
122687
  Object.defineProperty(exports, "__esModule", {
@@ -122745,6 +122759,12 @@ getDefaultExportFromCjs(enableAudioAutoplayImage);
122745
122759
  }
122746
122760
  });
122747
122761
  exports.color = void 0;
122762
+ Object.defineProperty(exports, "hasMedia", {
122763
+ enumerable: true,
122764
+ get: function get() {
122765
+ return _hasMedia.hasMedia;
122766
+ }
122767
+ });
122748
122768
  Object.defineProperty(exports, "hasText", {
122749
122769
  enumerable: true,
122750
122770
  get: function get() {
@@ -122773,6 +122793,7 @@ getDefaultExportFromCjs(enableAudioAutoplayImage);
122773
122793
  var color = _interopRequireWildcard(color$1);
122774
122794
  exports.color = color;
122775
122795
  var _hasText = hasText$2;
122796
+ var _hasMedia = hasMedia$2;
122776
122797
  var _enableAudioAutoplayImage = _interopRequireDefault(enableAudioAutoplayImage);
122777
122798
  function _getRequireWildcardCache(nodeInterop) {
122778
122799
  if (typeof WeakMap !== "function") return null;
@@ -129010,6 +129031,7 @@ const {color: color} = _dll_pie_lib__pie_toolbox_render_ui;
129010
129031
  const {Feedback: Feedback} = _dll_pie_lib__pie_toolbox_render_ui;
129011
129032
  const {Collapsible: Collapsible} = _dll_pie_lib__pie_toolbox_render_ui;
129012
129033
  const {hasText: hasText} = _dll_pie_lib__pie_toolbox_render_ui;
129034
+ const {hasMedia: hasMedia} = _dll_pie_lib__pie_toolbox_render_ui;
129013
129035
  const {PreviewPrompt: PreviewPrompt} = _dll_pie_lib__pie_toolbox_render_ui;
129014
129036
  const {UiLayout: UiLayout} = _dll_pie_lib__pie_toolbox_render_ui;
129015
129037
  const _jsxFileName = "/home/circleci/repo/packages/select-text/src/main.jsx";
@@ -129063,6 +129085,8 @@ class Main extends React$1.Component {
129063
129085
  const {env, extraCSSRules} = model;
129064
129086
  const {mode} = env || ({});
129065
129087
  const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;
129088
+ const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));
129089
+ const showTeacherInstructions = model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));
129066
129090
  log$1('[render] selectedTokens:', selectedTokens);
129067
129091
  return React$1.createElement(UiLayout, {
129068
129092
  extraCSSRules: extraCSSRules,
@@ -129070,9 +129094,9 @@ class Main extends React$1.Component {
129070
129094
  __self: this,
129071
129095
  __source: {
129072
129096
  fileName: _jsxFileName,
129073
- lineNumber: 62
129097
+ lineNumber: 64
129074
129098
  }
129075
- }, model.teacherInstructions && hasText(model.teacherInstructions) && (!model.animationsDisabled ? React$1.createElement(Collapsible, {
129099
+ }, showTeacherInstructions && (!model.animationsDisabled ? React$1.createElement(Collapsible, {
129076
129100
  labels: {
129077
129101
  hidden: 'Show Teacher Instructions',
129078
129102
  visible: 'Hide Teacher Instructions'
@@ -129081,42 +129105,42 @@ class Main extends React$1.Component {
129081
129105
  __self: this,
129082
129106
  __source: {
129083
129107
  fileName: _jsxFileName,
129084
- lineNumber: 66
129108
+ lineNumber: 67
129085
129109
  }
129086
129110
  }, React$1.createElement(PreviewPrompt, {
129087
129111
  prompt: model.teacherInstructions,
129088
129112
  __self: this,
129089
129113
  __source: {
129090
129114
  fileName: _jsxFileName,
129091
- lineNumber: 70
129115
+ lineNumber: 71
129092
129116
  }
129093
129117
  })) : React$1.createElement('div', {
129094
129118
  className: classes.prompt,
129095
129119
  __self: this,
129096
129120
  __source: {
129097
129121
  fileName: _jsxFileName,
129098
- lineNumber: 73
129122
+ lineNumber: 74
129099
129123
  }
129100
129124
  }, React$1.createElement(PreviewPrompt, {
129101
129125
  prompt: model.teacherInstructions,
129102
129126
  __self: this,
129103
129127
  __source: {
129104
129128
  fileName: _jsxFileName,
129105
- lineNumber: 74
129129
+ lineNumber: 75
129106
129130
  }
129107
129131
  }))), React$1.createElement('div', {
129108
129132
  className: classes.prompt,
129109
129133
  __self: this,
129110
129134
  __source: {
129111
129135
  fileName: _jsxFileName,
129112
- lineNumber: 78
129136
+ lineNumber: 79
129113
129137
  }
129114
129138
  }, React$1.createElement(PreviewPrompt, {
129115
129139
  prompt: model.prompt,
129116
129140
  __self: this,
129117
129141
  __source: {
129118
129142
  fileName: _jsxFileName,
129119
- lineNumber: 79
129143
+ lineNumber: 80
129120
129144
  }
129121
129145
  })), !model.alwaysShowCorrect && React$1.createElement(CorrectAnswerToggle, {
129122
129146
  show: model.disabled && model.incorrect,
@@ -129126,7 +129150,7 @@ class Main extends React$1.Component {
129126
129150
  __self: this,
129127
129151
  __source: {
129128
129152
  fileName: _jsxFileName,
129129
- lineNumber: 83
129153
+ lineNumber: 84
129130
129154
  }
129131
129155
  }), React$1.createElement(textSelect$2.TextSelect, {
129132
129156
  className: classes.textSelect,
@@ -129150,16 +129174,16 @@ class Main extends React$1.Component {
129150
129174
  __self: this,
129151
129175
  __source: {
129152
129176
  fileName: _jsxFileName,
129153
- lineNumber: 91
129177
+ lineNumber: 92
129154
129178
  }
129155
129179
  }), mode === 'evaluate' && React$1.createElement(textSelect$2.Legend, {
129156
129180
  language: model.language,
129157
129181
  __self: this,
129158
129182
  __source: {
129159
129183
  fileName: _jsxFileName,
129160
- lineNumber: 115
129184
+ lineNumber: 116
129161
129185
  }
129162
- }), model.rationale && hasText(model.rationale) && (!model.animationsDisabled ? React$1.createElement(Collapsible, {
129186
+ }), showRationale && (!model.animationsDisabled ? React$1.createElement(Collapsible, {
129163
129187
  labels: {
129164
129188
  hidden: 'Show Rationale',
129165
129189
  visible: 'Hide Rationale'
package/package.json CHANGED
@@ -4,19 +4,19 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "9.5.7-next.2+21ecb8bdd",
7
+ "version": "9.5.7-next.23+a4f149acd",
8
8
  "description": "",
9
9
  "dependencies": {
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-player-events": "^0.1.0",
12
- "@pie-lib/pie-toolbox": "2.16.0",
12
+ "@pie-lib/pie-toolbox": "2.17.5",
13
13
  "prop-types": "^15.6.1",
14
14
  "react": "^16.8.1",
15
15
  "react-dom": "^16.8.1"
16
16
  },
17
17
  "author": "",
18
18
  "license": "ISC",
19
- "gitHead": "21ecb8bdd2ac0d202c57aeed447dda1541723cda",
19
+ "gitHead": "a4f149acd5cd9b387b8b2bd51e348be1ea7c1201",
20
20
  "scripts": {
21
21
  "postpublish": "../../scripts/postpublish"
22
22
  },