@pie-element/select-text 6.5.24 → 6.5.25

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/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [6.5.25](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text@6.5.24...@pie-element/select-text@6.5.25) (2022-03-22)
7
+
8
+ **Note:** Version bump only for package @pie-element/select-text
9
+
10
+
11
+
12
+
13
+
6
14
  ## [6.5.24](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text@6.5.23...@pie-element/select-text@6.5.24) (2022-03-08)
7
15
 
8
16
  **Note:** Version bump only for package @pie-element/select-text
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [5.2.21](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-configure@5.2.20...@pie-element/select-text-configure@5.2.21) (2022-03-22)
7
+
8
+ **Note:** Version bump only for package @pie-element/select-text-configure
9
+
10
+
11
+
12
+
13
+
6
14
  ## [5.2.20](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-configure@5.2.19...@pie-element/select-text-configure@5.2.20) (2022-03-08)
7
15
 
8
16
  **Note:** Version bump only for package @pie-element/select-text-configure
@@ -28,6 +28,7 @@ var _default = {
28
28
  promptEnabled: true,
29
29
  teacherInstructionsEnabled: true,
30
30
  studentInstructionsEnabled: true,
31
+ spellCheckEnabled: false,
31
32
  toolbarEditorPosition: 'bottom'
32
33
  },
33
34
  configuration: {
@@ -79,6 +80,11 @@ var _default = {
79
80
  settings: true,
80
81
  label: 'Feedback'
81
82
  },
83
+ spellCheck: {
84
+ label: "Spellcheck",
85
+ settings: true,
86
+ enabled: true
87
+ },
82
88
  partialScoring: {
83
89
  settings: false,
84
90
  label: 'Allow Partial Scoring'
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaultConfiguration.js"],"names":["tokens","text","start","end","model","highlightChoices","partialScoring","maxSelections","mode","prompt","scoringType","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","toolbarEditorPosition","configuration","selectionCount","settings","label","correctAnswer","selections","rationale","studentInstructions","teacherInstructions","feedback"],"mappings":";;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS;AAAA,SAAM,CACnB;AACEC,IAAAA,IAAI,EAAE,EADR;AAEEC,IAAAA,KAAK,EAAE,CAFT;AAGEC,IAAAA,GAAG,EAAE;AAHP,GADmB,CAAN;AAAA,CAAf;;eAQe;AACbC,EAAAA,KAAK,EAAE;AACLC,IAAAA,gBAAgB,EAAE,KADb;AAELC,IAAAA,cAAc,EAAE,KAFX;AAGLC,IAAAA,aAAa,EAAE,CAHV;AAILC,IAAAA,IAAI,EAAE,UAJD;AAKLC,IAAAA,MAAM,EAAE,2BALH;AAMLR,IAAAA,IAAI,EAAE,EAND;AAOLD,IAAAA,MAAM,EAAEA,MAAM,EAPT;AAQLU,IAAAA,WAAW,EAAE,MARR;AASLC,IAAAA,eAAe,EAAE,IATZ;AAULC,IAAAA,gBAAgB,EAAE,IAVb;AAWLC,IAAAA,aAAa,EAAE,IAXV;AAYLC,IAAAA,0BAA0B,EAAE,IAZvB;AAaLC,IAAAA,0BAA0B,EAAE,IAbvB;AAcLC,IAAAA,qBAAqB,EAAE;AAdlB,GADM;AAiBbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,cAAc,EAAE;AACdC,MAAAA,QAAQ,EAAE,IADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KADH;AAKbC,IAAAA,aAAa,EAAE;AACbF,MAAAA,QAAQ,EAAE,IADG;AAEbC,MAAAA,KAAK,EAAE;AAFM,KALF;AASbE,IAAAA,UAAU,EAAE;AACVH,MAAAA,QAAQ,EAAE,IADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KATC;AAabf,IAAAA,gBAAgB,EAAE;AAChBc,MAAAA,QAAQ,EAAE,IADM;AAEhBC,MAAAA,KAAK,EAAE;AAFS,KAbL;AAiBbG,IAAAA,SAAS,EAAE;AACTJ,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KAjBE;AAqBbV,IAAAA,WAAW,EAAE;AACXS,MAAAA,QAAQ,EAAE,KADC;AAEXC,MAAAA,KAAK,EAAE;AAFI,KArBA;AAyBbI,IAAAA,mBAAmB,EAAE;AACnBL,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAzBR;AA6BbK,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KA7BR;AAiCbX,IAAAA,MAAM,EAAE;AACNW,MAAAA,KAAK,EAAE,QADD;AAEND,MAAAA,QAAQ,EAAE;AAFJ,KAjCK;AAqCblB,IAAAA,IAAI,EAAE;AACJkB,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH,KArCO;AAyCbpB,IAAAA,MAAM,EAAE;AACNmB,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAzCK;AA6CbM,IAAAA,QAAQ,EAAE;AACRP,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE;AAFC,KA7CG;AAiDbd,IAAAA,cAAc,EAAE;AACda,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KAjDH;AAqDbZ,IAAAA,IAAI,EAAE;AACJW,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH;AArDO;AAjBF,C","sourcesContent":["const tokens = () => [\n {\n text: '',\n start: 0,\n end: 0\n }\n];\n\nexport default {\n model: {\n highlightChoices: false,\n partialScoring: false,\n maxSelections: 2,\n mode: 'sentence',\n prompt: 'Question Prompt goes here',\n text: '',\n tokens: tokens(),\n scoringType: 'auto',\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n toolbarEditorPosition: 'bottom'\n },\n configuration: {\n selectionCount: {\n settings: true,\n label: 'Selection count'\n },\n correctAnswer: {\n settings: true,\n label: 'Correct Answers'\n },\n selections: {\n settings: true,\n label: 'Selections Available'\n },\n highlightChoices: {\n settings: true,\n label: 'Highlight choices'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type'\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions'\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n prompt: {\n label: 'Prompt',\n settings: true\n },\n text: {\n settings: true,\n label: 'Content'\n },\n tokens: {\n settings: true,\n label: 'Tokens'\n },\n feedback: {\n settings: true,\n label: 'Feedback'\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring'\n },\n mode: {\n settings: true,\n label: 'Mode'\n }\n }\n};\n"],"file":"defaultConfiguration.js"}
1
+ {"version":3,"sources":["../src/defaultConfiguration.js"],"names":["tokens","text","start","end","model","highlightChoices","partialScoring","maxSelections","mode","prompt","scoringType","feedbackEnabled","rationaleEnabled","promptEnabled","teacherInstructionsEnabled","studentInstructionsEnabled","spellCheckEnabled","toolbarEditorPosition","configuration","selectionCount","settings","label","correctAnswer","selections","rationale","studentInstructions","teacherInstructions","feedback","spellCheck","enabled"],"mappings":";;;;;;;AAAA,IAAMA,MAAM,GAAG,SAATA,MAAS;AAAA,SAAM,CACnB;AACEC,IAAAA,IAAI,EAAE,EADR;AAEEC,IAAAA,KAAK,EAAE,CAFT;AAGEC,IAAAA,GAAG,EAAE;AAHP,GADmB,CAAN;AAAA,CAAf;;eAQe;AACbC,EAAAA,KAAK,EAAE;AACLC,IAAAA,gBAAgB,EAAE,KADb;AAELC,IAAAA,cAAc,EAAE,KAFX;AAGLC,IAAAA,aAAa,EAAE,CAHV;AAILC,IAAAA,IAAI,EAAE,UAJD;AAKLC,IAAAA,MAAM,EAAE,2BALH;AAMLR,IAAAA,IAAI,EAAE,EAND;AAOLD,IAAAA,MAAM,EAAEA,MAAM,EAPT;AAQLU,IAAAA,WAAW,EAAE,MARR;AASLC,IAAAA,eAAe,EAAE,IATZ;AAULC,IAAAA,gBAAgB,EAAE,IAVb;AAWLC,IAAAA,aAAa,EAAE,IAXV;AAYLC,IAAAA,0BAA0B,EAAE,IAZvB;AAaLC,IAAAA,0BAA0B,EAAE,IAbvB;AAcLC,IAAAA,iBAAiB,EAAC,KAdb;AAeLC,IAAAA,qBAAqB,EAAE;AAflB,GADM;AAkBbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,cAAc,EAAE;AACdC,MAAAA,QAAQ,EAAE,IADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KADH;AAKbC,IAAAA,aAAa,EAAE;AACbF,MAAAA,QAAQ,EAAE,IADG;AAEbC,MAAAA,KAAK,EAAE;AAFM,KALF;AASbE,IAAAA,UAAU,EAAE;AACVH,MAAAA,QAAQ,EAAE,IADA;AAEVC,MAAAA,KAAK,EAAE;AAFG,KATC;AAabhB,IAAAA,gBAAgB,EAAE;AAChBe,MAAAA,QAAQ,EAAE,IADM;AAEhBC,MAAAA,KAAK,EAAE;AAFS,KAbL;AAiBbG,IAAAA,SAAS,EAAE;AACTJ,MAAAA,QAAQ,EAAE,IADD;AAETC,MAAAA,KAAK,EAAE;AAFE,KAjBE;AAqBbX,IAAAA,WAAW,EAAE;AACXU,MAAAA,QAAQ,EAAE,KADC;AAEXC,MAAAA,KAAK,EAAE;AAFI,KArBA;AAyBbI,IAAAA,mBAAmB,EAAE;AACnBL,MAAAA,QAAQ,EAAE,KADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KAzBR;AA6BbK,IAAAA,mBAAmB,EAAE;AACnBN,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE;AAFY,KA7BR;AAiCbZ,IAAAA,MAAM,EAAE;AACNY,MAAAA,KAAK,EAAE,QADD;AAEND,MAAAA,QAAQ,EAAE;AAFJ,KAjCK;AAqCbnB,IAAAA,IAAI,EAAE;AACJmB,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH,KArCO;AAyCbrB,IAAAA,MAAM,EAAE;AACNoB,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE;AAFD,KAzCK;AA6CbM,IAAAA,QAAQ,EAAE;AACRP,MAAAA,QAAQ,EAAE,IADF;AAERC,MAAAA,KAAK,EAAE;AAFC,KA7CG;AAiDbO,IAAAA,UAAU,EAAE;AACVP,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAC,IAFC;AAGVS,MAAAA,OAAO,EAAC;AAHE,KAjDC;AAsDbvB,IAAAA,cAAc,EAAE;AACdc,MAAAA,QAAQ,EAAE,KADI;AAEdC,MAAAA,KAAK,EAAE;AAFO,KAtDH;AA0Dbb,IAAAA,IAAI,EAAE;AACJY,MAAAA,QAAQ,EAAE,IADN;AAEJC,MAAAA,KAAK,EAAE;AAFH;AA1DO;AAlBF,C","sourcesContent":["const tokens = () => [\n {\n text: '',\n start: 0,\n end: 0\n }\n];\n\nexport default {\n model: {\n highlightChoices: false,\n partialScoring: false,\n maxSelections: 2,\n mode: 'sentence',\n prompt: 'Question Prompt goes here',\n text: '',\n tokens: tokens(),\n scoringType: 'auto',\n feedbackEnabled: true,\n rationaleEnabled: true,\n promptEnabled: true,\n teacherInstructionsEnabled: true,\n studentInstructionsEnabled: true,\n spellCheckEnabled:false,\n toolbarEditorPosition: 'bottom'\n },\n configuration: {\n selectionCount: {\n settings: true,\n label: 'Selection count'\n },\n correctAnswer: {\n settings: true,\n label: 'Correct Answers'\n },\n selections: {\n settings: true,\n label: 'Selections Available'\n },\n highlightChoices: {\n settings: true,\n label: 'Highlight choices'\n },\n rationale: {\n settings: true,\n label: 'Rationale'\n },\n scoringType: {\n settings: false,\n label: 'Scoring Type'\n },\n studentInstructions: {\n settings: false,\n label: 'Student Instructions'\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions'\n },\n prompt: {\n label: 'Prompt',\n settings: true\n },\n text: {\n settings: true,\n label: 'Content'\n },\n tokens: {\n settings: true,\n label: 'Tokens'\n },\n feedback: {\n settings: true,\n label: 'Feedback'\n },\n spellCheck: {\n label: \"Spellcheck\",\n settings:true,\n enabled:true\n },\n partialScoring: {\n settings: false,\n label: 'Allow Partial Scoring'\n },\n mode: {\n settings: true,\n label: 'Mode'\n }\n }\n};\n"],"file":"defaultConfiguration.js"}
@@ -200,6 +200,8 @@ var Design = /*#__PURE__*/function (_React$Component) {
200
200
  rationale = _ref$rationale === void 0 ? {} : _ref$rationale,
201
201
  _ref$scoringType = _ref.scoringType,
202
202
  scoringType = _ref$scoringType === void 0 ? {} : _ref$scoringType,
203
+ _ref$spellCheck = _ref.spellCheck,
204
+ spellCheck = _ref$spellCheck === void 0 ? {} : _ref$spellCheck,
203
205
  _ref$highlightChoices = _ref.highlightChoices,
204
206
  highlightChoices = _ref$highlightChoices === void 0 ? {} : _ref$highlightChoices;
205
207
 
@@ -207,6 +209,7 @@ var Design = /*#__PURE__*/function (_React$Component) {
207
209
  teacherInstructionsEnabled = _ref2.teacherInstructionsEnabled,
208
210
  promptEnabled = _ref2.promptEnabled,
209
211
  rationaleEnabled = _ref2.rationaleEnabled,
212
+ spellCheckEnabled = _ref2.spellCheckEnabled,
210
213
  feedbackEnabled = _ref2.feedbackEnabled;
211
214
 
212
215
  var toolbarOpts = {};
@@ -243,6 +246,7 @@ var Design = /*#__PURE__*/function (_React$Component) {
243
246
  studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
244
247
  promptEnabled: prompt.settings && toggle(prompt.label),
245
248
  rationaleEnabled: rationale.settings && toggle(rationale.label),
249
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
246
250
  scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
247
251
  }
248
252
  }
@@ -258,7 +262,8 @@ var Design = /*#__PURE__*/function (_React$Component) {
258
262
  onChange: this.onTeacherInstructionsChanged,
259
263
  imageSupport: imageSupport,
260
264
  nonEmpty: false,
261
- toolbarOpts: toolbarOpts
265
+ toolbarOpts: toolbarOpts,
266
+ spellCheck: spellCheckEnabled
262
267
  })), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
263
268
  label: prompt.label || '',
264
269
  className: classes.promptHolder
@@ -267,7 +272,8 @@ var Design = /*#__PURE__*/function (_React$Component) {
267
272
  markup: model.prompt,
268
273
  onChange: this.onPromptChanged,
269
274
  imageSupport: imageSupport,
270
- toolbarOpts: toolbarOpts
275
+ toolbarOpts: toolbarOpts,
276
+ spellCheck: spellCheckEnabled
271
277
  })), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
272
278
  label: rationale.label || '',
273
279
  className: classes.promptHolder
@@ -276,13 +282,15 @@ var Design = /*#__PURE__*/function (_React$Component) {
276
282
  markup: model.rationale || '',
277
283
  onChange: this.onRationaleChanged,
278
284
  imageSupport: imageSupport,
279
- toolbarOpts: toolbarOpts
285
+ toolbarOpts: toolbarOpts,
286
+ spellCheck: spellCheckEnabled
280
287
  })), text.settings && /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
281
288
  label: text.label,
282
289
  className: classes.input,
283
290
  multiline: true,
284
291
  value: textValue,
285
- onChange: this.changeText
292
+ onChange: this.changeText,
293
+ spellCheck: spellCheckEnabled
286
294
  }), tokens.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
287
295
  label: tokens.label || '',
288
296
  className: classes.tokenizerContainer
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","radio","log","Design","props","val","apply","u","text","tokens","event","value","target","preparedText","setState","updateText","mode","correctTokenCount","filter","t","correct","length","max","isFinite","maxSelections","Math","fn","onModelChanged","model","update","feedback","partialScoring","prompt","teacherInstructions","rationale","state","nProps","textValue","classes","imageSupport","configuration","onConfigurationChanged","selections","selectionCount","correctAnswer","studentInstructions","scoringType","highlightChoices","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","feedbackEnabled","toolbarOpts","toolbarEditorPosition","position","tokensModel","Settings","label","Properties","studentInstructionsEnabled","container","promptHolder","onTeacherInstructionsChanged","onPromptChanged","onRationaleChanged","input","changeText","tokenizerContainer","tokenizer","changeTokens","chip","changeMaxSelections","numberField","changeFeedback","React","Component","PropTypes","object","isRequired","func","shape","add","theme","paddingTop","spacing","unit","paddingRight","marginRight","bottom","left","right","height","content","backgroundColor","palette","primary","main","marginBottom","width","paddingBottom","marginTop","mainOpts","justifyContent","display","alignItems"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport cloneDeep from 'lodash/cloneDeep';\nimport debounce from 'lodash/debounce';\nimport { Tokenizer } from '@pie-lib/text-select';\nimport {\n InputContainer,\n NumberTextField,\n FeedbackConfig,\n settings,\n layout\n} from '@pie-lib/config-ui';\nimport Chip from '@material-ui/core/Chip';\nimport debug from 'debug';\nimport EditableHtml from '@pie-lib/editable-html';\n\nconst { Panel, toggle, radio } = settings;\n\nconst log = debug('@pie-element:select-text:configure');\n\nexport class Design extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n const { model } = this.props;\n\n this.state = {\n text: (model && model.text) || ''\n };\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const { model } = nProps;\n\n if (model && model.text) {\n this.setState({\n text: model.text\n });\n }\n }\n\n updateText = debounce(val => {\n this.apply(u => {\n u.text = val;\n u.tokens = [];\n });\n }, 200);\n\n changeText = event => {\n const value = event.target.value;\n const preparedText = value;\n\n this.setState({\n text: value\n });\n this.updateText(preparedText);\n };\n\n changeTokens = (tokens, mode) => {\n this.apply(u => {\n u.tokens = tokens;\n u.mode = mode;\n\n const correctTokenCount = tokens.filter(t => t.correct).length;\n const max = isFinite(u.maxSelections) ? u.maxSelections : 0;\n\n u.maxSelections = Math.max(max, correctTokenCount);\n });\n };\n\n changeMaxSelections = (event, max) => {\n this.apply(u => (u.maxSelections = max));\n };\n\n apply = fn => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n fn(update);\n onModelChanged(update);\n };\n\n changeFeedback = feedback => {\n this.apply(u => (u.feedback = feedback));\n };\n\n changePartialScoring = partialScoring => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n update.partialScoring = partialScoring;\n onModelChanged(update);\n };\n\n onPromptChanged = prompt => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.prompt = prompt;\n onModelChanged(update);\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.teacherInstructions = teacherInstructions;\n onModelChanged(update);\n };\n\n onRationaleChanged = rationale => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({\n ...model,\n rationale\n });\n };\n\n render() {\n const { text: textValue } = this.state;\n const {\n model,\n classes,\n imageSupport,\n onModelChanged,\n configuration,\n onConfigurationChanged\n } = this.props;\n const {\n prompt = {},\n text = {},\n tokens = {},\n mode = {},\n feedback = {},\n partialScoring = {},\n selections = {},\n selectionCount = {},\n correctAnswer = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n scoringType = {},\n highlightChoices = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled, promptEnabled, rationaleEnabled, feedbackEnabled\n } = model || {};\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n let { tokens: tokensModel } = model;\n tokensModel = tokensModel || [];\n\n log('[render] maxSelections:', model.maxSelections);\n\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => onModelChanged(model)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n highlightChoices:\n highlightChoices.settings && toggle(highlightChoices.label),\n feedbackEnabled:\n feedback.settings && toggle(feedback.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['auto', 'rubric'])\n }\n }}\n />\n }\n >\n <div className={classes.container}>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label || ''}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label || ''}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n />\n </InputContainer>\n )}\n\n {text.settings && (\n <TextField\n label={text.label}\n className={classes.input}\n multiline\n value={textValue}\n onChange={this.changeText}\n />\n )}\n\n {tokens.settings && (\n <InputContainer\n label={tokens.label || ''}\n className={classes.tokenizerContainer}\n >\n <Tokenizer\n className={classes.tokenizer}\n text={model.text}\n tokens={tokensModel}\n onChange={this.changeTokens}\n />\n </InputContainer>\n )}\n\n {mode.settings && (\n <Chip\n label={`${mode.label}: ${model.mode ? model.mode : 'None'}`}\n className={classes.chip}\n />\n )}\n\n {selections.settings && (\n <Chip\n label={`${selections.label}: ${tokensModel.length}`}\n className={classes.chip}\n />\n )}\n\n {correctAnswer.settings && (\n <Chip\n label={`${correctAnswer.label}: ${\n tokensModel.filter(t => t.correct).length\n }`}\n className={classes.chip}\n />\n )}\n\n {selectionCount.settings && (\n <NumberTextField\n min={tokensModel.filter(t => t.correct).length || 0}\n label={`${selectionCount.label} (0:any)`}\n max={tokensModel.length}\n value={model.maxSelections}\n onChange={this.changeMaxSelections}\n className={classes.numberField}\n />\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={this.changeFeedback}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles(theme => ({\n container: {\n paddingTop: theme.spacing.unit\n },\n tokenizerContainer: {\n paddingRight: 0,\n marginRight: 0,\n '&:after': {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n height: '1px',\n content: '\"\"',\n backgroundColor: theme.palette.primary.main\n },\n marginBottom: theme.spacing.unit\n },\n chip: {\n marginRight: theme.spacing.unit * 2\n },\n input: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 3\n },\n tokenizer: {\n marginTop: theme.spacing.unit * 2\n },\n mainOpts: {\n width: '100%',\n justifyContent: 'space-between',\n display: 'flex',\n alignItems: 'baseline'\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n numberField: {\n width: '180px'\n }\n}))(Design);\n"],"file":"design.js"}
1
+ {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","radio","log","Design","props","val","apply","u","text","tokens","event","value","target","preparedText","setState","updateText","mode","correctTokenCount","filter","t","correct","length","max","isFinite","maxSelections","Math","fn","onModelChanged","model","update","feedback","partialScoring","prompt","teacherInstructions","rationale","state","nProps","textValue","classes","imageSupport","configuration","onConfigurationChanged","selections","selectionCount","correctAnswer","studentInstructions","scoringType","spellCheck","highlightChoices","teacherInstructionsEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","feedbackEnabled","toolbarOpts","toolbarEditorPosition","position","tokensModel","Settings","label","Properties","studentInstructionsEnabled","container","promptHolder","onTeacherInstructionsChanged","onPromptChanged","onRationaleChanged","input","changeText","tokenizerContainer","tokenizer","changeTokens","chip","changeMaxSelections","numberField","changeFeedback","React","Component","PropTypes","object","isRequired","func","shape","add","theme","paddingTop","spacing","unit","paddingRight","marginRight","bottom","left","right","height","content","backgroundColor","palette","primary","main","marginBottom","width","paddingBottom","marginTop","mainOpts","justifyContent","display","alignItems"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport TextField from '@material-ui/core/TextField';\nimport { withStyles } from '@material-ui/core/styles';\nimport cloneDeep from 'lodash/cloneDeep';\nimport debounce from 'lodash/debounce';\nimport { Tokenizer } from '@pie-lib/text-select';\nimport {\n InputContainer,\n NumberTextField,\n FeedbackConfig,\n settings,\n layout\n} from '@pie-lib/config-ui';\nimport Chip from '@material-ui/core/Chip';\nimport debug from 'debug';\nimport EditableHtml from '@pie-lib/editable-html';\n\nconst { Panel, toggle, radio } = settings;\n\nconst log = debug('@pie-element:select-text:configure');\n\nexport class Design extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n classes: PropTypes.object.isRequired,\n onModelChanged: PropTypes.func.isRequired,\n onConfigurationChanged: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n })\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n const { model } = this.props;\n\n this.state = {\n text: (model && model.text) || ''\n };\n }\n\n UNSAFE_componentWillReceiveProps(nProps) {\n const { model } = nProps;\n\n if (model && model.text) {\n this.setState({\n text: model.text\n });\n }\n }\n\n updateText = debounce(val => {\n this.apply(u => {\n u.text = val;\n u.tokens = [];\n });\n }, 200);\n\n changeText = event => {\n const value = event.target.value;\n const preparedText = value;\n\n this.setState({\n text: value\n });\n this.updateText(preparedText);\n };\n\n changeTokens = (tokens, mode) => {\n this.apply(u => {\n u.tokens = tokens;\n u.mode = mode;\n\n const correctTokenCount = tokens.filter(t => t.correct).length;\n const max = isFinite(u.maxSelections) ? u.maxSelections : 0;\n\n u.maxSelections = Math.max(max, correctTokenCount);\n });\n };\n\n changeMaxSelections = (event, max) => {\n this.apply(u => (u.maxSelections = max));\n };\n\n apply = fn => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n fn(update);\n onModelChanged(update);\n };\n\n changeFeedback = feedback => {\n this.apply(u => (u.feedback = feedback));\n };\n\n changePartialScoring = partialScoring => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n update.partialScoring = partialScoring;\n onModelChanged(update);\n };\n\n onPromptChanged = prompt => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.prompt = prompt;\n onModelChanged(update);\n };\n\n onTeacherInstructionsChanged = teacherInstructions => {\n const { onModelChanged, model } = this.props;\n const update = cloneDeep(model);\n\n update.teacherInstructions = teacherInstructions;\n onModelChanged(update);\n };\n\n onRationaleChanged = rationale => {\n const { onModelChanged, model } = this.props;\n\n onModelChanged({\n ...model,\n rationale\n });\n };\n\n render() {\n const { text: textValue } = this.state;\n const {\n model,\n classes,\n imageSupport,\n onModelChanged,\n configuration,\n onConfigurationChanged\n } = this.props;\n const {\n prompt = {},\n text = {},\n tokens = {},\n mode = {},\n feedback = {},\n partialScoring = {},\n selections = {},\n selectionCount = {},\n correctAnswer = {},\n teacherInstructions = {},\n studentInstructions = {},\n rationale = {},\n scoringType = {},\n spellCheck = {},\n highlightChoices = {}\n } = configuration || {};\n const {\n teacherInstructionsEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled, feedbackEnabled\n } = model || {};\n const toolbarOpts = {};\n\n switch (model.toolbarEditorPosition) {\n case 'top':\n toolbarOpts.position = 'top';\n break;\n default:\n toolbarOpts.position = 'bottom';\n break;\n }\n let { tokens: tokensModel } = model;\n tokensModel = tokensModel || [];\n\n log('[render] maxSelections:', model.maxSelections);\n\n return (\n <layout.ConfigLayout\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={model => onModelChanged(model)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: {\n partialScoring:\n partialScoring.settings && toggle(partialScoring.label),\n highlightChoices:\n highlightChoices.settings && toggle(highlightChoices.label),\n feedbackEnabled:\n feedback.settings && toggle(feedback.label)\n },\n Properties: {\n teacherInstructionsEnabled:\n teacherInstructions.settings &&\n toggle(teacherInstructions.label),\n studentInstructionsEnabled:\n studentInstructions.settings &&\n toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled:\n spellCheck.settings && toggle(spellCheck.label),\n scoringType:\n scoringType.settings &&\n radio(scoringType.label, ['auto', 'rubric'])\n }\n }}\n />\n }\n >\n <div className={classes.container}>\n {teacherInstructionsEnabled && (\n <InputContainer\n label={teacherInstructions.label}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer\n label={prompt.label || ''}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer\n label={rationale.label || ''}\n className={classes.promptHolder}\n >\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {text.settings && (\n <TextField\n label={text.label}\n className={classes.input}\n multiline\n value={textValue}\n onChange={this.changeText}\n spellCheck={spellCheckEnabled}\n />\n )}\n\n {tokens.settings && (\n <InputContainer\n label={tokens.label || ''}\n className={classes.tokenizerContainer}\n >\n <Tokenizer\n className={classes.tokenizer}\n text={model.text}\n tokens={tokensModel}\n onChange={this.changeTokens}\n />\n </InputContainer>\n )}\n\n {mode.settings && (\n <Chip\n label={`${mode.label}: ${model.mode ? model.mode : 'None'}`}\n className={classes.chip}\n />\n )}\n\n {selections.settings && (\n <Chip\n label={`${selections.label}: ${tokensModel.length}`}\n className={classes.chip}\n />\n )}\n\n {correctAnswer.settings && (\n <Chip\n label={`${correctAnswer.label}: ${\n tokensModel.filter(t => t.correct).length\n }`}\n className={classes.chip}\n />\n )}\n\n {selectionCount.settings && (\n <NumberTextField\n min={tokensModel.filter(t => t.correct).length || 0}\n label={`${selectionCount.label} (0:any)`}\n max={tokensModel.length}\n value={model.maxSelections}\n onChange={this.changeMaxSelections}\n className={classes.numberField}\n />\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig\n feedback={model.feedback}\n onChange={this.changeFeedback}\n toolbarOpts={toolbarOpts}\n />\n )}\n </div>\n </layout.ConfigLayout>\n );\n }\n}\nexport default withStyles(theme => ({\n container: {\n paddingTop: theme.spacing.unit\n },\n tokenizerContainer: {\n paddingRight: 0,\n marginRight: 0,\n '&:after': {\n position: 'absolute',\n bottom: 0,\n left: 0,\n right: 0,\n height: '1px',\n content: '\"\"',\n backgroundColor: theme.palette.primary.main\n },\n marginBottom: theme.spacing.unit\n },\n chip: {\n marginRight: theme.spacing.unit * 2\n },\n input: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 3\n },\n tokenizer: {\n marginTop: theme.spacing.unit * 2\n },\n mainOpts: {\n width: '100%',\n justifyContent: 'space-between',\n display: 'flex',\n alignItems: 'baseline'\n },\n promptHolder: {\n width: '100%',\n paddingBottom: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2\n },\n prompt: {\n paddingTop: theme.spacing.unit * 2,\n width: '100%'\n },\n numberField: {\n width: '180px'\n }\n}))(Design);\n"],"file":"design.js"}
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "name": "@pie-element/select-text-configure",
3
3
  "private": true,
4
- "version": "5.2.20",
4
+ "version": "5.2.21",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
10
  "@pie-framework/pie-configure-events": "^1.2.0",
11
- "@pie-lib/config-ui": "^10.10.23",
12
- "@pie-lib/editable-html": "^7.19.2",
13
- "@pie-lib/scoring-config": "^3.5.152",
14
- "@pie-lib/text-select": "^1.8.13",
11
+ "@pie-lib/config-ui": "^10.10.24",
12
+ "@pie-lib/editable-html": "^7.19.3",
13
+ "@pie-lib/scoring-config": "^3.5.153",
14
+ "@pie-lib/text-select": "^1.8.14",
15
15
  "debug": "^3.1.0",
16
16
  "lodash": "^4.17.15",
17
17
  "prop-types": "^15.6.2",
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [4.1.31](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-controller@4.1.30...@pie-element/select-text-controller@4.1.31) (2022-03-22)
7
+
8
+ **Note:** Version bump only for package @pie-element/select-text-controller
9
+
10
+
11
+
12
+
13
+
6
14
  ## [4.1.30](https://github.com/pie-framework/pie-elements/compare/@pie-element/select-text-controller@4.1.29...@pie-element/select-text-controller@4.1.30) (2022-02-21)
7
15
 
8
16
  **Note:** Version bump only for package @pie-element/select-text-controller
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/select-text-controller",
3
3
  "private": true,
4
- "version": "4.1.30",
4
+ "version": "4.1.31",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "dependencies": {
9
9
  "@pie-lib/controller-utils": "^0.2.26",
10
10
  "@pie-lib/feedback": "^0.4.27",
11
- "@pie-lib/text-select": "^1.8.13",
11
+ "@pie-lib/text-select": "^1.8.14",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15"
14
14
  },
@@ -163,6 +163,22 @@
163
163
  }
164
164
  }
165
165
  },
166
+ "spellCheck": {
167
+ "title": "ConfigureProp",
168
+ "type": "object",
169
+ "properties": {
170
+ "settings": {
171
+ "description": "Indicates if the item has to be displayed in the Settings Panel",
172
+ "type": "boolean",
173
+ "title": "settings"
174
+ },
175
+ "label": {
176
+ "description": "Indicates the label for the item that has to be displayed in the Settings Panel",
177
+ "type": "string",
178
+ "title": "label"
179
+ }
180
+ }
181
+ },
166
182
  "scoringType": {
167
183
  "title": "ConfigureProp",
168
184
  "type": "object",
@@ -122,6 +122,18 @@ Indicates if the item has to be displayed in the Settings Panel
122
122
 
123
123
  Indicates the label for the item that has to be displayed in the Settings Panel
124
124
 
125
+ # `spellCheck` (object)
126
+
127
+ Properties of the `spellCheck` object:
128
+
129
+ ## `settings` (boolean)
130
+
131
+ Indicates if the item has to be displayed in the Settings Panel
132
+
133
+ ## `label` (string)
134
+
135
+ Indicates the label for the item that has to be displayed in the Settings Panel
136
+
125
137
  # `scoringType` (object)
126
138
 
127
139
  Properties of the `scoringType` object:
@@ -289,6 +289,11 @@
289
289
  "type": "boolean",
290
290
  "title": "teacherInstructionsEnabled"
291
291
  },
292
+ "spellCheckEnabled": {
293
+ "description": "Indicates if spellcheck is enabled",
294
+ "type": "boolean",
295
+ "title": "spellCheckEnabled"
296
+ },
292
297
  "toolbarEditorPosition": {
293
298
  "description": "Indicates the editor's toolbar position which can be 'bottom' or 'top'",
294
299
  "default": ": 'bottom'",
@@ -316,6 +321,7 @@
316
321
  "id",
317
322
  "prompt",
318
323
  "rationaleEnabled",
324
+ "spellCheckEnabled",
319
325
  "studentInstructionsEnabled",
320
326
  "teacherInstructionsEnabled",
321
327
  "text",
@@ -117,6 +117,10 @@ Indicates if Student Instructions are enabled
117
117
 
118
118
  Indicates if Teacher Instructions are enabled
119
119
 
120
+ # `spellCheckEnabled` (boolean, required)
121
+
122
+ Indicates if spellcheck is enabled
123
+
120
124
  # `toolbarEditorPosition` (string, enum)
121
125
 
122
126
  Indicates the editor's toolbar position which can be 'bottom' or 'top'
package/lib/print.js CHANGED
@@ -83,7 +83,8 @@ var SelectTextPrint = /*#__PURE__*/function (_HTMLElement) {
83
83
  model: printModel,
84
84
  session: {
85
85
  selectedTokens: []
86
- }
86
+ },
87
+ onSelectionChange: function onSelectionChange() {}
87
88
  });
88
89
 
89
90
  _reactDom["default"].render(element, (0, _assertThisInitialized2["default"])(_this), function () {
package/lib/print.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","showTeacherInstructions","alwaysShowCorrect","mode","disabled","animationsDisabled","highlightChoices","feedback","SelectTextPrint","_options","_model","_session","selectedTokens","_rerender","printModel","element","React","createElement","Main","session","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,+BAAN,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;AAEAH,EAAAA,KAAK,CAACI,MAAN,GAAeJ,KAAK,CAACK,aAAN,KAAwB,KAAxB,GAAgCL,KAAK,CAACI,MAAtC,GAA+CE,SAA9D;AACAN,EAAAA,KAAK,CAACO,mBAAN,GAA4BL,KAAK,IAAIF,KAAK,CAACQ,0BAAN,KAAqC,KAA9C,GAAsDR,KAAK,CAACO,mBAA5D,GAAkFD,SAA9G;AACAN,EAAAA,KAAK,CAACS,SAAN,GAAkBP,KAAK,IAAIF,KAAK,CAACU,gBAAN,KAA2B,KAApC,GAA4CV,KAAK,CAACS,SAAlD,GAA8DH,SAAhF;AACAN,EAAAA,KAAK,CAACW,uBAAN,GAAgCT,KAAhC;AACAF,EAAAA,KAAK,CAACY,iBAAN,GAA0BV,KAA1B;AACAF,EAAAA,KAAK,CAACa,IAAN,GAAaX,KAAK,GAAG,UAAH,GAAgBF,KAAK,CAACa,IAAxC;AAEAb,EAAAA,KAAK,CAACc,QAAN,GAAiB,IAAjB;AACAd,EAAAA,KAAK,CAACe,kBAAN,GAA2B,IAA3B;AACAf,EAAAA,KAAK,CAACgB,gBAAN,GAAyB,IAAzB;AACAhB,EAAAA,KAAK,CAACiB,QAAN,GAAiBX,SAAjB;AAEA,SAAON,KAAP;AACD,CAhBD;;IAkBqBkB,e;;;;;AACnB,6BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKA,QAAL,CAAcC,cAAd,GAA+B,EAA/B;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKH,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAMG,UAAU,GAAGzB,iBAAiB,CAAC,MAAKqB,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMM,OAAO,GACX,MAAKN,QAAL,iBACAO,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxB5B,UAAAA,KAAK,EAAEwB,UADiB;AAExBK,UAAAA,OAAO,EAAE;AAAEP,YAAAA,cAAc,EAAE;AAAlB;AAFe,SAA1B,CAFF;;AAOAQ,6BAASC,MAAT,CAAgBN,OAAhB,kDAA+B,YAAM;AACnC3B,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAdD,MAcO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KAnBc,EAoBf,EApBe,EAqBf;AAAEkC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KArBe,CAAjB;AANY;AA6Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKf,QAAL,GAAgBe,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKf,MAAL,GAAce,CAAd;;AACA,WAAKZ,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAxCqBa,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:select-text:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;\n model.showTeacherInstructions = instr;\n model.alwaysShowCorrect = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n model.disabled = true;\n model.animationsDisabled = true;\n model.highlightChoices = true;\n model.feedback = undefined;\n\n return model;\n};\n\nexport default class SelectTextPrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = {};\n this._session.selectedTokens = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: { selectedTokens: [] }\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true }\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
1
+ {"version":3,"sources":["../src/print.js"],"names":["log","preparePrintModel","model","opts","instr","role","prompt","promptEnabled","undefined","teacherInstructions","teacherInstructionsEnabled","rationale","rationaleEnabled","showTeacherInstructions","alwaysShowCorrect","mode","disabled","animationsDisabled","highlightChoices","feedback","SelectTextPrint","_options","_model","_session","selectedTokens","_rerender","printModel","element","React","createElement","Main","session","onSelectionChange","ReactDOM","render","leading","trailing","o","s","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,+BAAN,CAAZ;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,IAAMC,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,KAAD,EAAQC,IAAR,EAAiB;AACzC,MAAMC,KAAK,GAAGD,IAAI,CAACE,IAAL,KAAc,YAA5B;AAEAH,EAAAA,KAAK,CAACI,MAAN,GAAeJ,KAAK,CAACK,aAAN,KAAwB,KAAxB,GAAgCL,KAAK,CAACI,MAAtC,GAA+CE,SAA9D;AACAN,EAAAA,KAAK,CAACO,mBAAN,GAA4BL,KAAK,IAAIF,KAAK,CAACQ,0BAAN,KAAqC,KAA9C,GAAsDR,KAAK,CAACO,mBAA5D,GAAkFD,SAA9G;AACAN,EAAAA,KAAK,CAACS,SAAN,GAAkBP,KAAK,IAAIF,KAAK,CAACU,gBAAN,KAA2B,KAApC,GAA4CV,KAAK,CAACS,SAAlD,GAA8DH,SAAhF;AACAN,EAAAA,KAAK,CAACW,uBAAN,GAAgCT,KAAhC;AACAF,EAAAA,KAAK,CAACY,iBAAN,GAA0BV,KAA1B;AACAF,EAAAA,KAAK,CAACa,IAAN,GAAaX,KAAK,GAAG,UAAH,GAAgBF,KAAK,CAACa,IAAxC;AAEAb,EAAAA,KAAK,CAACc,QAAN,GAAiB,IAAjB;AACAd,EAAAA,KAAK,CAACe,kBAAN,GAA2B,IAA3B;AACAf,EAAAA,KAAK,CAACgB,gBAAN,GAAyB,IAAzB;AACAhB,EAAAA,KAAK,CAACiB,QAAN,GAAiBX,SAAjB;AAEA,SAAON,KAAP;AACD,CAhBD;;IAkBqBkB,e;;;;;AACnB,6BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,QAAL,GAAgB,IAAhB;AACA,UAAKC,MAAL,GAAc,IAAd;AACA,UAAKC,QAAL,GAAgB,EAAhB;AACA,UAAKA,QAAL,CAAcC,cAAd,GAA+B,EAA/B;AACA,UAAKC,SAAL,GAAiB,0BACf,YAAM;AACJ,UAAI,MAAKH,MAAL,IAAe,MAAKC,QAAxB,EAAkC;AAChC,YAAMG,UAAU,GAAGzB,iBAAiB,CAAC,MAAKqB,MAAN,EAAc,MAAKD,QAAnB,CAApC;;AAEA,YAAMM,OAAO,GACX,MAAKN,QAAL,iBACAO,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACxB5B,UAAAA,KAAK,EAAEwB,UADiB;AAExBK,UAAAA,OAAO,EAAE;AAAEP,YAAAA,cAAc,EAAE;AAAlB,WAFe;AAGxBQ,UAAAA,iBAAiB,EAAE,6BAAM,CAAE;AAHH,SAA1B,CAFF;;AAQAC,6BAASC,MAAT,CAAgBP,OAAhB,kDAA+B,YAAM;AACnC3B,UAAAA,GAAG,CAAC,+BAAD,CAAH;AACA;AACD,SAHD;AAID,OAfD,MAeO;AACLA,QAAAA,GAAG,CAAC,MAAD,CAAH;AACD;AACF,KApBc,EAqBf,EArBe,EAsBf;AAAEmC,MAAAA,OAAO,EAAE,KAAX;AAAkBC,MAAAA,QAAQ,EAAE;AAA5B,KAtBe,CAAjB;AANY;AA8Bb;;;;SACD,aAAYC,CAAZ,EAAe;AACb,WAAKhB,QAAL,GAAgBgB,CAAhB;AACD;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKhB,MAAL,GAAcgB,CAAd;;AACA,WAAKb,SAAL;AACD;;;WAED,6BAAoB,CAAE;;;kDAzCqBc,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debounce from 'lodash/debounce';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport debug from 'debug';\n\nconst log = debug('pie-element:select-text:print');\n\n/**\n * Live in same package as main element - so we can access some of the shared comps!\n *\n * - update pslb to build print if src/print.js is there\n * - update demo el\n * - get configure/controller building\n */\n\nconst preparePrintModel = (model, opts) => {\n const instr = opts.role === 'instructor';\n\n model.prompt = model.promptEnabled !== false ? model.prompt : undefined;\n model.teacherInstructions = instr && model.teacherInstructionsEnabled !== false ? model.teacherInstructions : undefined;\n model.rationale = instr && model.rationaleEnabled !== false ? model.rationale : undefined;\n model.showTeacherInstructions = instr;\n model.alwaysShowCorrect = instr;\n model.mode = instr ? 'evaluate' : model.mode;\n\n model.disabled = true;\n model.animationsDisabled = true;\n model.highlightChoices = true;\n model.feedback = undefined;\n\n return model;\n};\n\nexport default class SelectTextPrint extends HTMLElement {\n constructor() {\n super();\n this._options = null;\n this._model = null;\n this._session = {};\n this._session.selectedTokens = [];\n this._rerender = debounce(\n () => {\n if (this._model && this._session) {\n const printModel = preparePrintModel(this._model, this._options);\n\n const element =\n this._options &&\n React.createElement(Main, {\n model: printModel,\n session: { selectedTokens: [] },\n onSelectionChange: () => {}\n });\n\n ReactDOM.render(element, this, () => {\n log('render complete - render math');\n renderMath(this);\n });\n } else {\n log('skip');\n }\n },\n 50,\n { leading: false, trailing: true }\n );\n }\n set options(o) {\n this._options = o;\n }\n\n set model(s) {\n this._model = s;\n this._rerender();\n }\n\n connectedCallback() {}\n}\n"],"file":"print.js"}
@@ -1,6 +1,6 @@
1
- import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.2/module/index.js";
2
- import {_dll_pie_lib__config_ui} from "../../../@pie-lib/config-module@^1.0.25/module/index.js";
3
- import {_dll_pie_lib__editable_html} from "../../../@pie-lib/editable-html-module@^1.2.1/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.8/module/index.js";
2
+ import {_dll_pie_lib__config_ui} from "../../../@pie-lib/config-module@^1.0.31/module/index.js";
3
+ import {_dll_pie_lib__editable_html} from "../../../@pie-lib/editable-html-module@^1.2.7/module/index.js";
4
4
  const React$7 = _dll_react;
5
5
  const PropTypes$6 = _dll_prop_types;
6
6
  const {Button: Button} = _dll_material_ui__core;
@@ -2231,8 +2231,8 @@ class Design extends React$1.Component {
2231
2231
  render() {
2232
2232
  const {text: textValue} = this.state;
2233
2233
  const {model, classes, imageSupport, onModelChanged, configuration, onConfigurationChanged} = this.props;
2234
- const {prompt = {}, text = {}, tokens = {}, mode = {}, feedback = {}, partialScoring = {}, selections = {}, selectionCount = {}, correctAnswer = {}, teacherInstructions = {}, studentInstructions = {}, rationale = {}, scoringType = {}, highlightChoices = {}} = configuration || ({});
2235
- const {teacherInstructionsEnabled, promptEnabled, rationaleEnabled, feedbackEnabled} = model || ({});
2234
+ const {prompt = {}, text = {}, tokens = {}, mode = {}, feedback = {}, partialScoring = {}, selections = {}, selectionCount = {}, correctAnswer = {}, teacherInstructions = {}, studentInstructions = {}, rationale = {}, scoringType = {}, spellCheck = {}, highlightChoices = {}} = configuration || ({});
2235
+ const {teacherInstructionsEnabled, promptEnabled, rationaleEnabled, spellCheckEnabled, feedbackEnabled} = model || ({});
2236
2236
  const toolbarOpts = {};
2237
2237
  switch (model.toolbarEditorPosition) {
2238
2238
  case 'top':
@@ -2262,26 +2262,27 @@ class Design extends React$1.Component {
2262
2262
  studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
2263
2263
  promptEnabled: prompt.settings && toggle(prompt.label),
2264
2264
  rationaleEnabled: rationale.settings && toggle(rationale.label),
2265
+ spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
2265
2266
  scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric'])
2266
2267
  }
2267
2268
  },
2268
2269
  __self: this,
2269
2270
  __source: {
2270
2271
  fileName: _jsxFileName,
2271
- lineNumber: 181
2272
+ lineNumber: 182
2272
2273
  }
2273
2274
  }),
2274
2275
  __self: this,
2275
2276
  __source: {
2276
2277
  fileName: _jsxFileName,
2277
- lineNumber: 179
2278
+ lineNumber: 180
2278
2279
  }
2279
2280
  }, React$1.createElement('div', {
2280
2281
  className: classes.container,
2281
2282
  __self: this,
2282
2283
  __source: {
2283
2284
  fileName: _jsxFileName,
2284
- lineNumber: 212
2285
+ lineNumber: 215
2285
2286
  }
2286
2287
  }, teacherInstructionsEnabled && React$1.createElement(InputContainer, {
2287
2288
  label: teacherInstructions.label,
@@ -2289,7 +2290,7 @@ class Design extends React$1.Component {
2289
2290
  __self: this,
2290
2291
  __source: {
2291
2292
  fileName: _jsxFileName,
2292
- lineNumber: 214
2293
+ lineNumber: 217
2293
2294
  }
2294
2295
  }, React$1.createElement(EditableHtml, {
2295
2296
  className: classes.prompt,
@@ -2298,10 +2299,11 @@ class Design extends React$1.Component {
2298
2299
  imageSupport: imageSupport,
2299
2300
  nonEmpty: false,
2300
2301
  toolbarOpts: toolbarOpts,
2302
+ spellCheck: spellCheckEnabled,
2301
2303
  __self: this,
2302
2304
  __source: {
2303
2305
  fileName: _jsxFileName,
2304
- lineNumber: 218
2306
+ lineNumber: 221
2305
2307
  }
2306
2308
  })), promptEnabled && React$1.createElement(InputContainer, {
2307
2309
  label: prompt.label || '',
@@ -2309,7 +2311,7 @@ class Design extends React$1.Component {
2309
2311
  __self: this,
2310
2312
  __source: {
2311
2313
  fileName: _jsxFileName,
2312
- lineNumber: 230
2314
+ lineNumber: 234
2313
2315
  }
2314
2316
  }, React$1.createElement(EditableHtml, {
2315
2317
  className: classes.prompt,
@@ -2317,10 +2319,11 @@ class Design extends React$1.Component {
2317
2319
  onChange: this.onPromptChanged,
2318
2320
  imageSupport: imageSupport,
2319
2321
  toolbarOpts: toolbarOpts,
2322
+ spellCheck: spellCheckEnabled,
2320
2323
  __self: this,
2321
2324
  __source: {
2322
2325
  fileName: _jsxFileName,
2323
- lineNumber: 234
2326
+ lineNumber: 238
2324
2327
  }
2325
2328
  })), rationaleEnabled && React$1.createElement(InputContainer, {
2326
2329
  label: rationale.label || '',
@@ -2328,7 +2331,7 @@ class Design extends React$1.Component {
2328
2331
  __self: this,
2329
2332
  __source: {
2330
2333
  fileName: _jsxFileName,
2331
- lineNumber: 245
2334
+ lineNumber: 250
2332
2335
  }
2333
2336
  }, React$1.createElement(EditableHtml, {
2334
2337
  className: classes.prompt,
@@ -2336,10 +2339,11 @@ class Design extends React$1.Component {
2336
2339
  onChange: this.onRationaleChanged,
2337
2340
  imageSupport: imageSupport,
2338
2341
  toolbarOpts: toolbarOpts,
2342
+ spellCheck: spellCheckEnabled,
2339
2343
  __self: this,
2340
2344
  __source: {
2341
2345
  fileName: _jsxFileName,
2342
- lineNumber: 249
2346
+ lineNumber: 254
2343
2347
  }
2344
2348
  })), text.settings && React$1.createElement(TextField, {
2345
2349
  label: text.label,
@@ -2347,10 +2351,11 @@ class Design extends React$1.Component {
2347
2351
  multiline: true,
2348
2352
  value: textValue,
2349
2353
  onChange: this.changeText,
2354
+ spellCheck: spellCheckEnabled,
2350
2355
  __self: this,
2351
2356
  __source: {
2352
2357
  fileName: _jsxFileName,
2353
- lineNumber: 260
2358
+ lineNumber: 266
2354
2359
  }
2355
2360
  }), tokens.settings && React$1.createElement(InputContainer, {
2356
2361
  label: tokens.label || '',
@@ -2358,7 +2363,7 @@ class Design extends React$1.Component {
2358
2363
  __self: this,
2359
2364
  __source: {
2360
2365
  fileName: _jsxFileName,
2361
- lineNumber: 270
2366
+ lineNumber: 277
2362
2367
  }
2363
2368
  }, React$1.createElement(Tokenizer$1, {
2364
2369
  className: classes.tokenizer,
@@ -2368,7 +2373,7 @@ class Design extends React$1.Component {
2368
2373
  __self: this,
2369
2374
  __source: {
2370
2375
  fileName: _jsxFileName,
2371
- lineNumber: 274
2376
+ lineNumber: 281
2372
2377
  }
2373
2378
  })), mode.settings && React$1.createElement(Chip, {
2374
2379
  label: `${mode.label}: ${model.mode ? model.mode : 'None'}`,
@@ -2376,7 +2381,7 @@ class Design extends React$1.Component {
2376
2381
  __self: this,
2377
2382
  __source: {
2378
2383
  fileName: _jsxFileName,
2379
- lineNumber: 284
2384
+ lineNumber: 291
2380
2385
  }
2381
2386
  }), selections.settings && React$1.createElement(Chip, {
2382
2387
  label: `${selections.label}: ${tokensModel.length}`,
@@ -2384,7 +2389,7 @@ class Design extends React$1.Component {
2384
2389
  __self: this,
2385
2390
  __source: {
2386
2391
  fileName: _jsxFileName,
2387
- lineNumber: 291
2392
+ lineNumber: 298
2388
2393
  }
2389
2394
  }), correctAnswer.settings && React$1.createElement(Chip, {
2390
2395
  label: `${correctAnswer.label}: ${tokensModel.filter(t => t.correct).length}`,
@@ -2392,7 +2397,7 @@ class Design extends React$1.Component {
2392
2397
  __self: this,
2393
2398
  __source: {
2394
2399
  fileName: _jsxFileName,
2395
- lineNumber: 298
2400
+ lineNumber: 305
2396
2401
  }
2397
2402
  }), selectionCount.settings && React$1.createElement(NumberTextField, {
2398
2403
  min: tokensModel.filter(t => t.correct).length || 0,
@@ -2404,7 +2409,7 @@ class Design extends React$1.Component {
2404
2409
  __self: this,
2405
2410
  __source: {
2406
2411
  fileName: _jsxFileName,
2407
- lineNumber: 307
2412
+ lineNumber: 314
2408
2413
  }
2409
2414
  }), feedbackEnabled && React$1.createElement(FeedbackConfig, {
2410
2415
  feedback: model.feedback,
@@ -2413,7 +2418,7 @@ class Design extends React$1.Component {
2413
2418
  __self: this,
2414
2419
  __source: {
2415
2420
  fileName: _jsxFileName,
2416
- lineNumber: 318
2421
+ lineNumber: 325
2417
2422
  }
2418
2423
  })));
2419
2424
  }
@@ -2532,6 +2537,7 @@ var defaultValues = {
2532
2537
  promptEnabled: true,
2533
2538
  teacherInstructionsEnabled: true,
2534
2539
  studentInstructionsEnabled: true,
2540
+ spellCheckEnabled: false,
2535
2541
  toolbarEditorPosition: 'bottom'
2536
2542
  },
2537
2543
  configuration: {
@@ -2583,6 +2589,11 @@ var defaultValues = {
2583
2589
  settings: true,
2584
2590
  label: 'Feedback'
2585
2591
  },
2592
+ spellCheck: {
2593
+ label: "Spellcheck",
2594
+ settings: true,
2595
+ enabled: true
2596
+ },
2586
2597
  partialScoring: {
2587
2598
  settings: false,
2588
2599
  label: 'Allow Partial Scoring'
package/module/element.js CHANGED
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.2/module/index.js";
2
- import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.27/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.8/module/index.js";
2
+ import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.33/module/index.js";
3
3
  var lib$1 = {};
4
4
  Object.defineProperty(lib$1, "__esModule", {
5
5
  value: true
package/module/index.html CHANGED
@@ -2,7 +2,7 @@
2
2
  <!doctype html>
3
3
  <html>
4
4
  <head>
5
- <title>@pie-element/select-text@6.5.23</title>
5
+ <title>@pie-element/select-text@6.5.24</title>
6
6
  <script
7
7
  type="module"
8
8
  src="https://cdn.jsdelivr.net/npm/@pslb/demo-el@^1.0.0/dist/demo-el/demo-el.esm.js"></script>
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "@pie-element/select-text",
3
- "version": "6.5.23",
3
+ "version": "6.5.24",
4
4
  "modules": [
5
5
  {
6
6
  "name": "@pie-lib/shared-module",
7
- "version": "^1.4.2"
7
+ "version": "^1.4.8"
8
8
  },
9
9
  {
10
10
  "name": "@pie-lib/math-rendering-module",
11
- "version": "^1.0.27"
11
+ "version": "^1.0.33"
12
12
  }
13
13
  ]
14
14
  }
package/module/print.html CHANGED
@@ -2,7 +2,7 @@
2
2
  <!doctype html>
3
3
  <html>
4
4
  <head>
5
- <title>@pie-element/select-text@6.5.23</title>
5
+ <title>@pie-element/select-text@6.5.24</title>
6
6
  <link
7
7
  href="https://fonts.googleapis.com/css?family=Roboto&display=swap"
8
8
  rel="stylesheet"
package/module/print.js CHANGED
@@ -1,5 +1,5 @@
1
- import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.2/module/index.js";
2
- import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.27/module/index.js";
1
+ import {_dll_react, _dll_prop_types, _dll_material_ui__core, _dll_material_ui__core_styles, _dll_lodash, _dll_debug, _dll_classnames, _dll_pie_lib__render_ui, _dll_react_dom_server, _dll_pie_lib__correct_answer_toggle, _dll_react_dom} from "../../../@pie-lib/shared-module@^1.4.8/module/index.js";
2
+ import {_dll_pie_lib__math_rendering} from "../../../@pie-lib/math-rendering-module@^1.0.33/module/index.js";
3
3
  const React$7 = _dll_react;
4
4
  const PropTypes$6 = _dll_prop_types;
5
5
  const {Button: Button} = _dll_material_ui__core;
@@ -2454,7 +2454,8 @@ class SelectTextPrint extends HTMLElement {
2454
2454
  model: printModel,
2455
2455
  session: {
2456
2456
  selectedTokens: []
2457
- }
2457
+ },
2458
+ onSelectionChange: () => {}
2458
2459
  });
2459
2460
  ReactDOM.render(element, this, () => {
2460
2461
  log('render complete - render math');
package/package.json CHANGED
@@ -4,22 +4,22 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "6.5.24",
7
+ "version": "6.5.25",
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/correct-answer-toggle": "^2.3.34",
13
- "@pie-lib/math-rendering": "^2.3.12",
14
- "@pie-lib/render-ui": "^4.12.4",
15
- "@pie-lib/text-select": "^1.8.13",
12
+ "@pie-lib/correct-answer-toggle": "^2.3.35",
13
+ "@pie-lib/math-rendering": "^2.3.13",
14
+ "@pie-lib/render-ui": "^4.12.5",
15
+ "@pie-lib/text-select": "^1.8.14",
16
16
  "prop-types": "^15.6.1",
17
17
  "react": "^16.8.1",
18
18
  "react-dom": "^16.8.1"
19
19
  },
20
20
  "author": "",
21
21
  "license": "ISC",
22
- "gitHead": "7b61c8a15ceae75e9e6db5d465abfb6d22c34f30",
22
+ "gitHead": "b32a90d35916de8f2b77d7b3428b02efbd145313",
23
23
  "scripts": {
24
24
  "postpublish": "../../scripts/postpublish"
25
25
  },