@pie-element/select-text 9.5.11-next.0 → 9.5.11-next.17

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.
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","radio","dropdown","log","Design","props","val","apply","u","text","tokens","event","updateText","target","value","mode","correctTokenCount","filter","t","correct","length","max","isFinite","maxSelections","Math","fn","onModelChanged","model","update","feedback","partialScoring","prompt","teacherInstructions","rationale","state","nProps","setState","textValue","classes","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","baseInputConfiguration","correctAnswer","contentDimensions","highlightChoices","selectionCount","selections","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","language","languageChoices","errors","extraCSSRules","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","promptError","rationaleError","selectionsError","teacherInstructionsError","tokensError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","tokensModel","toolbarOpts","position","panelSettings","label","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","getPluginProps","Settings","Properties","promptHolder","onTeacherInstructionsChanged","inputConfiguration","errorText","onPromptChanged","input","changeText","tokenizerContainer","tooltip","left","top","tokenizer","changeTokens","tokensDetails","chip","changeMaxSelections","numberField","onRationaleChanged","changeFeedback","React","Component","PropTypes","object","isRequired","func","shape","add","theme","paddingRight","marginRight","bottom","right","height","content","backgroundColor","palette","primary","main","marginBottom","spacing","unit","marginTop","width","mainOpts","justifyContent","display","alignItems","paddingTop","flexWrap","margin","fontSize","typography","whiteSpace","maxWidth","color","error"],"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/pie-toolbox/text-select';\nimport { InputContainer, NumberTextField, FeedbackConfig, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport Chip from '@material-ui/core/Chip';\nimport Info from '@material-ui/icons/Info';\nimport debug from 'debug';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { generateValidationMessage } from './utils';\n\nconst { Panel, toggle, radio, dropdown } = 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 uploadSoundSupport: PropTypes.object,\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) => this.updateText(event.target.value);\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\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\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({ ...model, rationale });\n };\n\n render() {\n const { text: textValue } = this.state;\n const { classes, configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n baseInputConfiguration = {},\n correctAnswer = {},\n contentDimensions = {},\n feedback = {},\n highlightChoices = {},\n mode = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n selectionCount = {},\n selections = {},\n settingsPanelDisabled,\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n text = {},\n tokens = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const {\n prompt: promptError,\n rationale: rationaleError,\n selectionsError,\n teacherInstructions: teacherInstructionsError,\n tokensError,\n } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n let { tokens: tokensModel } = model;\n tokensModel = tokensModel || [];\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n log('[render] maxSelections:', model.maxSelections);\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n highlightChoices: highlightChoices.settings && toggle(highlightChoices.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label || ''} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n {text.settings && (\n <InputContainer label={text.label || ''} className={classes.promptHolder}>\n <TextField\n className={classes.input}\n multiline\n defaultValue={textValue}\n onChange={this.changeText}\n spellCheck={spellCheckEnabled}\n />\n </InputContainer>\n )}\n\n {tokens.settings && (\n <InputContainer label={tokens.label || ''} className={classes.tokenizerContainer}>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} style={{ position: 'absolute', left: '48px', top: '-3px' }} />\n </Tooltip>\n\n <Tokenizer\n className={classes.tokenizer}\n text={model.text}\n tokens={tokensModel}\n onChange={this.changeTokens}\n />\n </InputContainer>\n )}\n {tokensError && <div className={classes.errorText}>{tokensError}</div>}\n {selectionsError && <div className={classes.errorText}>{selectionsError}</div>}\n\n <div className={classes.tokensDetails}>\n {mode.settings && (\n <Chip label={`${mode.label}: ${model.mode ? model.mode : 'None'}`} className={classes.chip} />\n )}\n\n {selections.settings && (\n <Chip label={`${selections.label}: ${tokensModel.length}`} className={classes.chip} />\n )}\n\n {correctAnswer.settings && (\n <Chip\n label={`${correctAnswer.label}: ${tokensModel.filter((t) => t.correct).length}`}\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 </div>\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || ''} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.rationale?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.changeFeedback} toolbarOpts={toolbarOpts} />\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles((theme) => ({\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 marginTop: theme.spacing.unit / 2,\n marginRight: theme.spacing.unit * 2,\n },\n input: {\n width: '100%',\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 paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n tokensDetails: {\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 2.5,\n },\n numberField: {\n width: '180px',\n margin: `${theme.spacing.unit / 2}px auto 0`,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n}))(Design);\n"],"file":"design.js"}
1
+ {"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","radio","dropdown","log","Design","props","val","apply","u","text","tokens","updateText","clearTokens","event","target","value","mode","correctTokenCount","filter","t","correct","length","max","isFinite","maxSelections","Math","fn","onModelChanged","model","update","feedback","partialScoring","prompt","teacherInstructions","rationale","elems","annotation","classes","id","forEach","elem","dataset","className","token","selectedElems","selectionDetails","start","end","Date","getTime","join","createDOMAnnotation","type","annotations","onChange","createNewAnnotation","labelElem","push","setState","openedMenu","openedEditor","annotationIndex","html","onClickHandler","container","document","createElement","innerHTML","splitSentences","pattern","matches","match","processNode","node","nodeType","Node","TEXT_NODE","sentences","textContent","fragment","createDocumentFragment","sentence","trim","span","addEventListener","e","appendChild","createTextNode","replaceWith","ELEMENT_NODE","Array","from","childNodes","selection","window","getSelection","detail","rangeCount","wrapSelectionInSpan","correctMode","state","classList","tokenizedText","tokenized","wrapWordsInSpans","handleTokenClick","console","wrapSentencesInSpans","textRef","wrapParagraphContentInSpan","selectMode","nProps","onClick","words","split","word","querySelectorAll","p","firstChild","range","getRangeAt","collapsed","contents","extractContents","insertNode","removeAllRanges","textValue","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","baseInputConfiguration","correctAnswer","contentDimensions","highlightChoices","selectionCount","selections","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","mathMlOptions","language","languageChoices","errors","extraCSSRules","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","promptError","rationaleError","selectionsError","teacherInstructionsError","tokensError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","tokensModel","toolbarOpts","position","panelSettings","label","enabled","options","panelProperties","studentInstructionsEnabled","rubricEnabled","getPluginProps","Settings","Properties","promptHolder","onTeacherInstructionsChanged","inputConfiguration","errorText","onPromptChanged","subheader","selectWords","selectSentences","selectParagraphs","textContainer","r","clearSelection","handleSelection","__html","changeText","onRationaleChanged","changeFeedback","React","Component","PropTypes","object","isRequired","func","shape","add","theme","tokenizerContainer","paddingRight","marginRight","bottom","left","right","height","content","backgroundColor","palette","primary","main","marginBottom","spacing","unit","chip","marginTop","input","width","tokenizer","mainOpts","justifyContent","display","alignItems","paddingTop","tokensDetails","flexWrap","numberField","margin","tooltip","fontSize","typography","whiteSpace","maxWidth","color","error","paddingBottom","borderBottom","padding","border","borderRadius","overflowY","overflowWrap","userSelect","cursor"],"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, Controls } from '@pie-lib/pie-toolbox/text-select';\nimport { InputContainer, NumberTextField, FeedbackConfig, settings, layout } from '@pie-lib/pie-toolbox/config-ui';\nimport Chip from '@material-ui/core/Chip';\nimport Info from '@material-ui/icons/Info';\nimport debug from 'debug';\nimport { EditableHtml } from '@pie-lib/pie-toolbox/editable-html';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { generateValidationMessage } from './utils';\nimport {\n clearSelection,\n getDOMNodes,\n getLabelElement,\n getRangeDetails,\n isSideLabel,\n wrapRange,\n} from '@pie-element/extended-text-entry/src/annotation/annotation-utils';\nimport classNames from 'classnames';\n\nimport Switch from '@material-ui/core/Switch';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\n\nconst { Panel, toggle, radio, dropdown } = 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 uploadSoundSupport: PropTypes.object,\n };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n const { model } = this.props;\n\n this.state = {\n correctMode: false,\n selectMode: false,\n text: (model && model.text) || '',\n tokenizedText: (model && model.token) || '',\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 tokenizedText: model.text,\n });\n\n // model.tokens.forEach((annotation) => {\n // console.log('annotation', annotation);\n // const [domStart, domEnd] = getDOMNodes(annotation.start, annotation.end, this.textRef);\n // console.log('domStart, domEnd', domStart, domEnd);\n //\n // if (domStart && domEnd) {\n // const range = document.createRange();\n //\n // range.setStart(domStart.node, domStart.offset);\n // range.setEnd(domEnd.node, domEnd.offset);\n //\n // const spans = wrapRange(range);\n //\n // this.createDOMAnnotation(spans, annotation);\n // }\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 = (text) => {\n this.updateText(text);\n this.clearTokens();\n };\n\n changeTextEvent = (event) => this.updateText(event.target.value);\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\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\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({ ...model, rationale });\n };\n\n // Highlight functionalities based on extended-text-entry\n\n createDOMAnnotation = (elems, annotation) => {\n const { classes } = this.props;\n const { id } = annotation;\n\n (elems || []).forEach((elem) => {\n elem.dataset.id = id;\n elem.className = classNames(classes.token);\n // elem.onclick = !disabled && this.handleClick;\n // elem.onmouseover = this.handleHover;\n // elem.onmouseout = this.handleCancelHover;\n });\n };\n\n createNewAnnotation = (selectedElems, selectionDetails) => {\n const annotation = {\n id: [selectionDetails.start, selectionDetails.end, new Date().getTime()].join('-'),\n ...selectionDetails,\n };\n\n this.createDOMAnnotation(selectedElems, annotation);\n\n return annotation;\n };\n\n addAnnotation = (type) => {\n const { annotations, onChange } = this.props;\n const annotation = this.createNewAnnotation('', type);\n const labelElem = getLabelElement(annotation.id);\n\n annotations.push(annotation);\n\n this.setState({\n openedMenu: false,\n openedEditor: true,\n annotationIndex: annotations.length - 1,\n annotation,\n labelElem,\n });\n\n onChange(annotations);\n };\n\n // new functionalities\n\n wrapWordsInSpans(html, onClick) {\n const { classes } = this.props;\n const container = document.createElement('div');\n container.innerHTML = html;\n\n const processNode = (node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const words = node.textContent.split(/(\\s+|\\b)/); // split by word boundaries + spaces\n const fragment = document.createDocumentFragment();\n\n for (const word of words) {\n if (word.trim()) {\n const span = document.createElement('span');\n\n span.className = classNames(classes.token);\n span.addEventListener('click', (e) => onClick(e));\n span.textContent = word;\n fragment.appendChild(span);\n } else {\n fragment.appendChild(document.createTextNode(word));\n }\n }\n\n node.replaceWith(fragment);\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n Array.from(node.childNodes).forEach(processNode);\n }\n };\n\n Array.from(container.childNodes).forEach(processNode);\n\n return container.innerHTML;\n }\n\n wrapSentencesInSpans = (html, onClickHandler = null) => {\n const { classes } = this.props;\n const container = document.createElement('div');\n container.innerHTML = html;\n\n const splitSentences = (text) => {\n // Match sentences ending with punctuation:\n // \".\" or \"!\" or \"?\"\n const pattern = /([^.!?]+[.!?]+[\\s\"]*)|([^.!?]+$)/g;\n const matches = text.match(pattern);\n return matches || [];\n };\n\n const processNode = (node) => {\n if (node.nodeType === Node.TEXT_NODE) {\n const sentences = splitSentences(node.textContent);\n const fragment = document.createDocumentFragment();\n\n for (const sentence of sentences) {\n if (sentence.trim()) {\n const span = document.createElement('span');\n span.textContent = sentence;\n span.className = classNames(classes.token);\n\n if (onClickHandler) {\n span.addEventListener('click', (e) => {\n onClickHandler(e, sentence);\n });\n }\n\n fragment.appendChild(span);\n } else {\n fragment.appendChild(document.createTextNode(sentence));\n }\n }\n\n node.replaceWith(fragment);\n } else if (node.nodeType === Node.ELEMENT_NODE) {\n Array.from(node.childNodes).forEach(processNode);\n }\n };\n\n Array.from(container.childNodes).forEach(processNode);\n\n return container;\n };\n\n wrapParagraphContentInSpan(html) {\n const { classes } = this.props;\n const container = document.createElement('div');\n container.innerHTML = html;\n\n container.querySelectorAll('p').forEach((p) => {\n const span = document.createElement('span');\n span.className = classNames(classes.token);\n span.addEventListener('click', this.handleTokenClick);\n\n // Move all children of <p> into the span\n while (p.firstChild) {\n span.appendChild(p.firstChild);\n }\n\n p.appendChild(span);\n });\n\n return container;\n }\n\n wrapSelectionInSpan(selection) {\n const { classes } = this.props;\n const range = selection.getRangeAt(0);\n\n if (range.collapsed) {\n console.log('Selection is collapsed (no text selected).');\n return;\n }\n\n // Extract the contents of the selection\n const contents = range.extractContents();\n\n // Create the span wrapper\n const span = document.createElement('span');\n span.className = classNames(classes.token);\n span.addEventListener('click', this.handleTokenClick);\n span.appendChild(contents);\n\n // Insert back into the DOM\n range.insertNode(span);\n\n // Collapse the selection\n selection.removeAllRanges();\n }\n\n handleSelection = (event) => {\n const selection = window.getSelection();\n\n // prevent unwanted selections\n if (event.detail > 2) {\n clearSelection();\n return;\n }\n\n if (selection && selection.rangeCount > 0) {\n this.wrapSelectionInSpan(selection);\n clearSelection();\n }\n };\n\n handleTokenClick = (event) => {\n const { correctMode } = this.state;\n\n if (!correctMode) {\n return;\n }\n\n event.target.classList.toggle('correct');\n };\n\n clearTokens = () => {\n const { text } = this.state;\n\n this.setState({ tokenizedText: text });\n };\n\n selectWords = () => {\n const { text } = this.state;\n this.clearTokens();\n const tokenized = this.wrapWordsInSpans(text, (e) => this.handleTokenClick(e));\n\n console.log('words:', tokenized);\n\n this.setState({ tokenizedText: tokenized });\n };\n\n selectSentences = () => {\n const { text } = this.state;\n this.clearTokens();\n const container = this.wrapSentencesInSpans(text);\n\n // Remove all children and add new content\n this.textRef.innerHTML = '';\n this.textRef.appendChild(container);\n\n const tokenized = container.innerHTML;\n console.log('sentences:', tokenized);\n // this.setState({ tokenizedText: tokenized });\n };\n\n selectParagraphs = () => {\n const { text } = this.state;\n this.clearTokens();\n const container = this.wrapParagraphContentInSpan(text);\n\n // Remove all children and add new content\n this.textRef.innerHTML = '';\n this.textRef.appendChild(container);\n\n const tokenized = container.innerHTML;\n console.log('paragraphs:', tokenized);\n // this.setState({ tokenizedText: tokenized });\n };\n\n render() {\n const { text: textValue, correctMode, selectMode, tokenizedText } = this.state;\n const { classes, configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n const {\n baseInputConfiguration = {},\n correctAnswer = {},\n contentDimensions = {},\n feedback = {},\n highlightChoices = {},\n mode = {},\n partialScoring = {},\n prompt = {},\n rationale = {},\n selectionCount = {},\n selections = {},\n settingsPanelDisabled,\n scoringType = {},\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n text = {},\n tokens = {},\n maxImageWidth = {},\n maxImageHeight = {},\n withRubric = {},\n mathMlOptions = {},\n language = {},\n languageChoices = {},\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const {\n prompt: promptError,\n rationale: rationaleError,\n selectionsError,\n teacherInstructions: teacherInstructionsError,\n tokensError,\n } = errors || {};\n const validationMessage = generateValidationMessage(configuration);\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n let { tokens: tokensModel } = model;\n tokensModel = tokensModel || [];\n\n const toolbarOpts = {\n position: toolbarEditorPosition === 'top' ? 'top' : 'bottom',\n };\n\n log('[render] maxSelections:', model.maxSelections);\n\n const panelSettings = {\n partialScoring: partialScoring.settings && toggle(partialScoring.label),\n highlightChoices: highlightChoices.settings && toggle(highlightChoices.label),\n feedbackEnabled: feedback.settings && toggle(feedback.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['auto', 'rubric']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={(model) => onModelChanged(model)}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelSettings,\n Properties: panelProperties,\n }}\n />\n }\n >\n {teacherInstructionsEnabled && (\n <InputContainer label={teacherInstructions.label} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChanged}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.teacherInstructions?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <div className={classes.errorText}>{teacherInstructionsError}</div>}\n </InputContainer>\n )}\n\n {promptEnabled && (\n <InputContainer label={prompt.label || ''} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.prompt}\n onChange={this.onPromptChanged}\n imageSupport={imageSupport}\n error={promptError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.prompt?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <div className={classes.errorText}>{promptError}</div>}\n </InputContainer>\n )}\n\n {/*{text.settings && (*/}\n {/* <InputContainer label={text.label || ''} className={classes.promptHolder}>*/}\n {/* <TextField*/}\n {/* className={classes.input}*/}\n {/* multiline*/}\n {/* defaultValue={textValue}*/}\n {/* onChange={this.changeTextEvent}*/}\n {/* spellCheck={spellCheckEnabled}*/}\n {/* />*/}\n {/* </InputContainer>*/}\n {/*)}*/}\n\n {/*{tokens.settings && (*/}\n {/* <InputContainer label={tokens.label || ''} className={classes.tokenizerContainer}>*/}\n {/* <Tooltip*/}\n {/* classes={{ tooltip: classes.tooltip }}*/}\n {/* disableFocusListener*/}\n {/* disableTouchListener*/}\n {/* placement={'right'}*/}\n {/* title={validationMessage}*/}\n {/* >*/}\n {/* <Info fontSize={'small'} color={'primary'} style={{ position: 'absolute', left: '48px', top: '-3px' }} />*/}\n {/* </Tooltip>*/}\n\n {/* <Tokenizer*/}\n {/* className={classes.tokenizer}*/}\n {/* text={model.text}*/}\n {/* tokens={tokensModel}*/}\n {/* onChange={this.changeTokens}*/}\n {/* />*/}\n {/* </InputContainer>*/}\n {/*)}*/}\n {/*{tokensError && <div className={classes.errorText}>{tokensError}</div>}*/}\n {/*{selectionsError && <div className={classes.errorText}>{selectionsError}</div>}*/}\n\n {/*<div className={classes.tokensDetails}>*/}\n {/* {mode.settings && (*/}\n {/* <Chip label={`${mode.label}: ${model.mode ? model.mode : 'None'}`} className={classes.chip} />*/}\n {/* )}*/}\n\n {/* {selections.settings && (*/}\n {/* <Chip label={`${selections.label}: ${tokensModel.length}`} className={classes.chip} />*/}\n {/* )}*/}\n\n {/* {correctAnswer.settings && (*/}\n {/* <Chip*/}\n {/* label={`${correctAnswer.label}: ${tokensModel.filter((t) => t.correct).length}`}*/}\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 {/*</div>*/}\n\n <div className={classes.subheader}>\n NEW functionality\n <FormControlLabel\n control={<Switch checked={selectMode} onChange={() => this.setState({ selectMode: !selectMode })} />}\n label=\"Select tokens\"\n />\n </div>\n\n {selectMode && (\n <Controls\n onClear={this.clearTokens}\n onWords={this.selectWords}\n onSentences={this.selectSentences}\n onParagraphs={this.selectParagraphs}\n setCorrectMode={correctMode}\n onToggleCorrectMode={() => this.setState({ correctMode: !correctMode })}\n />\n )}\n\n {text.settings && (\n <InputContainer label={text.label || ''} className={classes.promptHolder}>\n {selectMode ? (\n <div\n className={classes.textContainer}\n ref={(r) => (this.textRef = r)}\n onMouseDown={selectMode && !correctMode ? clearSelection : () => {}}\n onMouseUp={selectMode && !correctMode ? this.handleSelection : () => {}}\n dangerouslySetInnerHTML={{ __html: tokenizedText }}\n />\n ) : (\n <EditableHtml\n className={classes.prompt}\n markup={textValue}\n onChange={this.changeText}\n nonEmpty={false}\n disableUnderline\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(text?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n imageSupport={imageSupport}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n )}\n </InputContainer>\n )}\n\n {rationaleEnabled && (\n <InputContainer label={rationale.label || ''} className={classes.promptHolder}>\n <EditableHtml\n className={classes.prompt}\n markup={model.rationale || ''}\n onChange={this.onRationaleChanged}\n imageSupport={imageSupport}\n error={rationaleError}\n toolbarOpts={toolbarOpts}\n pluginProps={getPluginProps(configuration?.rationale?.inputConfiguration)}\n spellCheck={spellCheckEnabled}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <div className={classes.errorText}>{rationaleError}</div>}\n </InputContainer>\n )}\n\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.changeFeedback} toolbarOpts={toolbarOpts} />\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default withStyles((theme) => ({\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 marginTop: theme.spacing.unit / 2,\n marginRight: theme.spacing.unit * 2,\n },\n input: {\n width: '100%',\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 paddingTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n tokensDetails: {\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n marginBottom: theme.spacing.unit * 2.5,\n },\n numberField: {\n width: '180px',\n margin: `${theme.spacing.unit / 2}px auto 0`,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing.unit,\n },\n\n subheader: {\n paddingBottom: '8px',\n borderBottom: '1px solid grey',\n marginBottom: '16px',\n marginTop: '24px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n textContainer: {\n padding: '15px 21px',\n border: '1px solid #ccc',\n borderRadius: '4px',\n overflowY: 'scroll',\n whiteSpace: 'pre-wrap',\n overflowWrap: 'break-word',\n '& p': {\n margin: 0,\n },\n '& span[data-latex]': {\n userSelect: 'none',\n '-webkit-user-select': 'none',\n '-moz-user-select': 'none',\n '-ms-user-select': 'none',\n },\n },\n token: {\n position: 'relative',\n cursor: 'pointer',\n backgroundColor: '#fff9c4',\n\n '&:hover': {\n backgroundColor: '#E5E0B0',\n },\n\n '&.correct': {\n backgroundColor: '#4caf50',\n },\n },\n}))(Design);\n"],"file":"design.js"}
@@ -8,7 +8,7 @@
8
8
  "dependencies": {
9
9
  "@material-ui/core": "^3.9.2",
10
10
  "@pie-framework/pie-configure-events": "^1.3.0",
11
- "@pie-lib/pie-toolbox": "2.19.0",
11
+ "@pie-lib/pie-toolbox": "2.20.0",
12
12
  "debug": "^3.1.0",
13
13
  "lodash": "^4.17.15",
14
14
  "prop-types": "^15.6.2",
@@ -6,7 +6,7 @@
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "dependencies": {
9
- "@pie-lib/pie-toolbox": "2.19.0",
9
+ "@pie-lib/pie-toolbox": "2.20.0",
10
10
  "debug": "^3.1.0",
11
11
  "lodash": "^4.17.15"
12
12
  },
@@ -1,11 +1,11 @@
1
1
  const tokens = () => [
2
2
  {
3
- text: 'If \'tweren\'t for sight and sound and smell,',
3
+ text: "If 'tweren't for sight and sound and smell,",
4
4
  start: 0,
5
5
  end: 43,
6
6
  },
7
7
  {
8
- text: 'I\'d like the city pretty well,',
8
+ text: "I'd like the city pretty well,",
9
9
  start: 44,
10
10
  end: 74,
11
11
  },
@@ -25,7 +25,7 @@ const tokens = () => [
25
25
  end: 176,
26
26
  },
27
27
  {
28
- text: 'Just quit the city\'s din and dust,',
28
+ text: "Just quit the city's din and dust,",
29
29
  start: 177,
30
30
  end: 211,
31
31
  },
@@ -212,7 +212,6 @@ exports.htmlAscii = (id, element) => ({
212
212
  ],
213
213
  });
214
214
 
215
-
216
215
  exports.model = (id, element) => {
217
216
  return Object.assign(
218
217
  {},
@@ -225,52 +224,109 @@ exports.model = (id, element) => {
225
224
  '<p>Select the sentence from&#160;&#34;The Gymnast&#34; that <span class="relative-emphasis">best</span> represents the theme.</p>',
226
225
  rationale:
227
226
  '<p>The final sentence of the passage best exemplifies the theme of the short story because Natasha&#39;s practice and determination finally pays off.</p>',
227
+ // tokens: [
228
+ // {
229
+ // text: 'She thought about what she had to do, struggling to rein in her wild, fearful thoughts.',
230
+ // end: 90,
231
+ // start: 3,
232
+ // correct: false,
233
+ // },
234
+ // {
235
+ // start: 449,
236
+ // end: 585,
237
+ // text: 'Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.',
238
+ // correct: false,
239
+ // },
240
+ // {
241
+ // end: 627,
242
+ // correct: false,
243
+ // text: 'At last Natasha\'s moment arrived.',
244
+ // start: 594,
245
+ // },
246
+ // {
247
+ // end: 743,
248
+ // text: 'The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination.',
249
+ // correct: false,
250
+ // start: 628,
251
+ // },
252
+ // {
253
+ // text: 'Suddenly, the din of the gymnasium was silent to her.',
254
+ // end: 997,
255
+ // correct: false,
256
+ // start: 944,
257
+ // },
258
+ // {
259
+ // end: 1087,
260
+ // start: 998,
261
+ // correct: false,
262
+ // text: 'Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her.',
263
+ // },
264
+ // {
265
+ // correct: true,
266
+ // start: 1088,
267
+ // end: 1225,
268
+ // text: 'Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.',
269
+ // },
270
+ // ],
271
+ // "element": "select-text",
272
+ // text: '<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn\'t as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings\'s fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha\'s moment arrived. The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination. "I am talented. I am not afraid. I will make a perfect 10," she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n',
228
273
  tokens: [
229
- {
230
- text: 'She thought about what she had to do, struggling to rein in her wild, fearful thoughts.',
231
- end: 90,
232
- start: 3,
233
- correct: false,
234
- },
235
- {
236
- start: 449,
237
- end: 585,
238
- text: 'Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.',
239
- correct: false,
240
- },
241
- {
242
- end: 627,
243
- correct: false,
244
- text: 'At last Natasha\'s moment arrived.',
245
- start: 594,
246
- },
247
- {
248
- end: 743,
249
- text: 'The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination.',
250
- correct: false,
251
- start: 628,
252
- },
253
- {
254
- text: 'Suddenly, the din of the gymnasium was silent to her.',
255
- end: 997,
256
- correct: false,
257
- start: 944,
258
- },
259
- {
260
- end: 1087,
261
- start: 998,
262
- correct: false,
263
- text: 'Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her.',
264
- },
265
- {
266
- correct: true,
267
- start: 1088,
268
- end: 1225,
269
- text: 'Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.',
270
- },
274
+ // {
275
+ // id: '0-30-1751440197593',
276
+ // quote: 'She thought about what she had',
277
+ // start: 0,
278
+ // end: 30,
279
+ // },
280
+ // {
281
+ // id: '185-206-1751440199435',
282
+ // quote: 'o please her Coach, y',
283
+ // start: 185,
284
+ // end: 206,
285
+ // },
286
+ // {
287
+ // id: '356-379-1751440202337',
288
+ // quote: 'e much more humorous to',
289
+ // start: 356,
290
+ // end: 379,
291
+ // },
292
+ // {
293
+ // id: '0-88-1751443110733',
294
+ // quote: 'She thought about what she had to do, struggling to rein in her wild, fearful thoughts. ',
295
+ // start: 0,
296
+ // end: 88,
297
+ // },
298
+ // {
299
+ // id: '590-607-1751443116013',
300
+ // quote: "Át last Ñatasha's",
301
+ // start: 590,
302
+ // end: 607,
303
+ // },
304
+ // {
305
+ // id: '624-641-1751443118643',
306
+ // quote: 'The faces of past',
307
+ // start: 624,
308
+ // end: 641,
309
+ // },
310
+ // {
311
+ // id: '1223-1231-1751443121777',
312
+ // quote: 'header 2',
313
+ // start: 1223,
314
+ // end: 1231,
315
+ // },
316
+ // {
317
+ // id: '358-376-1751443129379',
318
+ // quote: '»»» were much more',
319
+ // start: 358,
320
+ // end: 376,
321
+ // },
322
+ // {
323
+ // id: '137-154-1751443132310',
324
+ // quote: 'mind never scored',
325
+ // start: 137,
326
+ // end: 154,
327
+ // },
271
328
  ],
272
- // "element": "select-text",
273
- text: '<p>She thought about what she had to do, struggling to rein in her wild, fearful thoughts. Coach Cummings always said that an undisciplined mind never scored a perfect 10. Natasha wanted to please her Coach, yet sometimes his approval wasn\'t as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings\'s fits of disapproving rage were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one.</p>\n\n<p>At last Natasha\'s moment arrived. The faces of past giants of gymnastics swam before her mind\'s eye, now razor&#8211;sharp with fierce determination. "I am talented. I am not afraid. I will make a perfect 10," she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p>\n',
329
+ text: '<p>She thought about what she had to do, <u>struggling to rein</u> in her wild, <b>fearful thoughts</b>. Coach Cummings always said that an undisciplined mind <sup>never scored </sup>a perfect 10. Natasha €€€ wanted to please her Coach, yet sometimes his approval wasn&#x27;t as exciting as his anger. The gymnasts were unanimous about one thing: Coach Cummings&#x27;s fits of disapproving rage »»» were much more humorous to witness than his infrequent, backslapping moments of high praise. Just for a hair of a moment, Natasha wondered if she really wanted a perfect 10, so weary was she of trying for but never achieving one</p><p><em>Át last Ñatasha&#x27;s moment arrived.</em> The <s>faces</s> of past giants of gymnastics swam before her mind&#x27;s eye, now razor–sharp with fierce determination. &quot;I am talented. I am not afraid. I will make a perfect 10,&quot; she spoke aloud to herself, as she approached the mat, dusted her hands with chalk to prevent slippage, and returned to her starting point. Suddenly, the din of the gymnasium was silent to her. Forcing all sound out of her mind, she focused on the gleaming balance beam ahead of her. Taking a deep breath, Natasha made her graceful, yet powerful approach, mounted the beam flawlessly, and...executed her first perfect 10.</p><p></p><table border="1"><tbody><tr><td><p>header 1</p></td><td><p>header 2</p></td></tr><tr><td><p>row </p></td><td><p>row</p></td></tr></tbody></table><div></div>',
274
330
  rubricEnabled: false,
275
331
  }),
276
332
  );