@pie-element/select-text 9.5.11-next.3 → 9.5.11-next.32

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.
@@ -43,7 +43,7 @@ var parseParagraphs = function parseParagraphs(dom) {
43
43
  var prepareText = function prepareText(text) {
44
44
  var txtDom = createElementFromHTML(text);
45
45
  var div = document.createElement('div');
46
- div.innerHTML = '<div separator=\'true\'>'.concat(txtDom.innerHTML, '</div>');
46
+ div.innerHTML = "<div separator='true'>".concat(txtDom.innerHTML, '</div>');
47
47
  txtDom = div;
48
48
  var allDomElements = Array.from(txtDom.querySelectorAll('*'));
49
49
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/utils.js"],"names":["createElementFromHTML","htmlString","arguments","length","undefined","div","document","createElement","innerHTML","trim","parseParagraph","paragraph","end","concat","parseParagraphs","dom","paragraphs","querySelectorAll","str","forEach","par","index","prepareText","text","txtDom","allDomElements","Array","from","generateModel","model","modelText","newTokens","tokens","reduce","acc","token","tokenText","slice","start","getStartIndex","newStartIndex","indexOf","lastToken","newStart","newEnd","oldStart","oldEnd","generateValidationMessage","config","minTokens","maxTokens","maxSelections","tokensMessage","selectionsMessage","message"],"mappings":"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","sourcesContent":["\nvar createElementFromHTML = function createElementFromHTML() {\n var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var div = document.createElement('div');\n div.innerHTML = htmlString.trim();\n return div;\n};\n\nvar parseParagraph = function parseParagraph(paragraph, end) {\n if (end) {\n return paragraph.innerHTML;\n }\n\n return ''.concat(paragraph.innerHTML, '\\n\\n');\n};\n\nvar parseParagraphs = function parseParagraphs(dom) {\n var paragraphs = dom.querySelectorAll('div[separator=true]'); // separate variable for easily debugging, if needed\n\n var str = '';\n paragraphs.forEach(function (par, index) {\n str += parseParagraph(par, index === paragraphs.length - 1);\n });\n return str || null;\n};\n\nvar prepareText = function prepareText(text) {\n var txtDom = createElementFromHTML(text);\n\n var div = document.createElement('div');\n div.innerHTML = '<div separator=\\'true\\'>'.concat(txtDom.innerHTML, '</div>');\n txtDom = div;\n\n var allDomElements = Array.from(txtDom.querySelectorAll('*'));\n\n if (allDomElements.length === 0) {\n return text;\n }\n\n return parseParagraphs(txtDom);\n};\n\nexport const generateModel = (model) => {\n if (!model) return model;\n\n // parsing\n const modelText = prepareText(model.text || '');\n\n const newTokens = (model.tokens || []).reduce((acc, token = {}) => {\n const tokenText = prepareText((model.text || '').slice(token.start, token.end));\n\n if (!tokenText) {\n return [...acc, token];\n }\n\n const getStartIndex = (start) => {\n let length = start;\n\n while (length >= 0) {\n let newStartIndex = modelText.slice(length).indexOf(tokenText);\n\n if (newStartIndex >= 0) {\n return newStartIndex + length;\n }\n\n length--;\n }\n\n return 0;\n };\n\n const lastToken = acc[acc.length - 1];\n const newStart = getStartIndex(lastToken ? lastToken.end : token.start);\n const newEnd = newStart + tokenText.length;\n\n return [\n ...acc,\n {\n ...token,\n text: tokenText,\n start: newStart,\n end: newEnd,\n // needed for getScore when tokens position is recalculated\n oldStart: token.start,\n oldEnd: token.end,\n },\n ];\n }, []);\n\n return {\n ...model,\n tokens: newTokens,\n text: modelText,\n };\n};\n\nexport const generateValidationMessage = (config) => {\n const { minTokens, maxTokens, maxSelections } = config;\n\n const tokensMessage =\n `\\nThere should be at least ${minTokens} ` + (maxTokens ? `and at most ${maxTokens} ` : '') + 'tokens defined.';\n\n const selectionsMessage =\n '\\nThere should be at least 1 ' +\n (maxSelections ? `and at most ${maxSelections} ` : '') +\n 'token' +\n (maxSelections ? 's' : '') +\n ' selected.';\n\n const message = 'Validation requirements:' + tokensMessage + selectionsMessage;\n\n return message;\n};\n"],"file":"utils.js"}
1
+ {"version":3,"sources":["../src/utils.js"],"names":["createElementFromHTML","htmlString","arguments","length","undefined","div","document","createElement","innerHTML","trim","parseParagraph","paragraph","end","concat","parseParagraphs","dom","paragraphs","querySelectorAll","str","forEach","par","index","prepareText","text","txtDom","allDomElements","Array","from","generateModel","model","modelText","newTokens","tokens","reduce","acc","token","tokenText","slice","start","getStartIndex","newStartIndex","indexOf","lastToken","newStart","newEnd","oldStart","oldEnd","generateValidationMessage","config","minTokens","maxTokens","maxSelections","tokensMessage","selectionsMessage","message"],"mappings":"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","sourcesContent":["var createElementFromHTML = function createElementFromHTML() {\n var htmlString = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n var div = document.createElement('div');\n div.innerHTML = htmlString.trim();\n return div;\n};\n\nvar parseParagraph = function parseParagraph(paragraph, end) {\n if (end) {\n return paragraph.innerHTML;\n }\n\n return ''.concat(paragraph.innerHTML, '\\n\\n');\n};\n\nvar parseParagraphs = function parseParagraphs(dom) {\n var paragraphs = dom.querySelectorAll('div[separator=true]'); // separate variable for easily debugging, if needed\n\n var str = '';\n paragraphs.forEach(function (par, index) {\n str += parseParagraph(par, index === paragraphs.length - 1);\n });\n return str || null;\n};\n\nvar prepareText = function prepareText(text) {\n var txtDom = createElementFromHTML(text);\n\n var div = document.createElement('div');\n div.innerHTML = \"<div separator='true'>\".concat(txtDom.innerHTML, '</div>');\n txtDom = div;\n\n var allDomElements = Array.from(txtDom.querySelectorAll('*'));\n\n if (allDomElements.length === 0) {\n return text;\n }\n\n return parseParagraphs(txtDom);\n};\n\nexport const generateModel = (model) => {\n if (!model) return model;\n\n // parsing\n const modelText = prepareText(model.text || '');\n\n const newTokens = (model.tokens || []).reduce((acc, token = {}) => {\n const tokenText = prepareText((model.text || '').slice(token.start, token.end));\n\n if (!tokenText) {\n return [...acc, token];\n }\n\n const getStartIndex = (start) => {\n let length = start;\n\n while (length >= 0) {\n let newStartIndex = modelText.slice(length).indexOf(tokenText);\n\n if (newStartIndex >= 0) {\n return newStartIndex + length;\n }\n\n length--;\n }\n\n return 0;\n };\n\n const lastToken = acc[acc.length - 1];\n const newStart = getStartIndex(lastToken ? lastToken.end : token.start);\n const newEnd = newStart + tokenText.length;\n\n return [\n ...acc,\n {\n ...token,\n text: tokenText,\n start: newStart,\n end: newEnd,\n // needed for getScore when tokens position is recalculated\n oldStart: token.start,\n oldEnd: token.end,\n },\n ];\n }, []);\n\n return {\n ...model,\n tokens: newTokens,\n text: modelText,\n };\n};\n\nexport const generateValidationMessage = (config) => {\n const { minTokens, maxTokens, maxSelections } = config;\n\n const tokensMessage =\n `\\nThere should be at least ${minTokens} ` + (maxTokens ? `and at most ${maxTokens} ` : '') + 'tokens defined.';\n\n const selectionsMessage =\n '\\nThere should be at least 1 ' +\n (maxSelections ? `and at most ${maxSelections} ` : '') +\n 'token' +\n (maxSelections ? 's' : '') +\n ' selected.';\n\n const message = 'Validation requirements:' + tokensMessage + selectionsMessage;\n\n return message;\n};\n"],"file":"utils.js"}
@@ -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.19.0",
11
+ "@pie-lib/pie-toolbox": "2.21.0",
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.19.0",
9
+ "@pie-lib/pie-toolbox": "2.21.0",
10
10
  "debug": "^3.1.0",
11
11
  "lodash": "^4.17.15"
12
12
  },
@@ -1,11 +1,11 @@
1
1
  const tokens = () => [
2
2
  {
3
- text: 'If \'tweren\'t for sight and sound and smell,',
3
+ text: "If 'tweren't for sight and sound and smell,",
4
4
  start: 0,
5
5
  end: 43,
6
6
  },
7
7
  {
8
- text: 'I\'d like the city pretty well,',
8
+ text: "I'd like the city pretty well,",
9
9
  start: 44,
10
10
  end: 74,
11
11
  },
@@ -25,7 +25,7 @@ const tokens = () => [
25
25
  end: 176,
26
26
  },
27
27
  {
28
- text: 'Just quit the city\'s din and dust,',
28
+ text: "Just quit the city's din and dust,",
29
29
  start: 177,
30
30
  end: 211,
31
31
  },
@@ -212,7 +212,6 @@ exports.htmlAscii = (id, element) => ({
212
212
  ],
213
213
  });
214
214
 
215
-
216
215
  exports.model = (id, element) => {
217
216
  return Object.assign(
218
217
  {},
@@ -241,12 +240,12 @@ exports.model = (id, element) => {
241
240
  {
242
241
  end: 627,
243
242
  correct: false,
244
- text: 'At last Natasha\'s moment arrived.',
243
+ text: "At last Natasha's moment arrived.",
245
244
  start: 594,
246
245
  },
247
246
  {
248
247
  end: 743,
249
- text: 'The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination.',
248
+ text: "The faces of past giants of gymnastics swam before her mind's eye, now razor&#8211;sharp with fierce determination.",
250
249
  correct: false,
251
250
  start: 628,
252
251
  },
@@ -270,7 +269,7 @@ exports.model = (id, element) => {
270
269
  },
271
270
  ],
272
271
  // "element": "select-text",
273
- text: '<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn\'t as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings\'s fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha\'s moment arrived. The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination. "I am talented. I am not afraid. I will make a perfect 10," she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n',
272
+ text: "<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn't as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings's fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha's moment arrived. The faces of past giants of gymnastics swam before her mind's eye, now razor&#8211;sharp with fierce determination. \"I am talented. I am not afraid. I will make a perfect 10,\" she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n",
274
273
  rubricEnabled: false,
275
274
  }),
276
275
  );
package/lib/main.js CHANGED
@@ -158,7 +158,8 @@ var Main = /*#__PURE__*/function (_React$Component) {
158
158
  maxNoOfSelections: model.maxSelections,
159
159
  animationsDisabled: model.animationsDisabled
160
160
  }), mode === 'evaluate' && /*#__PURE__*/_react["default"].createElement(_textSelect.Legend, {
161
- language: model.language
161
+ language: model.language,
162
+ showOnlyCorrect: showCorrectAnswer
162
163
  }), showRationale && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
163
164
  labels: {
164
165
  hidden: 'Show 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","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
+ {"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} showOnlyCorrect={showCorrectAnswer} />}\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@5.0.4/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@8.0.3/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@5.2.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@8.2.0/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;
@@ -15477,7 +15477,7 @@ var _interopRequireDefault$i = interopRequireDefault.exports;
15477
15477
  Object.defineProperty(color, "__esModule", {
15478
15478
  value: true
15479
15479
  });
15480
- color.white = color.v = color.transparent = color.text = color.tertiaryLight = color.tertiary = color.secondaryText = color.secondaryLight = color.secondaryDark = color.secondaryBackground = color.secondary = color.primaryText = color.primaryLight = color.primaryDark = color.primary = color.missingWithIcon = color.missing = color.incorrectWithIcon = color.incorrectSecondary = color.incorrect = color.focusUncheckedBorder = color.focusUnchecked = color.focusCheckedBorder = color.focusChecked = color.disabledSecondary = color.disabled = color.defaults = color.correctWithIcon = color.correctSecondary = color.correct = color.borderLight = color.borderDark = color.border = color.black = color.backgroundDark = color.background = void 0;
15480
+ color.white = color.v = color.transparent = color.text = color.tertiaryLight = color.tertiary = color.secondaryText = color.secondaryLight = color.secondaryDark = color.secondaryBackground = color.secondary = color.primaryText = color.primaryLight = color.primaryDark = color.primary = color.missingWithIcon = color.missing = color.incorrectWithIcon = color.incorrectSecondary = color.incorrect = color.focusUncheckedBorder = color.focusUnchecked = color.focusCheckedBorder = color.focusChecked = color.fadedPrimary = color.disabledSecondary = color.disabled = color.defaults = color.correctWithIcon = color.correctSecondary = color.correct = color.borderLight = color.borderDark = color.border = color.black = color.backgroundDark = color.background = void 0;
15481
15481
  var _green = _interopRequireDefault$i(green$1);
15482
15482
  var _orange = _interopRequireDefault$i(orange$1);
15483
15483
  var _pink = _interopRequireDefault$i(pink$1);
@@ -15515,7 +15515,8 @@ var defaults = {
15515
15515
  FOCUS_CHECKED: '#BBDEFB',
15516
15516
  FOCUS_CHECKED_BORDER: '#1565C0',
15517
15517
  FOCUS_UNCHECKED: '#E0E0E0',
15518
- FOCUS_UNCHECKED_BORDER: '#757575'
15518
+ FOCUS_UNCHECKED_BORDER: '#757575',
15519
+ FADED_PRIMARY: '#DCDAFB'
15519
15520
  };
15520
15521
  color.defaults = defaults;
15521
15522
  Object.freeze(defaults);
@@ -15592,6 +15593,10 @@ var primaryText = function primaryText() {
15592
15593
  return pv('primary-text', 'text', defaults.TEXT);
15593
15594
  };
15594
15595
  color.primaryText = primaryText;
15596
+ var fadedPrimary = function fadedPrimary() {
15597
+ return pv('faded-primary', defaults.FADED_PRIMARY);
15598
+ };
15599
+ color.fadedPrimary = fadedPrimary;
15595
15600
  var secondary = function secondary() {
15596
15601
  return pv('secondary', defaults.SECONDARY);
15597
15602
  };
@@ -105127,8 +105132,16 @@ var en = {};
105127
105132
  },
105128
105133
  charting: {
105129
105134
  addCategory: 'Add category',
105135
+ actions: 'Actions',
105136
+ add: 'Add',
105137
+ "delete": 'Delete',
105130
105138
  newLabel: 'New label',
105131
- reachedLimit_other: "There can't be more than {{count}} categories."
105139
+ reachedLimit_other: "There can't be more than {{count}} categories.",
105140
+ keyLegend: {
105141
+ incorrectAnswer: 'Student incorrect answer',
105142
+ correctAnswer: 'Student correct answer',
105143
+ correctKeyAnswer: 'Answer key correct'
105144
+ }
105132
105145
  },
105133
105146
  graphing: {
105134
105147
  point: 'Point',
@@ -105221,8 +105234,16 @@ var es = {};
105221
105234
  },
105222
105235
  charting: {
105223
105236
  addCategory: 'Añadir categoría',
105237
+ actions: 'Acciones',
105238
+ add: 'Añadir',
105239
+ "delete": 'Eliminar',
105224
105240
  newLabel: 'Nueva etiqueta',
105225
- reachedLimit_other: 'No puede haber más de {{count}} categorías.'
105241
+ reachedLimit_other: 'No puede haber más de {{count}} categorías.',
105242
+ keyLegend: {
105243
+ incorrectAnswer: 'Respuesta incorrecta del estudiante',
105244
+ correctAnswer: 'Respuesta correcta del estudiante',
105245
+ correctKeyAnswer: 'Clave de respuesta correcta'
105246
+ }
105226
105247
  },
105227
105248
  graphing: {
105228
105249
  point: 'Punto',
@@ -107811,7 +107832,7 @@ var parseParagraphs = function parseParagraphs(dom) {
107811
107832
  var prepareText = function prepareText(text) {
107812
107833
  var txtDom = createElementFromHTML(text);
107813
107834
  var div = document.createElement('div');
107814
- div.innerHTML = ('<div separator=\'true\'>').concat(txtDom.innerHTML, '</div>');
107835
+ div.innerHTML = ("<div separator='true'>").concat(txtDom.innerHTML, '</div>');
107815
107836
  txtDom = div;
107816
107837
  var allDomElements = Array.from(txtDom.querySelectorAll('*'));
107817
107838
  if (allDomElements.length === 0) {
package/module/demo.js CHANGED
@@ -6,12 +6,12 @@ var generate = {};
6
6
 
7
7
  const tokens = () => [
8
8
  {
9
- text: 'If \'tweren\'t for sight and sound and smell,',
9
+ text: "If 'tweren't for sight and sound and smell,",
10
10
  start: 0,
11
11
  end: 43,
12
12
  },
13
13
  {
14
- text: 'I\'d like the city pretty well,',
14
+ text: "I'd like the city pretty well,",
15
15
  start: 44,
16
16
  end: 74,
17
17
  },
@@ -31,7 +31,7 @@ const tokens = () => [
31
31
  end: 176,
32
32
  },
33
33
  {
34
- text: 'Just quit the city\'s din and dust,',
34
+ text: "Just quit the city's din and dust,",
35
35
  start: 177,
36
36
  end: 211,
37
37
  },
@@ -218,7 +218,6 @@ generate.htmlAscii = (id, element) => ({
218
218
  ],
219
219
  });
220
220
 
221
-
222
221
  generate.model = (id, element) => {
223
222
  return Object.assign(
224
223
  {},
@@ -247,12 +246,12 @@ generate.model = (id, element) => {
247
246
  {
248
247
  end: 627,
249
248
  correct: false,
250
- text: 'At last Natasha\'s moment arrived.',
249
+ text: "At last Natasha's moment arrived.",
251
250
  start: 594,
252
251
  },
253
252
  {
254
253
  end: 743,
255
- text: 'The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination.',
254
+ text: "The faces of past giants of gymnastics swam before her mind's eye, now razor&#8211;sharp with fierce determination.",
256
255
  correct: false,
257
256
  start: 628,
258
257
  },
@@ -276,7 +275,7 @@ generate.model = (id, element) => {
276
275
  },
277
276
  ],
278
277
  // "element": "select-text",
279
- text: '<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn\'t as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings\'s fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha\'s moment arrived. The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination. "I am talented. I am not afraid. I will make a perfect 10," she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n',
278
+ text: "<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn't as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings's fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha's moment arrived. The faces of past giants of gymnastics swam before her mind's eye, now razor&#8211;sharp with fierce determination. \"I am talented. I am not afraid. I will make a perfect 10,\" she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n",
280
279
  rubricEnabled: false,
281
280
  }),
282
281
  );
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@5.0.4/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@8.0.3/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@5.2.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@8.2.0/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;
@@ -12305,7 +12305,7 @@ var _interopRequireDefault$m = interopRequireDefault.exports;
12305
12305
  Object.defineProperty(color$1, "__esModule", {
12306
12306
  value: true
12307
12307
  });
12308
- color$1.white = color$1.v = color$1.transparent = color$1.text = color$1.tertiaryLight = color$1.tertiary = color$1.secondaryText = color$1.secondaryLight = color$1.secondaryDark = color$1.secondaryBackground = color$1.secondary = color$1.primaryText = color$1.primaryLight = color$1.primaryDark = color$1.primary = color$1.missingWithIcon = color$1.missing = color$1.incorrectWithIcon = color$1.incorrectSecondary = color$1.incorrect = color$1.focusUncheckedBorder = color$1.focusUnchecked = color$1.focusCheckedBorder = color$1.focusChecked = color$1.disabledSecondary = color$1.disabled = color$1.defaults = color$1.correctWithIcon = color$1.correctSecondary = color$1.correct = color$1.borderLight = color$1.borderDark = color$1.border = color$1.black = color$1.backgroundDark = color$1.background = void 0;
12308
+ color$1.white = color$1.v = color$1.transparent = color$1.text = color$1.tertiaryLight = color$1.tertiary = color$1.secondaryText = color$1.secondaryLight = color$1.secondaryDark = color$1.secondaryBackground = color$1.secondary = color$1.primaryText = color$1.primaryLight = color$1.primaryDark = color$1.primary = color$1.missingWithIcon = color$1.missing = color$1.incorrectWithIcon = color$1.incorrectSecondary = color$1.incorrect = color$1.focusUncheckedBorder = color$1.focusUnchecked = color$1.focusCheckedBorder = color$1.focusChecked = color$1.fadedPrimary = color$1.disabledSecondary = color$1.disabled = color$1.defaults = color$1.correctWithIcon = color$1.correctSecondary = color$1.correct = color$1.borderLight = color$1.borderDark = color$1.border = color$1.black = color$1.backgroundDark = color$1.background = void 0;
12309
12309
  var _green = _interopRequireDefault$m(green$1);
12310
12310
  var _orange = _interopRequireDefault$m(orange$1);
12311
12311
  var _pink = _interopRequireDefault$m(pink$1);
@@ -12343,7 +12343,8 @@ var defaults = {
12343
12343
  FOCUS_CHECKED: '#BBDEFB',
12344
12344
  FOCUS_CHECKED_BORDER: '#1565C0',
12345
12345
  FOCUS_UNCHECKED: '#E0E0E0',
12346
- FOCUS_UNCHECKED_BORDER: '#757575'
12346
+ FOCUS_UNCHECKED_BORDER: '#757575',
12347
+ FADED_PRIMARY: '#DCDAFB'
12347
12348
  };
12348
12349
  color$1.defaults = defaults;
12349
12350
  Object.freeze(defaults);
@@ -12420,6 +12421,10 @@ var primaryText = function primaryText() {
12420
12421
  return pv('primary-text', 'text', defaults.TEXT);
12421
12422
  };
12422
12423
  color$1.primaryText = primaryText;
12424
+ var fadedPrimary = function fadedPrimary() {
12425
+ return pv('faded-primary', defaults.FADED_PRIMARY);
12426
+ };
12427
+ color$1.fadedPrimary = fadedPrimary;
12423
12428
  var secondary = function secondary() {
12424
12429
  return pv('secondary', defaults.SECONDARY);
12425
12430
  };
@@ -102673,8 +102678,16 @@ var en = {};
102673
102678
  },
102674
102679
  charting: {
102675
102680
  addCategory: 'Add category',
102681
+ actions: 'Actions',
102682
+ add: 'Add',
102683
+ "delete": 'Delete',
102676
102684
  newLabel: 'New label',
102677
- reachedLimit_other: "There can't be more than {{count}} categories."
102685
+ reachedLimit_other: "There can't be more than {{count}} categories.",
102686
+ keyLegend: {
102687
+ incorrectAnswer: 'Student incorrect answer',
102688
+ correctAnswer: 'Student correct answer',
102689
+ correctKeyAnswer: 'Answer key correct'
102690
+ }
102678
102691
  },
102679
102692
  graphing: {
102680
102693
  point: 'Point',
@@ -102767,8 +102780,16 @@ var es = {};
102767
102780
  },
102768
102781
  charting: {
102769
102782
  addCategory: 'Añadir categoría',
102783
+ actions: 'Acciones',
102784
+ add: 'Añadir',
102785
+ "delete": 'Eliminar',
102770
102786
  newLabel: 'Nueva etiqueta',
102771
- reachedLimit_other: 'No puede haber más de {{count}} categorías.'
102787
+ reachedLimit_other: 'No puede haber más de {{count}} categorías.',
102788
+ keyLegend: {
102789
+ incorrectAnswer: 'Respuesta incorrecta del estudiante',
102790
+ correctAnswer: 'Respuesta correcta del estudiante',
102791
+ correctKeyAnswer: 'Clave de respuesta correcta'
102792
+ }
102772
102793
  },
102773
102794
  graphing: {
102774
102795
  point: 'Punto',
@@ -103395,6 +103416,7 @@ class Main extends React$1.Component {
103395
103416
  }
103396
103417
  }), mode === 'evaluate' && React$1.createElement(textSelect$2.Legend, {
103397
103418
  language: model.language,
103419
+ showOnlyCorrect: showCorrectAnswer,
103398
103420
  __self: this,
103399
103421
  __source: {
103400
103422
  fileName: _jsxFileName,
@@ -4,11 +4,11 @@
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/pie-toolbox-math-rendering-module",
7
- "version": "5.0.4"
7
+ "version": "5.2.0"
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/pie-toolbox-module",
11
- "version": "8.0.3"
11
+ "version": "8.2.0"
12
12
  }
13
13
  ]
14
14
  }
@@ -4,12 +4,12 @@ var generate = {};
4
4
 
5
5
  const tokens = () => [
6
6
  {
7
- text: 'If \'tweren\'t for sight and sound and smell,',
7
+ text: "If 'tweren't for sight and sound and smell,",
8
8
  start: 0,
9
9
  end: 43,
10
10
  },
11
11
  {
12
- text: 'I\'d like the city pretty well,',
12
+ text: "I'd like the city pretty well,",
13
13
  start: 44,
14
14
  end: 74,
15
15
  },
@@ -29,7 +29,7 @@ const tokens = () => [
29
29
  end: 176,
30
30
  },
31
31
  {
32
- text: 'Just quit the city\'s din and dust,',
32
+ text: "Just quit the city's din and dust,",
33
33
  start: 177,
34
34
  end: 211,
35
35
  },
@@ -216,7 +216,6 @@ generate.htmlAscii = (id, element) => ({
216
216
  ],
217
217
  });
218
218
 
219
-
220
219
  generate.model = (id, element) => {
221
220
  return Object.assign(
222
221
  {},
@@ -245,12 +244,12 @@ generate.model = (id, element) => {
245
244
  {
246
245
  end: 627,
247
246
  correct: false,
248
- text: 'At last Natasha\'s moment arrived.',
247
+ text: "At last Natasha's moment arrived.",
249
248
  start: 594,
250
249
  },
251
250
  {
252
251
  end: 743,
253
- text: 'The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination.',
252
+ text: "The faces of past giants of gymnastics swam before her mind's eye, now razor&#8211;sharp with fierce determination.",
254
253
  correct: false,
255
254
  start: 628,
256
255
  },
@@ -274,7 +273,7 @@ generate.model = (id, element) => {
274
273
  },
275
274
  ],
276
275
  // "element": "select-text",
277
- text: '<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn\'t as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings\'s fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha\'s moment arrived. The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination. "I am talented. I am not afraid. I will make a perfect 10," she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n',
276
+ text: "<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn't as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings's fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha's moment arrived. The faces of past giants of gymnastics swam before her mind's eye, now razor&#8211;sharp with fierce determination. \"I am talented. I am not afraid. I will make a perfect 10,\" she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n",
278
277
  rubricEnabled: false,
279
278
  }),
280
279
  );
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@5.0.4/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@8.0.3/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@5.2.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@8.2.0/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;
@@ -12268,7 +12268,7 @@ var _interopRequireDefault$m = interopRequireDefault.exports;
12268
12268
  Object.defineProperty(color$1, "__esModule", {
12269
12269
  value: true
12270
12270
  });
12271
- color$1.white = color$1.v = color$1.transparent = color$1.text = color$1.tertiaryLight = color$1.tertiary = color$1.secondaryText = color$1.secondaryLight = color$1.secondaryDark = color$1.secondaryBackground = color$1.secondary = color$1.primaryText = color$1.primaryLight = color$1.primaryDark = color$1.primary = color$1.missingWithIcon = color$1.missing = color$1.incorrectWithIcon = color$1.incorrectSecondary = color$1.incorrect = color$1.focusUncheckedBorder = color$1.focusUnchecked = color$1.focusCheckedBorder = color$1.focusChecked = color$1.disabledSecondary = color$1.disabled = color$1.defaults = color$1.correctWithIcon = color$1.correctSecondary = color$1.correct = color$1.borderLight = color$1.borderDark = color$1.border = color$1.black = color$1.backgroundDark = color$1.background = void 0;
12271
+ color$1.white = color$1.v = color$1.transparent = color$1.text = color$1.tertiaryLight = color$1.tertiary = color$1.secondaryText = color$1.secondaryLight = color$1.secondaryDark = color$1.secondaryBackground = color$1.secondary = color$1.primaryText = color$1.primaryLight = color$1.primaryDark = color$1.primary = color$1.missingWithIcon = color$1.missing = color$1.incorrectWithIcon = color$1.incorrectSecondary = color$1.incorrect = color$1.focusUncheckedBorder = color$1.focusUnchecked = color$1.focusCheckedBorder = color$1.focusChecked = color$1.fadedPrimary = color$1.disabledSecondary = color$1.disabled = color$1.defaults = color$1.correctWithIcon = color$1.correctSecondary = color$1.correct = color$1.borderLight = color$1.borderDark = color$1.border = color$1.black = color$1.backgroundDark = color$1.background = void 0;
12272
12272
  var _green = _interopRequireDefault$m(green$1);
12273
12273
  var _orange = _interopRequireDefault$m(orange$1);
12274
12274
  var _pink = _interopRequireDefault$m(pink$1);
@@ -12306,7 +12306,8 @@ var defaults = {
12306
12306
  FOCUS_CHECKED: '#BBDEFB',
12307
12307
  FOCUS_CHECKED_BORDER: '#1565C0',
12308
12308
  FOCUS_UNCHECKED: '#E0E0E0',
12309
- FOCUS_UNCHECKED_BORDER: '#757575'
12309
+ FOCUS_UNCHECKED_BORDER: '#757575',
12310
+ FADED_PRIMARY: '#DCDAFB'
12310
12311
  };
12311
12312
  color$1.defaults = defaults;
12312
12313
  Object.freeze(defaults);
@@ -12383,6 +12384,10 @@ var primaryText = function primaryText() {
12383
12384
  return pv('primary-text', 'text', defaults.TEXT);
12384
12385
  };
12385
12386
  color$1.primaryText = primaryText;
12387
+ var fadedPrimary = function fadedPrimary() {
12388
+ return pv('faded-primary', defaults.FADED_PRIMARY);
12389
+ };
12390
+ color$1.fadedPrimary = fadedPrimary;
12386
12391
  var secondary = function secondary() {
12387
12392
  return pv('secondary', defaults.SECONDARY);
12388
12393
  };
@@ -102636,8 +102641,16 @@ var en = {};
102636
102641
  },
102637
102642
  charting: {
102638
102643
  addCategory: 'Add category',
102644
+ actions: 'Actions',
102645
+ add: 'Add',
102646
+ "delete": 'Delete',
102639
102647
  newLabel: 'New label',
102640
- reachedLimit_other: "There can't be more than {{count}} categories."
102648
+ reachedLimit_other: "There can't be more than {{count}} categories.",
102649
+ keyLegend: {
102650
+ incorrectAnswer: 'Student incorrect answer',
102651
+ correctAnswer: 'Student correct answer',
102652
+ correctKeyAnswer: 'Answer key correct'
102653
+ }
102641
102654
  },
102642
102655
  graphing: {
102643
102656
  point: 'Point',
@@ -102730,8 +102743,16 @@ var es = {};
102730
102743
  },
102731
102744
  charting: {
102732
102745
  addCategory: 'Añadir categoría',
102746
+ actions: 'Acciones',
102747
+ add: 'Añadir',
102748
+ "delete": 'Eliminar',
102733
102749
  newLabel: 'Nueva etiqueta',
102734
- reachedLimit_other: 'No puede haber más de {{count}} categorías.'
102750
+ reachedLimit_other: 'No puede haber más de {{count}} categorías.',
102751
+ keyLegend: {
102752
+ incorrectAnswer: 'Respuesta incorrecta del estudiante',
102753
+ correctAnswer: 'Respuesta correcta del estudiante',
102754
+ correctKeyAnswer: 'Clave de respuesta correcta'
102755
+ }
102735
102756
  },
102736
102757
  graphing: {
102737
102758
  point: 'Punto',
@@ -103358,6 +103379,7 @@ class Main extends React$1.Component {
103358
103379
  }
103359
103380
  }), mode === 'evaluate' && React$1.createElement(textSelect$2.Legend, {
103360
103381
  language: model.language,
103382
+ showOnlyCorrect: showCorrectAnswer,
103361
103383
  __self: this,
103362
103384
  __source: {
103363
103385
  fileName: _jsxFileName,
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.11-next.3+fff627751",
7
+ "version": "9.5.11-next.32+4ae153872",
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.19.0",
12
+ "@pie-lib/pie-toolbox": "2.21.0",
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": "fff62775142fc637ffef1f68660901ade504d597",
19
+ "gitHead": "4ae1538726f37d602297cc0a5aae1d8b32b70e11",
20
20
  "scripts": {
21
21
  "postpublish": "../../scripts/postpublish"
22
22
  },