@pie-element/select-text 7.8.1-next.4 → 7.8.1-next.78
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 +1 -1
- package/configure/lib/design.js +36 -36
- package/configure/lib/design.js.map +1 -1
- package/lib/main.js +13 -13
- package/lib/main.js.map +1 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -129,7 +129,7 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
|
|
|
129
129
|
|
|
130
130
|
### Features
|
|
131
131
|
|
|
132
|
-
* add a different property in the config,
|
|
132
|
+
* add a different property in the config, to force a value ([300c664](https://github.com/pie-framework/pie-elements/commit/300c664618f46177137deef3bced2d096cdb8126))
|
|
133
133
|
|
|
134
134
|
|
|
135
135
|
|
package/configure/lib/design.js
CHANGED
|
@@ -262,8 +262,6 @@ var Design = /*#__PURE__*/function (_React$Component) {
|
|
|
262
262
|
Properties: panelProperties
|
|
263
263
|
}
|
|
264
264
|
})
|
|
265
|
-
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
266
|
-
className: classes.container
|
|
267
265
|
}, teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
268
266
|
label: teacherInstructions.label,
|
|
269
267
|
className: classes.promptHolder
|
|
@@ -301,32 +299,16 @@ var Design = /*#__PURE__*/function (_React$Component) {
|
|
|
301
299
|
}, {
|
|
302
300
|
language: 'special'
|
|
303
301
|
}]
|
|
304
|
-
})),
|
|
305
|
-
label:
|
|
302
|
+
})), text.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
303
|
+
label: text.label || '',
|
|
306
304
|
className: classes.promptHolder
|
|
307
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
308
|
-
className: classes.prompt,
|
|
309
|
-
markup: model.rationale || '',
|
|
310
|
-
onChange: this.onRationaleChanged,
|
|
311
|
-
imageSupport: imageSupport,
|
|
312
|
-
toolbarOpts: toolbarOpts,
|
|
313
|
-
spellCheck: spellCheckEnabled,
|
|
314
|
-
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
315
|
-
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
316
|
-
uploadSoundSupport: uploadSoundSupport,
|
|
317
|
-
languageCharactersProps: [{
|
|
318
|
-
language: 'spanish'
|
|
319
|
-
}, {
|
|
320
|
-
language: 'special'
|
|
321
|
-
}]
|
|
322
|
-
})), text.settings && /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
323
|
-
label: text.label,
|
|
305
|
+
}, /*#__PURE__*/_react["default"].createElement(_TextField["default"], {
|
|
324
306
|
className: classes.input,
|
|
325
307
|
multiline: true,
|
|
326
308
|
defaultValue: textValue,
|
|
327
309
|
onChange: this.changeText,
|
|
328
310
|
spellCheck: spellCheckEnabled
|
|
329
|
-
}), tokens.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
311
|
+
})), tokens.settings && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
330
312
|
label: tokens.label || '',
|
|
331
313
|
className: classes.tokenizerContainer
|
|
332
314
|
}, /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
|
|
@@ -354,7 +336,9 @@ var Design = /*#__PURE__*/function (_React$Component) {
|
|
|
354
336
|
className: classes.errorText
|
|
355
337
|
}, tokensError), selectionsError && /*#__PURE__*/_react["default"].createElement("div", {
|
|
356
338
|
className: classes.errorText
|
|
357
|
-
}, selectionsError),
|
|
339
|
+
}, selectionsError), /*#__PURE__*/_react["default"].createElement("div", {
|
|
340
|
+
className: classes.tokensDetails
|
|
341
|
+
}, mode.settings && /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
358
342
|
label: "".concat(mode.label, ": ").concat(model.mode ? model.mode : 'None'),
|
|
359
343
|
className: classes.chip
|
|
360
344
|
}), selections.settings && /*#__PURE__*/_react["default"].createElement(_Chip["default"], {
|
|
@@ -374,11 +358,29 @@ var Design = /*#__PURE__*/function (_React$Component) {
|
|
|
374
358
|
value: model.maxSelections,
|
|
375
359
|
onChange: this.changeMaxSelections,
|
|
376
360
|
className: classes.numberField
|
|
377
|
-
}),
|
|
361
|
+
})), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
|
|
362
|
+
label: rationale.label || '',
|
|
363
|
+
className: classes.promptHolder
|
|
364
|
+
}, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
|
|
365
|
+
className: classes.prompt,
|
|
366
|
+
markup: model.rationale || '',
|
|
367
|
+
onChange: this.onRationaleChanged,
|
|
368
|
+
imageSupport: imageSupport,
|
|
369
|
+
toolbarOpts: toolbarOpts,
|
|
370
|
+
spellCheck: spellCheckEnabled,
|
|
371
|
+
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
372
|
+
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
373
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
374
|
+
languageCharactersProps: [{
|
|
375
|
+
language: 'spanish'
|
|
376
|
+
}, {
|
|
377
|
+
language: 'special'
|
|
378
|
+
}]
|
|
379
|
+
})), feedbackEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.FeedbackConfig, {
|
|
378
380
|
feedback: model.feedback,
|
|
379
381
|
onChange: this.changeFeedback,
|
|
380
382
|
toolbarOpts: toolbarOpts
|
|
381
|
-
}))
|
|
383
|
+
}));
|
|
382
384
|
}
|
|
383
385
|
}]);
|
|
384
386
|
return Design;
|
|
@@ -400,9 +402,6 @@ exports.Design = Design;
|
|
|
400
402
|
|
|
401
403
|
var _default = (0, _styles.withStyles)(function (theme) {
|
|
402
404
|
return {
|
|
403
|
-
container: {
|
|
404
|
-
paddingTop: theme.spacing.unit
|
|
405
|
-
},
|
|
406
405
|
tokenizerContainer: {
|
|
407
406
|
paddingRight: 0,
|
|
408
407
|
marginRight: 0,
|
|
@@ -421,8 +420,7 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
421
420
|
marginRight: theme.spacing.unit * 2
|
|
422
421
|
},
|
|
423
422
|
input: {
|
|
424
|
-
width: '100%'
|
|
425
|
-
paddingBottom: theme.spacing.unit * 3
|
|
423
|
+
width: '100%'
|
|
426
424
|
},
|
|
427
425
|
tokenizer: {
|
|
428
426
|
marginTop: theme.spacing.unit * 2
|
|
@@ -435,15 +433,17 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
435
433
|
},
|
|
436
434
|
promptHolder: {
|
|
437
435
|
width: '100%',
|
|
438
|
-
|
|
436
|
+
paddingTop: theme.spacing.unit * 2,
|
|
439
437
|
marginBottom: theme.spacing.unit * 2
|
|
440
438
|
},
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
439
|
+
tokensDetails: {
|
|
440
|
+
display: 'flex',
|
|
441
|
+
alignItems: 'center',
|
|
442
|
+
marginBottom: theme.spacing.unit * 2.5
|
|
444
443
|
},
|
|
445
444
|
numberField: {
|
|
446
|
-
width: '180px'
|
|
445
|
+
width: '180px',
|
|
446
|
+
margin: '0 auto'
|
|
447
447
|
},
|
|
448
448
|
tooltip: {
|
|
449
449
|
fontSize: theme.typography.fontSize - 2,
|
|
@@ -452,7 +452,7 @@ var _default = (0, _styles.withStyles)(function (theme) {
|
|
|
452
452
|
},
|
|
453
453
|
errorText: {
|
|
454
454
|
fontSize: theme.typography.fontSize - 2,
|
|
455
|
-
color:
|
|
455
|
+
color: theme.palette.error.main,
|
|
456
456
|
paddingBottom: theme.spacing.unit
|
|
457
457
|
}
|
|
458
458
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/design.jsx"],"names":["Panel","settings","toggle","radio","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","correctAnswer","highlightChoices","selectionCount","selections","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","errors","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","tokensError","selectionsError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","tokensModel","toolbarOpts","position","panelSettings","label","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","container","promptHolder","onTeacherInstructionsChanged","language","onPromptChanged","onRationaleChanged","input","changeText","tokenizerContainer","tooltip","left","top","tokenizer","changeTokens","errorText","chip","changeMaxSelections","numberField","changeFeedback","React","Component","PropTypes","object","isRequired","func","shape","add","theme","paddingTop","spacing","unit","paddingRight","marginRight","bottom","right","height","content","backgroundColor","palette","primary","main","marginBottom","width","paddingBottom","marginTop","mainOpts","justifyContent","display","alignItems","fontSize","typography","whiteSpace","maxWidth","color"],"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 { InputContainer, NumberTextField, FeedbackConfig, settings, layout } from '@pie-lib/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/editable-html';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { generateValidationMessage } from './utils';\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) => 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 correctAnswer = {},\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 } = configuration || {};\n const {\n errors,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const { tokensError, selectionsError } = 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 };\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 return (\n <layout.ConfigLayout\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 <div className={classes.container}>\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 toolbarOpts={toolbarOpts}\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 />\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 toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\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 toolbarOpts={toolbarOpts}\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 />\n </InputContainer>\n )}\n\n {text.settings && (\n <TextField\n label={text.label}\n className={classes.input}\n multiline\n defaultValue={textValue}\n onChange={this.changeText}\n spellCheck={spellCheckEnabled}\n />\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\n fontSize={'small'}\n color={'primary'}\n style={{ position: 'absolute', left: '48px', top: '-3px' }}\n />\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\n {tokensError && <div className={classes.errorText}>{tokensError}</div>}\n {selectionsError && <div className={classes.errorText}>{selectionsError}</div>}\n\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\n {feedbackEnabled && (\n <FeedbackConfig feedback={model.feedback} onChange={this.changeFeedback} toolbarOpts={toolbarOpts} />\n )}\n </div>\n </layout.ConfigLayout>\n );\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 tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: 'red',\n paddingBottom: theme.spacing.unit,\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","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","correctAnswer","highlightChoices","selectionCount","selections","settingsPanelDisabled","scoringType","spellCheck","studentInstructions","maxImageWidth","maxImageHeight","withRubric","errors","feedbackEnabled","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","toolbarEditorPosition","tokensError","selectionsError","validationMessage","defaultImageMaxWidth","defaultImageMaxHeight","tokensModel","toolbarOpts","position","panelSettings","label","panelProperties","studentInstructionsEnabled","rubricEnabled","Settings","Properties","promptHolder","onTeacherInstructionsChanged","language","onPromptChanged","input","changeText","tokenizerContainer","tooltip","left","top","tokenizer","changeTokens","errorText","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","width","marginTop","mainOpts","justifyContent","display","alignItems","paddingTop","margin","fontSize","typography","whiteSpace","maxWidth","color","error","paddingBottom"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAQA,KAAR,GAAiCC,kBAAjC,CAAQD,KAAR;AAAA,IAAeE,MAAf,GAAiCD,kBAAjC,CAAeC,MAAf;AAAA,IAAuBC,KAAvB,GAAiCF,kBAAjC,CAAuBE,KAAvB;AAEA,IAAMC,GAAG,GAAG,uBAAM,oCAAN,CAAZ;;IAEaC,M;;;;;AAeX,kBAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,mGAoBN,0BAAS,UAACC,GAAD,EAAS;AAC7B,YAAKC,KAAL,CAAW,UAACC,CAAD,EAAO;AAChBA,QAAAA,CAAC,CAACC,IAAF,GAASH,GAAT;AACAE,QAAAA,CAAC,CAACE,MAAF,GAAW,EAAX;AACD,OAHD;AAID,KALY,EAKV,GALU,CApBM;AAAA,mGA2BN,UAACC,KAAD;AAAA,aAAW,MAAKC,UAAL,CAAgBD,KAAK,CAACE,MAAN,CAAaC,KAA7B,CAAX;AAAA,KA3BM;AAAA,qGA6BJ,UAACJ,MAAD,EAASK,IAAT,EAAkB;AAC/B,YAAKR,KAAL,CAAW,UAACC,CAAD,EAAO;AAChBA,QAAAA,CAAC,CAACE,MAAF,GAAWA,MAAX;AACAF,QAAAA,CAAC,CAACO,IAAF,GAASA,IAAT;AAEA,YAAMC,iBAAiB,GAAGN,MAAM,CAACO,MAAP,CAAc,UAACC,CAAD;AAAA,iBAAOA,CAAC,CAACC,OAAT;AAAA,SAAd,EAAgCC,MAA1D;AACA,YAAMC,GAAG,GAAGC,QAAQ,CAACd,CAAC,CAACe,aAAH,CAAR,GAA4Bf,CAAC,CAACe,aAA9B,GAA8C,CAA1D;AAEAf,QAAAA,CAAC,CAACe,aAAF,GAAkBC,IAAI,CAACH,GAAL,CAASA,GAAT,EAAcL,iBAAd,CAAlB;AACD,OARD;AASD,KAvCkB;AAAA,4GAyCG,UAACL,KAAD,EAAQU,GAAR,EAAgB;AACpC,YAAKd,KAAL,CAAW,UAACC,CAAD;AAAA,eAAQA,CAAC,CAACe,aAAF,GAAkBF,GAA1B;AAAA,OAAX;AACD,KA3CkB;AAAA,8FA6CX,UAACI,EAAD,EAAQ;AACd,wBAAkC,MAAKpB,KAAvC;AAAA,UAAQqB,cAAR,eAAQA,cAAR;AAAA,UAAwBC,KAAxB,eAAwBA,KAAxB;AACA,UAAMC,MAAM,GAAG,2BAAUD,KAAV,CAAf;AAEAF,MAAAA,EAAE,CAACG,MAAD,CAAF;AACAF,MAAAA,cAAc,CAACE,MAAD,CAAd;AACD,KAnDkB;AAAA,uGAqDF,UAACC,QAAD,EAAc;AAC7B,YAAKtB,KAAL,CAAW,UAACC,CAAD;AAAA,eAAQA,CAAC,CAACqB,QAAF,GAAaA,QAArB;AAAA,OAAX;AACD,KAvDkB;AAAA,6GAyDI,UAACC,cAAD,EAAoB;AACzC,yBAAkC,MAAKzB,KAAvC;AAAA,UAAQqB,cAAR,gBAAQA,cAAR;AAAA,UAAwBC,KAAxB,gBAAwBA,KAAxB;AACA,UAAMC,MAAM,GAAG,2BAAUD,KAAV,CAAf;AACAC,MAAAA,MAAM,CAACE,cAAP,GAAwBA,cAAxB;AAEAJ,MAAAA,cAAc,CAACE,MAAD,CAAd;AACD,KA/DkB;AAAA,wGAiED,UAACG,MAAD,EAAY;AAC5B,yBAAkC,MAAK1B,KAAvC;AAAA,UAAQqB,cAAR,gBAAQA,cAAR;AAAA,UAAwBC,KAAxB,gBAAwBA,KAAxB;AACA,UAAMC,MAAM,GAAG,2BAAUD,KAAV,CAAf;AAEAC,MAAAA,MAAM,CAACG,MAAP,GAAgBA,MAAhB;AACAL,MAAAA,cAAc,CAACE,MAAD,CAAd;AACD,KAvEkB;AAAA,qHAyEY,UAACI,mBAAD,EAAyB;AACtD,yBAAkC,MAAK3B,KAAvC;AAAA,UAAQqB,cAAR,gBAAQA,cAAR;AAAA,UAAwBC,KAAxB,gBAAwBA,KAAxB;AACA,UAAMC,MAAM,GAAG,2BAAUD,KAAV,CAAf;AAEAC,MAAAA,MAAM,CAACI,mBAAP,GAA6BA,mBAA7B;AACAN,MAAAA,cAAc,CAACE,MAAD,CAAd;AACD,KA/EkB;AAAA,2GAiFE,UAACK,SAAD,EAAe;AAClC,yBAAkC,MAAK5B,KAAvC;AAAA,UAAQqB,cAAR,gBAAQA,cAAR;AAAA,UAAwBC,KAAxB,gBAAwBA,KAAxB;AAEAD,MAAAA,cAAc,iCAAMC,KAAN;AAAaM,QAAAA,SAAS,EAATA;AAAb,SAAd;AACD,KArFkB;AAGjB,QAAQN,MAAR,GAAkB,MAAKtB,KAAvB,CAAQsB,KAAR;AAEA,UAAKO,KAAL,GAAa;AACXzB,MAAAA,IAAI,EAAGkB,MAAK,IAAIA,MAAK,CAAClB,IAAhB,IAAyB;AADpB,KAAb;AALiB;AAQlB;;;;WAED,0CAAiC0B,MAAjC,EAAyC;AACvC,UAAQR,KAAR,GAAkBQ,MAAlB,CAAQR,KAAR;;AAEA,UAAIA,KAAK,IAAIA,KAAK,CAAClB,IAAnB,EAAyB;AACvB,aAAK2B,QAAL,CAAc;AACZ3B,UAAAA,IAAI,EAAEkB,KAAK,CAAClB;AADA,SAAd;AAGD;AACF;;;WAqED,kBAAS;AACP,UAAc4B,SAAd,GAA4B,KAAKH,KAAjC,CAAQzB,IAAR;AACA,yBACE,KAAKJ,KADP;AAAA,UAAQiC,OAAR,gBAAQA,OAAR;AAAA,UAAiBC,aAAjB,gBAAiBA,aAAjB;AAAA,UAAgCC,YAAhC,gBAAgCA,YAAhC;AAAA,UAA8Cb,KAA9C,gBAA8CA,KAA9C;AAAA,UAAqDc,sBAArD,gBAAqDA,sBAArD;AAAA,UAA6Ef,cAA7E,gBAA6EA,cAA7E;AAAA,UAA6FgB,kBAA7F,gBAA6FA,kBAA7F;;AAEA,iBAoBIH,aAAa,IAAI,EApBrB;AAAA,oCACEI,aADF;AAAA,UACEA,aADF,mCACkB,EADlB;AAAA,+BAEEd,QAFF;AAAA,UAEEA,QAFF,8BAEa,EAFb;AAAA,uCAGEe,gBAHF;AAAA,UAGEA,gBAHF,sCAGqB,EAHrB;AAAA,2BAIE7B,IAJF;AAAA,UAIEA,IAJF,0BAIS,EAJT;AAAA,qCAKEe,cALF;AAAA,UAKEA,cALF,oCAKmB,EALnB;AAAA,6BAMEC,MANF;AAAA,UAMEA,MANF,4BAMW,EANX;AAAA,gCAOEE,SAPF;AAAA,UAOEA,SAPF,+BAOc,EAPd;AAAA,qCAQEY,cARF;AAAA,UAQEA,cARF,oCAQmB,EARnB;AAAA,iCASEC,UATF;AAAA,UASEA,UATF,gCASe,EATf;AAAA,UAUEC,qBAVF,QAUEA,qBAVF;AAAA,kCAWEC,WAXF;AAAA,UAWEA,WAXF,iCAWgB,EAXhB;AAAA,iCAYEC,UAZF;AAAA,UAYEA,UAZF,gCAYe,EAZf;AAAA,uCAaEC,mBAbF;AAAA,UAaEA,mBAbF,sCAawB,EAbxB;AAAA,uCAcElB,mBAdF;AAAA,UAcEA,mBAdF,sCAcwB,EAdxB;AAAA,2BAeEvB,IAfF;AAAA,UAeEA,IAfF,0BAeS,EAfT;AAAA,6BAgBEC,MAhBF;AAAA,UAgBEA,MAhBF,4BAgBW,EAhBX;AAAA,oCAiBEyC,aAjBF;AAAA,UAiBEA,aAjBF,mCAiBkB,EAjBlB;AAAA,qCAkBEC,cAlBF;AAAA,UAkBEA,cAlBF,oCAkBmB,EAlBnB;AAAA,iCAmBEC,UAnBF;AAAA,UAmBEA,UAnBF,gCAmBe,EAnBf;;AAqBA,kBAQI1B,KAAK,IAAI,EARb;AAAA,UACE2B,MADF,SACEA,MADF;AAAA,UAEEC,eAFF,SAEEA,eAFF;AAAA,UAGEC,aAHF,SAGEA,aAHF;AAAA,UAIEC,gBAJF,SAIEA,gBAJF;AAAA,UAKEC,iBALF,SAKEA,iBALF;AAAA,UAMEC,0BANF,SAMEA,0BANF;AAAA,UAOEC,qBAPF,SAOEA,qBAPF;;AAUA,kBAAyCN,MAAM,IAAI,EAAnD;AAAA,UAAQO,WAAR,SAAQA,WAAR;AAAA,UAAqBC,eAArB,SAAqBA,eAArB;;AACA,UAAMC,iBAAiB,GAAG,sCAA0BxB,aAA1B,CAA1B;AAEA,UAAMyB,oBAAoB,GAAGb,aAAa,IAAIA,aAAa,CAACpB,MAA5D;AACA,UAAMkC,qBAAqB,GAAGb,cAAc,IAAIA,cAAc,CAACrB,MAA/D;AAEA,UAAcmC,WAAd,GAA8BvC,KAA9B,CAAMjB,MAAN;AACAwD,MAAAA,WAAW,GAAGA,WAAW,IAAI,EAA7B;AAEA,UAAMC,WAAW,GAAG;AAClBC,QAAAA,QAAQ,EAAER,qBAAqB,KAAK,KAA1B,GAAkC,KAAlC,GAA0C;AADlC,OAApB;AAIAzD,MAAAA,GAAG,CAAC,yBAAD,EAA4BwB,KAAK,CAACJ,aAAlC,CAAH;AAEA,UAAM8C,aAAa,GAAG;AACpBvC,QAAAA,cAAc,EAAEA,cAAc,CAAC9B,QAAf,IAA2BC,MAAM,CAAC6B,cAAc,CAACwC,KAAhB,CAD7B;AAEpB1B,QAAAA,gBAAgB,EAAEA,gBAAgB,CAAC5C,QAAjB,IAA6BC,MAAM,CAAC2C,gBAAgB,CAAC0B,KAAlB,CAFjC;AAGpBf,QAAAA,eAAe,EAAE1B,QAAQ,CAAC7B,QAAT,IAAqBC,MAAM,CAAC4B,QAAQ,CAACyC,KAAV;AAHxB,OAAtB;AAMA,UAAMC,eAAe,GAAG;AACtBZ,QAAAA,0BAA0B,EAAE3B,mBAAmB,CAAChC,QAApB,IAAgCC,MAAM,CAAC+B,mBAAmB,CAACsC,KAArB,CAD5C;AAEtBE,QAAAA,0BAA0B,EAAEtB,mBAAmB,CAAClD,QAApB,IAAgCC,MAAM,CAACiD,mBAAmB,CAACoB,KAArB,CAF5C;AAGtBd,QAAAA,aAAa,EAAEzB,MAAM,CAAC/B,QAAP,IAAmBC,MAAM,CAAC8B,MAAM,CAACuC,KAAR,CAHlB;AAItBb,QAAAA,gBAAgB,EAAExB,SAAS,CAACjC,QAAV,IAAsBC,MAAM,CAACgC,SAAS,CAACqC,KAAX,CAJxB;AAKtBZ,QAAAA,iBAAiB,EAAET,UAAU,CAACjD,QAAX,IAAuBC,MAAM,CAACgD,UAAU,CAACqB,KAAZ,CAL1B;AAMtBtB,QAAAA,WAAW,EAAEA,WAAW,CAAChD,QAAZ,IAAwBE,KAAK,CAAC8C,WAAW,CAACsB,KAAb,EAAoB,CAAC,MAAD,EAAS,QAAT,CAApB,CANpB;AAOtBG,QAAAA,aAAa,EAAE,CAAApB,UAAU,SAAV,IAAAA,UAAU,WAAV,YAAAA,UAAU,CAAErD,QAAZ,KAAwBC,MAAM,CAACoD,UAAD,aAACA,UAAD,uBAACA,UAAU,CAAEiB,KAAb;AAPvB,OAAxB;AAUA,0BACE,gCAAC,gBAAD,CAAQ,YAAR;AACE,QAAA,YAAY,EAAEvB,qBADhB;AAEE,QAAA,QAAQ,eACN,gCAAC,KAAD;AACE,UAAA,KAAK,EAAEpB,KADT;AAEE,UAAA,aAAa,EAAEY,aAFjB;AAGE,UAAA,aAAa,EAAE,uBAACZ,KAAD;AAAA,mBAAWD,cAAc,CAACC,KAAD,CAAzB;AAAA,WAHjB;AAIE,UAAA,qBAAqB,EAAEc,sBAJzB;AAKE,UAAA,MAAM,EAAE;AACNiC,YAAAA,QAAQ,EAAEL,aADJ;AAENM,YAAAA,UAAU,EAAEJ;AAFN;AALV;AAHJ,SAeGZ,0BAA0B,iBACzB,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAE3B,mBAAmB,CAACsC,KAA3C;AAAkD,QAAA,SAAS,EAAEhC,OAAO,CAACsC;AAArE,sBACE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEtC,OAAO,CAACP,MADrB;AAEE,QAAA,MAAM,EAAEJ,KAAK,CAACK,mBAAN,IAA6B,EAFvC;AAGE,QAAA,QAAQ,EAAE,KAAK6C,4BAHjB;AAIE,QAAA,YAAY,EAAErC,YAJhB;AAKE,QAAA,QAAQ,EAAE,KALZ;AAME,QAAA,WAAW,EAAE2B,WANf;AAOE,QAAA,UAAU,EAAET,iBAPd;AAQE,QAAA,aAAa,EAAGP,aAAa,IAAIA,aAAa,CAACnB,mBAAhC,IAAwDgC,oBARzE;AASE,QAAA,cAAc,EAAGZ,cAAc,IAAIA,cAAc,CAACpB,mBAAlC,IAA0DiC,qBAT5E;AAUE,QAAA,kBAAkB,EAAEvB,kBAVtB;AAWE,QAAA,uBAAuB,EAAE,CAAC;AAAEoC,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B;AAX3B,QADF,CAhBJ,EAiCGtB,aAAa,iBACZ,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEzB,MAAM,CAACuC,KAAP,IAAgB,EAAvC;AAA2C,QAAA,SAAS,EAAEhC,OAAO,CAACsC;AAA9D,sBACE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEtC,OAAO,CAACP,MADrB;AAEE,QAAA,MAAM,EAAEJ,KAAK,CAACI,MAFhB;AAGE,QAAA,QAAQ,EAAE,KAAKgD,eAHjB;AAIE,QAAA,YAAY,EAAEvC,YAJhB;AAKE,QAAA,WAAW,EAAE2B,WALf;AAME,QAAA,UAAU,EAAET,iBANd;AAOE,QAAA,aAAa,EAAEM,oBAPjB;AAQE,QAAA,cAAc,EAAEC,qBARlB;AASE,QAAA,kBAAkB,EAAEvB,kBATtB;AAUE,QAAA,uBAAuB,EAAE,CAAC;AAAEoC,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B;AAV3B,QADF,CAlCJ,EAkDGrE,IAAI,CAACT,QAAL,iBACC,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAES,IAAI,CAAC6D,KAAL,IAAc,EAArC;AAAyC,QAAA,SAAS,EAAEhC,OAAO,CAACsC;AAA5D,sBACE,gCAAC,qBAAD;AACE,QAAA,SAAS,EAAEtC,OAAO,CAAC0C,KADrB;AAEE,QAAA,SAAS,MAFX;AAGE,QAAA,YAAY,EAAE3C,SAHhB;AAIE,QAAA,QAAQ,EAAE,KAAK4C,UAJjB;AAKE,QAAA,UAAU,EAAEvB;AALd,QADF,CAnDJ,EA8DGhD,MAAM,CAACV,QAAP,iBACC,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAEU,MAAM,CAAC4D,KAAP,IAAgB,EAAvC;AAA2C,QAAA,SAAS,EAAEhC,OAAO,CAAC4C;AAA9D,sBACE,gCAAC,mBAAD;AACE,QAAA,OAAO,EAAE;AAAEC,UAAAA,OAAO,EAAE7C,OAAO,CAAC6C;AAAnB,SADX;AAEE,QAAA,oBAAoB,MAFtB;AAGE,QAAA,oBAAoB,MAHtB;AAIE,QAAA,SAAS,EAAE,OAJb;AAKE,QAAA,KAAK,EAAEpB;AALT,sBAOE,gCAAC,gBAAD;AAAM,QAAA,QAAQ,EAAE,OAAhB;AAAyB,QAAA,KAAK,EAAE,SAAhC;AAA2C,QAAA,KAAK,EAAE;AAAEK,UAAAA,QAAQ,EAAE,UAAZ;AAAwBgB,UAAAA,IAAI,EAAE,MAA9B;AAAsCC,UAAAA,GAAG,EAAE;AAA3C;AAAlD,QAPF,CADF,eAWE,gCAAC,qBAAD;AACE,QAAA,SAAS,EAAE/C,OAAO,CAACgD,SADrB;AAEE,QAAA,IAAI,EAAE3D,KAAK,CAAClB,IAFd;AAGE,QAAA,MAAM,EAAEyD,WAHV;AAIE,QAAA,QAAQ,EAAE,KAAKqB;AAJjB,QAXF,CA/DJ,EAkFG1B,WAAW,iBAAI;AAAK,QAAA,SAAS,EAAEvB,OAAO,CAACkD;AAAxB,SAAoC3B,WAApC,CAlFlB,EAmFGC,eAAe,iBAAI;AAAK,QAAA,SAAS,EAAExB,OAAO,CAACkD;AAAxB,SAAoC1B,eAApC,CAnFtB,eAqFE;AAAK,QAAA,SAAS,EAAExB,OAAO,CAACmD;AAAxB,SACG1E,IAAI,CAACf,QAAL,iBACC,gCAAC,gBAAD;AAAM,QAAA,KAAK,YAAKe,IAAI,CAACuD,KAAV,eAAoB3C,KAAK,CAACZ,IAAN,GAAaY,KAAK,CAACZ,IAAnB,GAA0B,MAA9C,CAAX;AAAmE,QAAA,SAAS,EAAEuB,OAAO,CAACoD;AAAtF,QAFJ,EAKG5C,UAAU,CAAC9C,QAAX,iBACC,gCAAC,gBAAD;AAAM,QAAA,KAAK,YAAK8C,UAAU,CAACwB,KAAhB,eAA0BJ,WAAW,CAAC9C,MAAtC,CAAX;AAA2D,QAAA,SAAS,EAAEkB,OAAO,CAACoD;AAA9E,QANJ,EASG/C,aAAa,CAAC3C,QAAd,iBACC,gCAAC,gBAAD;AACE,QAAA,KAAK,YAAK2C,aAAa,CAAC2B,KAAnB,eAA6BJ,WAAW,CAACjD,MAAZ,CAAmB,UAACC,CAAD;AAAA,iBAAOA,CAAC,CAACC,OAAT;AAAA,SAAnB,EAAqCC,MAAlE,CADP;AAEE,QAAA,SAAS,EAAEkB,OAAO,CAACoD;AAFrB,QAVJ,EAgBG7C,cAAc,CAAC7C,QAAf,iBACC,gCAAC,yBAAD;AACE,QAAA,GAAG,EAAEkE,WAAW,CAACjD,MAAZ,CAAmB,UAACC,CAAD;AAAA,iBAAOA,CAAC,CAACC,OAAT;AAAA,SAAnB,EAAqCC,MAArC,IAA+C,CADtD;AAEE,QAAA,KAAK,YAAKyB,cAAc,CAACyB,KAApB,aAFP;AAGE,QAAA,GAAG,EAAEJ,WAAW,CAAC9C,MAHnB;AAIE,QAAA,KAAK,EAAEO,KAAK,CAACJ,aAJf;AAKE,QAAA,QAAQ,EAAE,KAAKoE,mBALjB;AAME,QAAA,SAAS,EAAErD,OAAO,CAACsD;AANrB,QAjBJ,CArFF,EAiHGnC,gBAAgB,iBACf,gCAAC,wBAAD;AAAgB,QAAA,KAAK,EAAExB,SAAS,CAACqC,KAAV,IAAmB,EAA1C;AAA8C,QAAA,SAAS,EAAEhC,OAAO,CAACsC;AAAjE,sBACE,gCAAC,wBAAD;AACE,QAAA,SAAS,EAAEtC,OAAO,CAACP,MADrB;AAEE,QAAA,MAAM,EAAEJ,KAAK,CAACM,SAAN,IAAmB,EAF7B;AAGE,QAAA,QAAQ,EAAE,KAAK4D,kBAHjB;AAIE,QAAA,YAAY,EAAErD,YAJhB;AAKE,QAAA,WAAW,EAAE2B,WALf;AAME,QAAA,UAAU,EAAET,iBANd;AAOE,QAAA,aAAa,EAAGP,aAAa,IAAIA,aAAa,CAAClB,SAAhC,IAA8C+B,oBAP/D;AAQE,QAAA,cAAc,EAAGZ,cAAc,IAAIA,cAAc,CAACnB,SAAlC,IAAgDgC,qBARlE;AASE,QAAA,kBAAkB,EAAEvB,kBATtB;AAUE,QAAA,uBAAuB,EAAE,CAAC;AAAEoC,UAAAA,QAAQ,EAAE;AAAZ,SAAD,EAA0B;AAAEA,UAAAA,QAAQ,EAAE;AAAZ,SAA1B;AAV3B,QADF,CAlHJ,EAkIGvB,eAAe,iBACd,gCAAC,wBAAD;AAAgB,QAAA,QAAQ,EAAE5B,KAAK,CAACE,QAAhC;AAA0C,QAAA,QAAQ,EAAE,KAAKiE,cAAzD;AAAyE,QAAA,WAAW,EAAE3B;AAAtF,QAnIJ,CADF;AAwID;;;EAhTyB4B,kBAAMC,S;;;iCAArB5F,M,eACQ;AACjBuB,EAAAA,KAAK,EAAEsE,sBAAUC,MAAV,CAAiBC,UADP;AAEjB5D,EAAAA,aAAa,EAAE0D,sBAAUC,MAAV,CAAiBC,UAFf;AAGjB7D,EAAAA,OAAO,EAAE2D,sBAAUC,MAAV,CAAiBC,UAHT;AAIjBzE,EAAAA,cAAc,EAAEuE,sBAAUG,IAAV,CAAeD,UAJd;AAKjB1D,EAAAA,sBAAsB,EAAEwD,sBAAUG,IAAV,CAAeD,UALtB;AAMjB3D,EAAAA,YAAY,EAAEyD,sBAAUI,KAAV,CAAgB;AAC5BC,IAAAA,GAAG,EAAEL,sBAAUG,IAAV,CAAeD,UADQ;AAE5B,cAAQF,sBAAUG,IAAV,CAAeD;AAFK,GAAhB;AANG,C;iCADR/F,M,kBAaW,E;;eAsST,wBAAW,UAACmG,KAAD;AAAA,SAAY;AACpCrB,IAAAA,kBAAkB,EAAE;AAClBsB,MAAAA,YAAY,EAAE,CADI;AAElBC,MAAAA,WAAW,EAAE,CAFK;AAGlB,iBAAW;AACTrC,QAAAA,QAAQ,EAAE,UADD;AAETsC,QAAAA,MAAM,EAAE,CAFC;AAGTtB,QAAAA,IAAI,EAAE,CAHG;AAITuB,QAAAA,KAAK,EAAE,CAJE;AAKTC,QAAAA,MAAM,EAAE,KALC;AAMTC,QAAAA,OAAO,EAAE,IANA;AAOTC,QAAAA,eAAe,EAAEP,KAAK,CAACQ,OAAN,CAAcC,OAAd,CAAsBC;AAP9B,OAHO;AAYlBC,MAAAA,YAAY,EAAEX,KAAK,CAACY,OAAN,CAAcC;AAZV,KADgB;AAepC1B,IAAAA,IAAI,EAAE;AACJe,MAAAA,WAAW,EAAEF,KAAK,CAACY,OAAN,CAAcC,IAAd,GAAqB;AAD9B,KAf8B;AAkBpCpC,IAAAA,KAAK,EAAE;AACLqC,MAAAA,KAAK,EAAE;AADF,KAlB6B;AAqBpC/B,IAAAA,SAAS,EAAE;AACTgC,MAAAA,SAAS,EAAEf,KAAK,CAACY,OAAN,CAAcC,IAAd,GAAqB;AADvB,KArByB;AAwBpCG,IAAAA,QAAQ,EAAE;AACRF,MAAAA,KAAK,EAAE,MADC;AAERG,MAAAA,cAAc,EAAE,eAFR;AAGRC,MAAAA,OAAO,EAAE,MAHD;AAIRC,MAAAA,UAAU,EAAE;AAJJ,KAxB0B;AA8BpC9C,IAAAA,YAAY,EAAE;AACZyC,MAAAA,KAAK,EAAE,MADK;AAEZM,MAAAA,UAAU,EAAEpB,KAAK,CAACY,OAAN,CAAcC,IAAd,GAAqB,CAFrB;AAGZF,MAAAA,YAAY,EAAEX,KAAK,CAACY,OAAN,CAAcC,IAAd,GAAqB;AAHvB,KA9BsB;AAmCpC3B,IAAAA,aAAa,EAAE;AACbgC,MAAAA,OAAO,EAAE,MADI;AAEbC,MAAAA,UAAU,EAAE,QAFC;AAGbR,MAAAA,YAAY,EAAEX,KAAK,CAACY,OAAN,CAAcC,IAAd,GAAqB;AAHtB,KAnCqB;AAwCpCxB,IAAAA,WAAW,EAAE;AACXyB,MAAAA,KAAK,EAAE,OADI;AAEXO,MAAAA,MAAM,EAAE;AAFG,KAxCuB;AA4CpCzC,IAAAA,OAAO,EAAE;AACP0C,MAAAA,QAAQ,EAAEtB,KAAK,CAACuB,UAAN,CAAiBD,QAAjB,GAA4B,CAD/B;AAEPE,MAAAA,UAAU,EAAE,KAFL;AAGPC,MAAAA,QAAQ,EAAE;AAHH,KA5C2B;AAiDpCxC,IAAAA,SAAS,EAAE;AACTqC,MAAAA,QAAQ,EAAEtB,KAAK,CAACuB,UAAN,CAAiBD,QAAjB,GAA4B,CAD7B;AAETI,MAAAA,KAAK,EAAE1B,KAAK,CAACQ,OAAN,CAAcmB,KAAd,CAAoBjB,IAFlB;AAGTkB,MAAAA,aAAa,EAAE5B,KAAK,CAACY,OAAN,CAAcC;AAHpB;AAjDyB,GAAZ;AAAA,CAAX,EAsDXhH,MAtDW,C","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 { InputContainer, NumberTextField, FeedbackConfig, settings, layout } from '@pie-lib/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/editable-html';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { generateValidationMessage } from './utils';\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) => 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 correctAnswer = {},\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 } = configuration || {};\n const {\n errors,\n feedbackEnabled,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n toolbarEditorPosition,\n } = model || {};\n\n const { tokensError, selectionsError } = 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 };\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 return (\n <layout.ConfigLayout\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 toolbarOpts={toolbarOpts}\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 />\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 toolbarOpts={toolbarOpts}\n spellCheck={spellCheckEnabled}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n />\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 toolbarOpts={toolbarOpts}\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 />\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 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 marginBottom: theme.spacing.unit * 2.5,\n },\n numberField: {\n width: '180px',\n margin: '0 auto',\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 paddingBottom: theme.spacing.unit,\n },\n}))(Design);\n"],"file":"design.js"}
|
package/lib/main.js
CHANGED
|
@@ -102,7 +102,7 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
102
102
|
log('[render] selectedTokens:', selectedTokens);
|
|
103
103
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
104
104
|
className: classes.mainContainer
|
|
105
|
-
}, model.teacherInstructions && (0, _renderUi.hasText)(model.teacherInstructions) &&
|
|
105
|
+
}, model.teacherInstructions && (0, _renderUi.hasText)(model.teacherInstructions) && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
106
106
|
labels: {
|
|
107
107
|
hidden: 'Show Teacher Instructions',
|
|
108
108
|
visible: 'Hide Teacher Instructions'
|
|
@@ -110,9 +110,11 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
110
110
|
className: classes.collapsible
|
|
111
111
|
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
112
112
|
prompt: model.teacherInstructions
|
|
113
|
-
})) : /*#__PURE__*/_react["default"].createElement(
|
|
113
|
+
})) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
114
|
+
className: classes.prompt
|
|
115
|
+
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
114
116
|
prompt: model.teacherInstructions
|
|
115
|
-
})
|
|
117
|
+
}))), /*#__PURE__*/_react["default"].createElement("div", {
|
|
116
118
|
className: classes.prompt
|
|
117
119
|
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
118
120
|
prompt: model.prompt
|
|
@@ -145,17 +147,19 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
145
147
|
highlightChoices: model.highlightChoices,
|
|
146
148
|
maxNoOfSelections: model.maxSelections,
|
|
147
149
|
animationsDisabled: model.animationsDisabled
|
|
148
|
-
}), model.rationale && (0, _renderUi.hasText)(model.rationale) &&
|
|
150
|
+
}), model.rationale && (0, _renderUi.hasText)(model.rationale) && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
149
151
|
labels: {
|
|
150
152
|
hidden: 'Show Rationale',
|
|
151
153
|
visible: 'Hide Rationale'
|
|
152
154
|
},
|
|
153
155
|
className: classes.collapsible
|
|
154
|
-
},
|
|
156
|
+
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
155
157
|
prompt: model.rationale
|
|
156
|
-
})) : /*#__PURE__*/_react["default"].createElement(
|
|
158
|
+
})) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
159
|
+
className: classes.prompt
|
|
160
|
+
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
157
161
|
prompt: model.rationale
|
|
158
|
-
})), model.correctness && model.feedback && !showCorrectAnswer && /*#__PURE__*/_react["default"].createElement(_renderUi.Feedback, {
|
|
162
|
+
}))), model.correctness && model.feedback && !showCorrectAnswer && /*#__PURE__*/_react["default"].createElement(_renderUi.Feedback, {
|
|
159
163
|
correctness: model.correctness,
|
|
160
164
|
feedback: model.feedback
|
|
161
165
|
}));
|
|
@@ -172,15 +176,12 @@ exports.Main = Main;
|
|
|
172
176
|
var StyledMain = (0, _styles.withStyles)(function (theme) {
|
|
173
177
|
return {
|
|
174
178
|
mainContainer: {
|
|
175
|
-
paddingLeft: theme.spacing.unit,
|
|
176
|
-
paddingRight: theme.spacing.unit,
|
|
177
|
-
paddingBottom: theme.spacing.unit,
|
|
178
179
|
color: _renderUi.color.text(),
|
|
179
180
|
backgroundColor: _renderUi.color.background()
|
|
180
181
|
},
|
|
181
182
|
textSelect: {
|
|
182
183
|
marginBottom: theme.spacing.unit,
|
|
183
|
-
marginTop: theme.spacing.unit,
|
|
184
|
+
marginTop: theme.spacing.unit * 2,
|
|
184
185
|
whiteSpace: 'normal'
|
|
185
186
|
},
|
|
186
187
|
prompt: {
|
|
@@ -188,8 +189,7 @@ var StyledMain = (0, _styles.withStyles)(function (theme) {
|
|
|
188
189
|
marginBottom: theme.spacing.unit
|
|
189
190
|
},
|
|
190
191
|
collapsible: {
|
|
191
|
-
|
|
192
|
-
paddingBottom: theme.spacing.unit * 3
|
|
192
|
+
marginBottom: theme.spacing.unit * 2
|
|
193
193
|
}
|
|
194
194
|
};
|
|
195
195
|
})(Main);
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["log","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","props","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","nextProps","classes","selectedTokens","correctAnswer","mainContainer","teacherInstructions","animationsDisabled","hidden","visible","collapsible","prompt","disabled","incorrect","toggleShowCorrect","textSelect","text","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxSelections","rationale","correctness","feedback","React","Component","StyledMain","theme","paddingLeft","spacing","unit","paddingRight","paddingBottom","color","backgroundColor","background","marginBottom","marginTop","whiteSpace","verticalAlign","paddingTop","Stateful","change"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText, PreviewPrompt } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport generateModel from './utils';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst Types = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSelectionChange: PropTypes.func.isRequired,\n};\n\nexport class Main extends React.Component {\n static propTypes = { ...Types, classes: PropTypes.object.isRequired };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrectAnswer: this.props.model.alwaysShowCorrect || false,\n model: generateModel(props.model),\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,\n model: generateModel(nextProps.model),\n });\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n correctAnswer = () => {\n const { model } = this.state;\n\n return model.tokens.filter((t) => t.correct);\n };\n\n render() {\n const { session, onSelectionChange, classes } = this.props;\n const { showCorrectAnswer, model } = this.state;\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <div className={classes.mainContainer}>\n {model.teacherInstructions && hasText(model.teacherInstructions) && (\n <React.Fragment>\n {!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Collapsible>\n ) : (\n <PreviewPrompt prompt={model.teacherInstructions} />\n )}\n\n <br />\n </React.Fragment>\n )}\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n {!model.alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n />\n )}\n <TextSelect\n className={classes.textSelect}\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={(selection) => {\n const newSelections = selection.map((select) => {\n const token = model.tokens.find(({ start, end }) => select.start === start && select.end === end);\n\n // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd\n if (token) {\n return token;\n }\n\n return select;\n });\n\n onSelectionChange(newSelections);\n }}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n animationsDisabled={model.animationsDisabled}\n />\n {model.rationale && hasText(model.rationale) && (\n <React.Fragment>\n {!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n className={classes.collapsible}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.rationale} />\n </Collapsible>\n ) : (\n <PreviewPrompt prompt={model.rationale} />\n )}\n </React.Fragment>\n )}\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </div>\n );\n }\n}\n\nconst StyledMain = withStyles((theme) => ({\n mainContainer: {\n paddingLeft: theme.spacing.unit,\n paddingRight: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n color: color.text(),\n backgroundColor: color.background(),\n },\n textSelect: {\n marginBottom: theme.spacing.unit,\n marginTop: theme.spacing.unit,\n whiteSpace: 'normal',\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: theme.spacing.unit,\n },\n collapsible: {\n paddingTop: theme.spacing.unit * 2,\n paddingBottom: theme.spacing.unit * 3,\n },\n}))(Main);\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = (selectedTokens) => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return <StyledMain model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["log","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","props","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","nextProps","classes","selectedTokens","correctAnswer","mainContainer","teacherInstructions","animationsDisabled","hidden","visible","collapsible","prompt","disabled","incorrect","toggleShowCorrect","textSelect","text","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxSelections","rationale","correctness","feedback","React","Component","StyledMain","theme","color","backgroundColor","background","marginBottom","spacing","unit","marginTop","whiteSpace","verticalAlign","Stateful","change"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText, PreviewPrompt } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport generateModel from './utils';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst Types = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSelectionChange: PropTypes.func.isRequired,\n};\n\nexport class Main extends React.Component {\n static propTypes = { ...Types, classes: PropTypes.object.isRequired };\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrectAnswer: this.props.model.alwaysShowCorrect || false,\n model: generateModel(props.model),\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,\n model: generateModel(nextProps.model),\n });\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n correctAnswer = () => {\n const { model } = this.state;\n\n return model.tokens.filter((t) => t.correct);\n };\n\n render() {\n const { session, onSelectionChange, classes } = this.props;\n const { showCorrectAnswer, model } = this.state;\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <div className={classes.mainContainer}>\n {model.teacherInstructions &&\n hasText(model.teacherInstructions) &&\n (!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Collapsible>\n ) : (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.teacherInstructions} />\n </div>\n ))}\n\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n\n {!model.alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n />\n )}\n\n <TextSelect\n className={classes.textSelect}\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={(selection) => {\n const newSelections = selection.map((select) => {\n const token = model.tokens.find(({ start, end }) => select.start === start && select.end === end);\n\n // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd\n if (token) {\n return token;\n }\n\n return select;\n });\n\n onSelectionChange(newSelections);\n }}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n animationsDisabled={model.animationsDisabled}\n />\n\n {model.rationale &&\n hasText(model.rationale) &&\n (!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.rationale} />\n </Collapsible>\n ) : (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.rationale} />\n </div>\n ))}\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </div>\n );\n }\n}\n\nconst StyledMain = withStyles((theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n textSelect: {\n marginBottom: theme.spacing.unit,\n marginTop: theme.spacing.unit * 2,\n whiteSpace: 'normal',\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: theme.spacing.unit,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n}))(Main);\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = (selectedTokens) => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return <StyledMain model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"file":"main.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "7.8.1-next.
|
|
7
|
+
"version": "7.8.1-next.78+3867e7270",
|
|
8
8
|
"description": "",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
"author": "",
|
|
21
21
|
"license": "ISC",
|
|
22
|
-
"gitHead": "
|
|
22
|
+
"gitHead": "3867e7270466f7f9b9f4c33bb72e7eed6d50bb57",
|
|
23
23
|
"scripts": {
|
|
24
24
|
"postpublish": "../../scripts/postpublish"
|
|
25
25
|
},
|