@pie-element/select-text 13.1.1-next.11 → 13.1.1-next.123
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/configure/lib/index.js +1 -0
- package/configure/lib/index.js.map +1 -1
- package/configure/package.json +3 -3
- package/controller/package.json +1 -1
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/main.js +12 -0
- package/lib/main.js.map +1 -1
- package/package.json +6 -6
package/configure/lib/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_design","_pieConfigureEvents","_defaultConfiguration","_utils","SelectTextConfigure","HTMLElement","constructor","_root","_model","createDefaultModel","_configuration","defaultValues","configuration","model","m","render","c","newConfiguration","language","enabled","languageChoices","options","length","value","settings","find","option","push","label","connectedCallback","modelChanged","dispatchEvent","ModelUpdatedEvent","onConfigurationChanged","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Main","onModelChanged","bind","imageSupport","add","delete","uploadSoundSupport","createRoot","disconnectedCallback","unmount","exports","default","_defineProperty2","newModel","generateModel"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Main from './design';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport defaultValues from './defaultConfiguration';\nimport { generateModel } from './utils';\n\nexport default class SelectTextConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const newModel = {\n ...defaultValues.model,\n ...model,\n };\n\n return generateModel(newModel);\n };\n\n constructor() {\n super();\n this._root = null;\n this._model = SelectTextConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = SelectTextConfigure.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaultValues.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n modelChanged(m) {\n this._model = m;\n this.dispatchEvent(new ModelUpdatedEvent(this._model), true);\n this.render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n if (this._model) {\n this.dispatchEvent(new ModelUpdatedEvent(this._model), false);\n }\n\n this.render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.modelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_design","_pieConfigureEvents","_defaultConfiguration","_utils","SelectTextConfigure","HTMLElement","constructor","_root","_model","createDefaultModel","_configuration","defaultValues","configuration","model","m","render","c","newConfiguration","language","enabled","languageChoices","options","length","value","settings","find","option","push","label","connectedCallback","modelChanged","dispatchEvent","ModelUpdatedEvent","onConfigurationChanged","insertImage","handler","InsertImageEvent","onDeleteImage","src","done","DeleteImageEvent","insertSound","InsertSoundEvent","onDeleteSound","DeleteSoundEvent","el","React","createElement","Main","onModelChanged","bind","imageSupport","add","delete","uploadSoundSupport","createRoot","disconnectedCallback","unmount","exports","default","_defineProperty2","newModel","generateModel"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport Main from './design';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport defaultValues from './defaultConfiguration';\nimport { generateModel } from './utils';\n\nexport default class SelectTextConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => {\n const newModel = {\n ...defaultValues.model,\n ...model,\n };\n\n return generateModel(newModel);\n };\n\n constructor() {\n super();\n this._root = null;\n this._model = SelectTextConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = SelectTextConfigure.createDefaultModel(m);\n this.render();\n }\n\n set configuration(c) {\n const newConfiguration = {\n ...defaultValues.configuration,\n ...c,\n };\n\n this._configuration = newConfiguration;\n\n // if language:enabled is true, then the corresponding default item model should include a language value;\n // if it is false, then the language field should be omitted from the item model.\n // if a default item model includes a language value (e.g., en_US) and the corresponding authoring view settings have language:settings = true,\n // then (a) language:enabled should also be true, and (b) that default language value should be represented in languageChoices[] (as a key).\n if (newConfiguration?.language?.enabled) {\n if (newConfiguration?.languageChoices?.options?.length) {\n this._model.language = newConfiguration?.languageChoices.options[0].value;\n }\n } else if (newConfiguration.language.settings && this._model.language) {\n this._configuration.language.enabled = true;\n\n if (!this._configuration.languageChoices.options || !this._configuration.languageChoices.options.length) {\n this._configuration.languageChoices.options = [];\n }\n\n // check if the language is already included in the languageChoices.options array\n // and if not, then add it.\n if (!this._configuration.languageChoices.options.find(option => option.value === this._model.language)) {\n this._configuration.languageChoices.options.push({\n value: this._model.language,\n label: this._model.language,\n });\n }\n } else {\n delete this._model.language;\n }\n\n this.render();\n }\n\n connectedCallback() {\n this.render();\n }\n\n modelChanged(m) {\n this._model = m;\n this.dispatchEvent(new ModelUpdatedEvent(this._model), true);\n this.render();\n }\n\n onConfigurationChanged(c) {\n this._configuration = c;\n\n if (this._model) {\n this.dispatchEvent(new ModelUpdatedEvent(this._model), false);\n }\n\n this.render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n render() {\n if (this._model) {\n const el = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.modelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/configure/package.json
CHANGED
|
@@ -11,9 +11,9 @@
|
|
|
11
11
|
"@mui/icons-material": "^7.3.4",
|
|
12
12
|
"@mui/material": "^7.3.4",
|
|
13
13
|
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
14
|
-
"@pie-lib/config-ui": "13.0.
|
|
15
|
-
"@pie-lib/editable-html-tip-tap": "2.1.
|
|
16
|
-
"@pie-lib/text-select": "3.0.
|
|
14
|
+
"@pie-lib/config-ui": "13.0.14",
|
|
15
|
+
"@pie-lib/editable-html-tip-tap": "2.1.12",
|
|
16
|
+
"@pie-lib/text-select": "3.0.5",
|
|
17
17
|
"debug": "^4.1.1",
|
|
18
18
|
"lodash-es": "^4.17.23",
|
|
19
19
|
"prop-types": "^15.8.1",
|
package/controller/package.json
CHANGED
package/lib/index.js
CHANGED
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_main","_mathRendering","_utils","SelectText","HTMLElement","constructor","_root","model","m","_model","render","dispatchEvent","ModelSetEvent","tagName","toLowerCase","isSessionComplete","undefined","session","s","_session","generatedModel","generateModel","tokens","selectedTokens","selectedTokenExistsInGeneratedTokens","find","start","tStart","end","tEnd","allAreCorrect","reduce","acc","selectedToken","Array","isArray","length","selectionChanged","selection","SessionChangedEvent","connectedCallback","el","React","createElement","Main","onSelectionChange","bind","createRoot","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport generateModel from './utils';\n\nexport default class SelectText extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined),\n );\n }\n\n set session(s) {\n this._session = s;\n\n if (this._model) {\n const generatedModel = generateModel(this._model) || {};\n const { tokens } = generatedModel;\n let { selectedTokens } = s || {};\n\n selectedTokens = selectedTokens || [];\n\n // This case was introduced mostly for createCorrectSession:\n // make sure initial session tokens are parsed and have correct start and end (according to the regenerated model)\n const selectedTokenExistsInGeneratedTokens = (s) =>\n tokens.find(({ start: tStart, end: tEnd }) => s.start === tStart && s.end === tEnd);\n\n // check if ALL the selectedTokens have the correct start and end\n const allAreCorrect = selectedTokens.reduce(\n (acc, selectedToken) => acc && selectedTokenExistsInGeneratedTokens(selectedToken),\n true,\n );\n\n if (!allAreCorrect) {\n // otherwise, make sure to parse selectedTokens as well\n const generatedModel = generateModel({ ...this._model, tokens: selectedTokens }) || {};\n const { tokens } = generatedModel;\n\n if (tokens) {\n this._session.selectedTokens = tokens;\n }\n }\n }\n\n if (!Array.isArray(this._session.selectedTokens)) {\n this._session.selectedTokens = [];\n }\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n isSessionComplete() {\n const { selectedTokens } = this._session || {};\n return Array.isArray(selectedTokens) && selectedTokens.length > 0;\n }\n\n selectionChanged(selection) {\n this._session.selectedTokens = selection;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));\n }\n\n connectedCallback() {\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSelectionChange: this.selectionChanged.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_main","_mathRendering","_utils","SelectText","HTMLElement","constructor","_root","model","m","_model","render","dispatchEvent","ModelSetEvent","tagName","toLowerCase","isSessionComplete","undefined","session","s","_session","generatedModel","generateModel","tokens","selectedTokens","selectedTokenExistsInGeneratedTokens","find","start","tStart","end","tEnd","allAreCorrect","reduce","acc","selectedToken","Array","isArray","length","selectionChanged","selection","SessionChangedEvent","connectedCallback","el","React","createElement","Main","onSelectionChange","bind","createRoot","queueMicrotask","renderMath","disconnectedCallback","unmount","exports","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { SessionChangedEvent, ModelSetEvent } from '@pie-framework/pie-player-events';\nimport Main from './main';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport generateModel from './utils';\n\nexport default class SelectText extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n\n this.render();\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.isSessionComplete(), this._model !== undefined),\n );\n }\n\n set session(s) {\n this._session = s;\n\n if (this._model) {\n const generatedModel = generateModel(this._model) || {};\n const { tokens } = generatedModel;\n let { selectedTokens } = s || {};\n\n selectedTokens = selectedTokens || [];\n\n // This case was introduced mostly for createCorrectSession:\n // make sure initial session tokens are parsed and have correct start and end (according to the regenerated model)\n const selectedTokenExistsInGeneratedTokens = (s) =>\n tokens.find(({ start: tStart, end: tEnd }) => s.start === tStart && s.end === tEnd);\n\n // check if ALL the selectedTokens have the correct start and end\n const allAreCorrect = selectedTokens.reduce(\n (acc, selectedToken) => acc && selectedTokenExistsInGeneratedTokens(selectedToken),\n true,\n );\n\n if (!allAreCorrect) {\n // otherwise, make sure to parse selectedTokens as well\n const generatedModel = generateModel({ ...this._model, tokens: selectedTokens }) || {};\n const { tokens } = generatedModel;\n\n if (tokens) {\n this._session.selectedTokens = tokens;\n }\n }\n }\n\n if (!Array.isArray(this._session.selectedTokens)) {\n this._session.selectedTokens = [];\n }\n this.render();\n }\n\n get session() {\n return this._session;\n }\n\n isSessionComplete() {\n const { selectedTokens } = this._session || {};\n return Array.isArray(selectedTokens) && selectedTokens.length > 0;\n }\n\n selectionChanged(selection) {\n this._session.selectedTokens = selection;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isSessionComplete()));\n }\n\n connectedCallback() {\n this.render();\n }\n\n render() {\n if (this._model && this._session) {\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSelectionChange: this.selectionChanged.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n this._root = null;\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/lib/main.js
CHANGED
|
@@ -7,10 +7,12 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
exports.default = exports.Main = void 0;
|
|
8
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
9
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
10
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
12
|
var _textSelect = require("@pie-lib/text-select");
|
|
12
13
|
var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
|
|
13
14
|
var _renderUi = require("@pie-lib/render-ui");
|
|
15
|
+
var _mathRendering = require("@pie-lib/math-rendering");
|
|
14
16
|
var _styles = require("@mui/material/styles");
|
|
15
17
|
var _utils = _interopRequireDefault(require("./utils"));
|
|
16
18
|
var _debug = _interopRequireDefault(require("debug"));
|
|
@@ -67,6 +69,16 @@ class Main extends _react.default.Component {
|
|
|
67
69
|
model: (0, _utils.default)(nextProps.model)
|
|
68
70
|
});
|
|
69
71
|
}
|
|
72
|
+
componentDidMount() {
|
|
73
|
+
// eslint-disable-next-line react/no-find-dom-node
|
|
74
|
+
const domNode = _reactDom.default.findDOMNode(this);
|
|
75
|
+
(0, _mathRendering.renderMath)(domNode);
|
|
76
|
+
}
|
|
77
|
+
componentDidUpdate() {
|
|
78
|
+
// eslint-disable-next-line react/no-find-dom-node
|
|
79
|
+
const domNode = _reactDom.default.findDOMNode(this);
|
|
80
|
+
(0, _mathRendering.renderMath)(domNode);
|
|
81
|
+
}
|
|
70
82
|
render() {
|
|
71
83
|
const {
|
|
72
84
|
session,
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_textSelect","_correctAnswerToggle","_renderUi","_styles","_utils","_debug","log","debug","StyledUiLayout","styled","UiLayout","color","text","backgroundColor","background","StyledTextSelect","TextSelect","theme","marginBottom","spacing","marginTop","whiteSpace","Prompt","verticalAlign","StyledCollapsible","Collapsible","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","React","Component","constructor","props","_defineProperty2","default","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","generateModel","UNSAFE_componentWillReceiveProps","nextProps","render","env","extraCSSRules","mode","selectedTokens","correctAnswer","showRationale","rationale","hasText","hasMedia","showTeacherInstructions","teacherInstructions","createElement","animationsDisabled","labels","hidden","visible","PreviewPrompt","prompt","show","disabled","incorrect","toggled","onToggle","toggleShowCorrect","language","onChange","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxNoOfSelections","maxSelections","Legend","showOnlyCorrect","correctness","feedback","Feedback","exports","Stateful","change"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect, Legend } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport { styled } from '@mui/material/styles';\nimport generateModel from './utils';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst StyledUiLayout = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst StyledTextSelect = styled(TextSelect)(({ theme }) => ({\n marginBottom: theme.spacing(1),\n marginTop: theme.spacing(2),\n whiteSpace: 'normal',\n}));\n\nconst Prompt = styled('div')(({ theme }) => ({\n verticalAlign: 'middle',\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledCollapsible = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\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;\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 } = this.props;\n const { showCorrectAnswer, model } = this.state;\n const { env, extraCSSRules } = model;\n const { mode } = env || {};\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <StyledUiLayout extraCSSRules={extraCSSRules}>\n {showTeacherInstructions &&\n (!model.animationsDisabled ? (\n <StyledCollapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </StyledCollapsible>\n ) : (\n <Prompt>\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Prompt>\n ))}\n\n <Prompt>\n <PreviewPrompt prompt={model.prompt} />\n </Prompt>\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 <StyledTextSelect\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 <StyledCollapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n >\n <PreviewPrompt prompt={model.rationale} />\n </StyledCollapsible>\n ) : (\n <Prompt>\n <PreviewPrompt prompt={model.rationale} />\n </Prompt>\n ))}\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </StyledUiLayout>\n );\n }\n}\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 <Main model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_reactDom","_propTypes","_textSelect","_correctAnswerToggle","_renderUi","_mathRendering","_styles","_utils","_debug","log","debug","StyledUiLayout","styled","UiLayout","color","text","backgroundColor","background","StyledTextSelect","TextSelect","theme","marginBottom","spacing","marginTop","whiteSpace","Prompt","verticalAlign","StyledCollapsible","Collapsible","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","React","Component","constructor","props","_defineProperty2","default","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","generateModel","UNSAFE_componentWillReceiveProps","nextProps","componentDidMount","domNode","ReactDOM","findDOMNode","renderMath","componentDidUpdate","render","env","extraCSSRules","mode","selectedTokens","correctAnswer","showRationale","rationale","hasText","hasMedia","showTeacherInstructions","teacherInstructions","createElement","animationsDisabled","labels","hidden","visible","PreviewPrompt","prompt","show","disabled","incorrect","toggled","onToggle","toggleShowCorrect","language","onChange","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxNoOfSelections","maxSelections","Legend","showOnlyCorrect","correctness","feedback","Feedback","exports","Stateful","change"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport PropTypes from 'prop-types';\nimport { TextSelect, Legend } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { styled } from '@mui/material/styles';\nimport generateModel from './utils';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst StyledUiLayout = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst StyledTextSelect = styled(TextSelect)(({ theme }) => ({\n marginBottom: theme.spacing(1),\n marginTop: theme.spacing(2),\n whiteSpace: 'normal',\n}));\n\nconst Prompt = styled('div')(({ theme }) => ({\n verticalAlign: 'middle',\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledCollapsible = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\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;\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 componentDidMount() {\n // eslint-disable-next-line react/no-find-dom-node\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\n }\n\n componentDidUpdate() {\n // eslint-disable-next-line react/no-find-dom-node\n const domNode = ReactDOM.findDOMNode(this);\n\n renderMath(domNode);\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 } = this.props;\n const { showCorrectAnswer, model } = this.state;\n const { env, extraCSSRules } = model;\n const { mode } = env || {};\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <StyledUiLayout extraCSSRules={extraCSSRules}>\n {showTeacherInstructions &&\n (!model.animationsDisabled ? (\n <StyledCollapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </StyledCollapsible>\n ) : (\n <Prompt>\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Prompt>\n ))}\n\n <Prompt>\n <PreviewPrompt prompt={model.prompt} />\n </Prompt>\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 <StyledTextSelect\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 <StyledCollapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n >\n <PreviewPrompt prompt={model.rationale} />\n </StyledCollapsible>\n ) : (\n <Prompt>\n <PreviewPrompt prompt={model.rationale} />\n </Prompt>\n ))}\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </StyledUiLayout>\n );\n }\n}\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 <Main model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
7
|
-
"version": "13.1.1-next.
|
|
7
|
+
"version": "13.1.1-next.123+cef96a516",
|
|
8
8
|
"description": "",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@emotion/react": "^11.14.0",
|
|
@@ -12,17 +12,17 @@
|
|
|
12
12
|
"@mui/icons-material": "^7.3.4",
|
|
13
13
|
"@mui/material": "^7.3.4",
|
|
14
14
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
15
|
-
"@pie-lib/correct-answer-toggle": "4.0.
|
|
16
|
-
"@pie-lib/math-rendering": "5.0
|
|
17
|
-
"@pie-lib/render-ui": "6.1.
|
|
18
|
-
"@pie-lib/text-select": "3.0.
|
|
15
|
+
"@pie-lib/correct-answer-toggle": "4.0.5",
|
|
16
|
+
"@pie-lib/math-rendering": "5.1.0",
|
|
17
|
+
"@pie-lib/render-ui": "6.1.3",
|
|
18
|
+
"@pie-lib/text-select": "3.0.5",
|
|
19
19
|
"prop-types": "^15.8.1",
|
|
20
20
|
"react": "18.3.1",
|
|
21
21
|
"react-dom": "18.3.1"
|
|
22
22
|
},
|
|
23
23
|
"author": "",
|
|
24
24
|
"license": "ISC",
|
|
25
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "cef96a516506454b98b46b92958a23bb757665a1",
|
|
26
26
|
"scripts": {
|
|
27
27
|
"postpublish": "../../scripts/postpublish"
|
|
28
28
|
},
|