@pie-element/select-text 11.3.4-next.0 → 12.0.0-beta.0

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/lib/main.js CHANGED
@@ -1,264 +1,191 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = exports.Main = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
7
+ exports.default = exports.Main = void 0;
22
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
9
  var _react = _interopRequireDefault(require("react"));
25
-
26
10
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
11
  var _textSelect = require("@pie-lib/text-select");
29
-
30
12
  var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
31
-
32
13
  var _renderUi = require("@pie-lib/render-ui");
33
-
34
- var _styles = require("@material-ui/core/styles");
35
-
14
+ var _styles = require("@mui/material/styles");
36
15
  var _utils = _interopRequireDefault(require("./utils"));
37
-
38
16
  var _debug = _interopRequireDefault(require("debug"));
39
-
40
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
41
-
42
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
43
-
44
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
45
-
46
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
-
48
- var log = (0, _debug["default"])('@pie-ui:select-text');
49
- var Types = {
50
- model: _propTypes["default"].object,
51
- session: _propTypes["default"].object,
52
- onSelectionChange: _propTypes["default"].func.isRequired
17
+ const log = (0, _debug.default)('@pie-ui:select-text');
18
+ const StyledUiLayout = (0, _styles.styled)(_renderUi.UiLayout)({
19
+ color: _renderUi.color.text(),
20
+ backgroundColor: _renderUi.color.background()
21
+ });
22
+ const StyledTextSelect = (0, _styles.styled)(_textSelect.TextSelect)(({
23
+ theme
24
+ }) => ({
25
+ marginBottom: theme.spacing(1),
26
+ marginTop: theme.spacing(2),
27
+ whiteSpace: 'normal'
28
+ }));
29
+ const Prompt = (0, _styles.styled)('div')(({
30
+ theme
31
+ }) => ({
32
+ verticalAlign: 'middle',
33
+ marginBottom: theme.spacing(1)
34
+ }));
35
+ const StyledCollapsible = (0, _styles.styled)(_renderUi.Collapsible)(({
36
+ theme
37
+ }) => ({
38
+ marginBottom: theme.spacing(2)
39
+ }));
40
+ const Types = {
41
+ model: _propTypes.default.object,
42
+ session: _propTypes.default.object,
43
+ onSelectionChange: _propTypes.default.func.isRequired
53
44
  };
54
-
55
- var Main = /*#__PURE__*/function (_React$Component) {
56
- (0, _inherits2["default"])(Main, _React$Component);
57
-
58
- var _super = _createSuper(Main);
59
-
60
- function Main(props) {
61
- var _this;
62
-
63
- (0, _classCallCheck2["default"])(this, Main);
64
- _this = _super.call(this, props);
65
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleShowCorrect", function () {
66
- _this.setState({
67
- showCorrectAnswer: !_this.state.showCorrectAnswer
45
+ class Main extends _react.default.Component {
46
+ constructor(props) {
47
+ super(props);
48
+ (0, _defineProperty2.default)(this, "toggleShowCorrect", () => {
49
+ this.setState({
50
+ showCorrectAnswer: !this.state.showCorrectAnswer
68
51
  });
69
52
  });
70
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "correctAnswer", function () {
71
- var model = _this.state.model;
72
- return model.tokens.filter(function (t) {
73
- return t.correct;
74
- });
53
+ (0, _defineProperty2.default)(this, "correctAnswer", () => {
54
+ const {
55
+ model
56
+ } = this.state;
57
+ return model.tokens.filter(t => t.correct);
75
58
  });
76
- _this.state = {
77
- showCorrectAnswer: _this.props.model.alwaysShowCorrect || false,
78
- model: (0, _utils["default"])(props.model)
59
+ this.state = {
60
+ showCorrectAnswer: this.props.model.alwaysShowCorrect || false,
61
+ model: (0, _utils.default)(props.model)
79
62
  };
80
- return _this;
81
63
  }
82
-
83
- (0, _createClass2["default"])(Main, [{
84
- key: "UNSAFE_componentWillReceiveProps",
85
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
86
- this.setState({
87
- showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,
88
- model: (0, _utils["default"])(nextProps.model)
89
- });
90
- }
91
- }, {
92
- key: "render",
93
- value: function render() {
94
- var _this$props = this.props,
95
- session = _this$props.session,
96
- onSelectionChange = _this$props.onSelectionChange,
97
- classes = _this$props.classes;
98
- var _this$state = this.state,
99
- showCorrectAnswer = _this$state.showCorrectAnswer,
100
- model = _this$state.model;
101
- var env = model.env,
102
- extraCSSRules = model.extraCSSRules;
103
-
104
- var _ref = env || {},
105
- mode = _ref.mode;
106
-
107
- var selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;
108
- var showRationale = model.rationale && ((0, _renderUi.hasText)(model.rationale) || (0, _renderUi.hasMedia)(model.rationale));
109
- var showTeacherInstructions = model.teacherInstructions && ((0, _renderUi.hasText)(model.teacherInstructions) || (0, _renderUi.hasMedia)(model.teacherInstructions));
110
- log('[render] selectedTokens:', selectedTokens);
111
- return /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
112
- extraCSSRules: extraCSSRules,
113
- className: classes.mainContainer
114
- }, showTeacherInstructions && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
115
- labels: {
116
- hidden: 'Show Teacher Instructions',
117
- visible: 'Hide Teacher Instructions'
118
- },
119
- className: classes.collapsible
120
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
121
- prompt: model.teacherInstructions
122
- })) : /*#__PURE__*/_react["default"].createElement("div", {
123
- className: classes.prompt
124
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
125
- prompt: model.teacherInstructions
126
- }))), /*#__PURE__*/_react["default"].createElement("div", {
127
- className: classes.prompt
128
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
129
- prompt: model.prompt
130
- })), !model.alwaysShowCorrect && /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
131
- show: model.disabled && model.incorrect,
132
- toggled: showCorrectAnswer,
133
- onToggle: this.toggleShowCorrect,
134
- language: model.language
135
- }), /*#__PURE__*/_react["default"].createElement(_textSelect.TextSelect, {
136
- className: classes.textSelect,
137
- disabled: model.disabled,
138
- text: model.text,
139
- tokens: model.tokens,
140
- selectedTokens: selectedTokens,
141
- onChange: function onChange(selection) {
142
- var newSelections = selection.map(function (select) {
143
- var token = model.tokens.find(function (_ref2) {
144
- var start = _ref2.start,
145
- end = _ref2.end;
146
- return select.start === start && select.end === end;
147
- }); // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd
148
-
149
- if (token) {
150
- return token;
151
- }
152
-
153
- return select;
154
- });
155
- onSelectionChange(newSelections);
156
- },
157
- highlightChoices: model.highlightChoices,
158
- maxNoOfSelections: model.maxSelections,
159
- animationsDisabled: model.animationsDisabled
160
- }), mode === 'evaluate' && /*#__PURE__*/_react["default"].createElement(_textSelect.Legend, {
161
- language: model.language,
162
- showOnlyCorrect: showCorrectAnswer
163
- }), showRationale && (!model.animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
164
- labels: {
165
- hidden: 'Show Rationale',
166
- visible: 'Hide Rationale'
167
- },
168
- className: classes.collapsible
169
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
170
- prompt: model.rationale
171
- })) : /*#__PURE__*/_react["default"].createElement("div", {
172
- className: classes.prompt
173
- }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
174
- prompt: model.rationale
175
- }))), model.correctness && model.feedback && !showCorrectAnswer && /*#__PURE__*/_react["default"].createElement(_renderUi.Feedback, {
176
- correctness: model.correctness,
177
- feedback: model.feedback
178
- }));
179
- }
180
- }]);
181
- return Main;
182
- }(_react["default"].Component);
183
-
64
+ UNSAFE_componentWillReceiveProps(nextProps) {
65
+ this.setState({
66
+ showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,
67
+ model: (0, _utils.default)(nextProps.model)
68
+ });
69
+ }
70
+ render() {
71
+ const {
72
+ session,
73
+ onSelectionChange
74
+ } = this.props;
75
+ const {
76
+ showCorrectAnswer,
77
+ model
78
+ } = this.state;
79
+ const {
80
+ env,
81
+ extraCSSRules
82
+ } = model;
83
+ const {
84
+ mode
85
+ } = env || {};
86
+ const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;
87
+ const showRationale = model.rationale && ((0, _renderUi.hasText)(model.rationale) || (0, _renderUi.hasMedia)(model.rationale));
88
+ const showTeacherInstructions = model.teacherInstructions && ((0, _renderUi.hasText)(model.teacherInstructions) || (0, _renderUi.hasMedia)(model.teacherInstructions));
89
+ log('[render] selectedTokens:', selectedTokens);
90
+ return /*#__PURE__*/_react.default.createElement(StyledUiLayout, {
91
+ extraCSSRules: extraCSSRules
92
+ }, showTeacherInstructions && (!model.animationsDisabled ? /*#__PURE__*/_react.default.createElement(StyledCollapsible, {
93
+ labels: {
94
+ hidden: 'Show Teacher Instructions',
95
+ visible: 'Hide Teacher Instructions'
96
+ }
97
+ }, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
98
+ prompt: model.teacherInstructions
99
+ })) : /*#__PURE__*/_react.default.createElement(Prompt, null, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
100
+ prompt: model.teacherInstructions
101
+ }))), /*#__PURE__*/_react.default.createElement(Prompt, null, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
102
+ prompt: model.prompt
103
+ })), !model.alwaysShowCorrect && /*#__PURE__*/_react.default.createElement(_correctAnswerToggle.default, {
104
+ show: model.disabled && model.incorrect,
105
+ toggled: showCorrectAnswer,
106
+ onToggle: this.toggleShowCorrect,
107
+ language: model.language
108
+ }), /*#__PURE__*/_react.default.createElement(StyledTextSelect, {
109
+ disabled: model.disabled,
110
+ text: model.text,
111
+ tokens: model.tokens,
112
+ selectedTokens: selectedTokens,
113
+ onChange: selection => {
114
+ const newSelections = selection.map(select => {
115
+ const token = model.tokens.find(({
116
+ start,
117
+ end
118
+ }) => select.start === start && select.end === end);
119
+
120
+ // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd
121
+ if (token) {
122
+ return token;
123
+ }
124
+ return select;
125
+ });
126
+ onSelectionChange(newSelections);
127
+ },
128
+ highlightChoices: model.highlightChoices,
129
+ maxNoOfSelections: model.maxSelections,
130
+ animationsDisabled: model.animationsDisabled
131
+ }), mode === 'evaluate' && /*#__PURE__*/_react.default.createElement(_textSelect.Legend, {
132
+ language: model.language,
133
+ showOnlyCorrect: showCorrectAnswer
134
+ }), showRationale && (!model.animationsDisabled ? /*#__PURE__*/_react.default.createElement(StyledCollapsible, {
135
+ labels: {
136
+ hidden: 'Show Rationale',
137
+ visible: 'Hide Rationale'
138
+ }
139
+ }, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
140
+ prompt: model.rationale
141
+ })) : /*#__PURE__*/_react.default.createElement(Prompt, null, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
142
+ prompt: model.rationale
143
+ }))), model.correctness && model.feedback && !showCorrectAnswer && /*#__PURE__*/_react.default.createElement(_renderUi.Feedback, {
144
+ correctness: model.correctness,
145
+ feedback: model.feedback
146
+ }));
147
+ }
148
+ }
184
149
  exports.Main = Main;
185
- (0, _defineProperty2["default"])(Main, "propTypes", _objectSpread(_objectSpread({}, Types), {}, {
186
- classes: _propTypes["default"].object.isRequired
187
- }));
188
- (0, _defineProperty2["default"])(Main, "defaultProps", {});
189
- var StyledMain = (0, _styles.withStyles)(function (theme) {
190
- return {
191
- mainContainer: {
192
- color: _renderUi.color.text(),
193
- backgroundColor: _renderUi.color.background()
194
- },
195
- textSelect: {
196
- marginBottom: theme.spacing.unit,
197
- marginTop: theme.spacing.unit * 2,
198
- whiteSpace: 'normal'
199
- },
200
- prompt: {
201
- verticalAlign: 'middle',
202
- marginBottom: theme.spacing.unit
203
- },
204
- collapsible: {
205
- marginBottom: theme.spacing.unit * 2
206
- }
207
- };
208
- })(Main);
209
-
210
- var Stateful = /*#__PURE__*/function (_React$Component2) {
211
- (0, _inherits2["default"])(Stateful, _React$Component2);
212
-
213
- var _super2 = _createSuper(Stateful);
214
-
215
- function Stateful(props) {
216
- var _this2;
217
-
218
- (0, _classCallCheck2["default"])(this, Stateful);
219
- _this2 = _super2.call(this, props);
220
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this2), "change", function (selectedTokens) {
221
- var session = _objectSpread(_objectSpread({}, _this2.state.session), {}, {
222
- selectedTokens: selectedTokens
223
- });
224
-
225
- _this2.setState({
226
- session: session
227
- }, function () {
228
- _this2.props.onSelectionChange(_this2.state.session.selectedTokens);
150
+ (0, _defineProperty2.default)(Main, "propTypes", Types);
151
+ (0, _defineProperty2.default)(Main, "defaultProps", {});
152
+ class Stateful extends _react.default.Component {
153
+ constructor(props) {
154
+ super(props);
155
+ (0, _defineProperty2.default)(this, "change", selectedTokens => {
156
+ const session = {
157
+ ...this.state.session,
158
+ selectedTokens
159
+ };
160
+ this.setState({
161
+ session
162
+ }, () => {
163
+ this.props.onSelectionChange(this.state.session.selectedTokens);
229
164
  });
230
165
  });
231
- _this2.state = {
166
+ this.state = {
232
167
  model: props.model,
233
168
  session: props.session
234
169
  };
235
- return _this2;
236
170
  }
237
-
238
- (0, _createClass2["default"])(Stateful, [{
239
- key: "UNSAFE_componentWillReceiveProps",
240
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
241
- this.setState({
242
- model: nextProps.model,
243
- session: nextProps.session
244
- });
245
- }
246
- }, {
247
- key: "render",
248
- value: function render() {
249
- var _this$state2 = this.state,
250
- model = _this$state2.model,
251
- session = _this$state2.session;
252
- return /*#__PURE__*/_react["default"].createElement(StyledMain, {
253
- model: model,
254
- session: session,
255
- onSelectionChange: this.change
256
- });
257
- }
258
- }]);
259
- return Stateful;
260
- }(_react["default"].Component);
261
-
262
- exports["default"] = Stateful;
263
- (0, _defineProperty2["default"])(Stateful, "propTypes", Types);
171
+ UNSAFE_componentWillReceiveProps(nextProps) {
172
+ this.setState({
173
+ model: nextProps.model,
174
+ session: nextProps.session
175
+ });
176
+ }
177
+ render() {
178
+ const {
179
+ model,
180
+ session
181
+ } = this.state;
182
+ return /*#__PURE__*/_react.default.createElement(Main, {
183
+ model: model,
184
+ session: session,
185
+ onSelectionChange: this.change
186
+ });
187
+ }
188
+ }
189
+ exports.default = Stateful;
190
+ (0, _defineProperty2.default)(Stateful, "propTypes", Types);
264
191
  //# sourceMappingURL=main.js.map
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["log","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","props","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","nextProps","classes","env","extraCSSRules","mode","selectedTokens","correctAnswer","showRationale","rationale","showTeacherInstructions","teacherInstructions","mainContainer","animationsDisabled","hidden","visible","collapsible","prompt","disabled","incorrect","toggleShowCorrect","language","textSelect","text","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxSelections","correctness","feedback","React","Component","StyledMain","theme","color","backgroundColor","background","marginBottom","spacing","unit","marginTop","whiteSpace","verticalAlign","Stateful","change"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect, Legend } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } 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 const { env, extraCSSRules } = model;\n const { mode } = env || {};\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer}>\n {showTeacherInstructions &&\n (!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Collapsible>\n ) : (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.teacherInstructions} />\n </div>\n ))}\n\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.prompt} />\n </div>\n\n {!model.alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={model.language}\n />\n )}\n\n <TextSelect\n className={classes.textSelect}\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={(selection) => {\n const newSelections = selection.map((select) => {\n const token = model.tokens.find(({ start, end }) => select.start === start && select.end === end);\n\n // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd\n if (token) {\n return token;\n }\n\n return select;\n });\n\n onSelectionChange(newSelections);\n }}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n animationsDisabled={model.animationsDisabled}\n />\n {mode === 'evaluate' && <Legend language={model.language} showOnlyCorrect={showCorrectAnswer} />}\n\n {showRationale &&\n (!model.animationsDisabled ? (\n <Collapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n className={classes.collapsible}\n >\n <PreviewPrompt prompt={model.rationale} />\n </Collapsible>\n ) : (\n <div className={classes.prompt}>\n <PreviewPrompt prompt={model.rationale} />\n </div>\n ))}\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </UiLayout>\n );\n }\n}\n\nconst StyledMain = withStyles((theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n },\n textSelect: {\n marginBottom: theme.spacing.unit,\n marginTop: theme.spacing.unit * 2,\n whiteSpace: 'normal',\n },\n prompt: {\n verticalAlign: 'middle',\n marginBottom: theme.spacing.unit,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n}))(Main);\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = (selectedTokens) => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return <StyledMain model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"file":"main.js"}
1
+ {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_textSelect","_correctAnswerToggle","_renderUi","_styles","_utils","_debug","log","debug","StyledUiLayout","styled","UiLayout","color","text","backgroundColor","background","StyledTextSelect","TextSelect","theme","marginBottom","spacing","marginTop","whiteSpace","Prompt","verticalAlign","StyledCollapsible","Collapsible","Types","model","PropTypes","object","session","onSelectionChange","func","isRequired","Main","React","Component","constructor","props","_defineProperty2","default","setState","showCorrectAnswer","state","tokens","filter","t","correct","alwaysShowCorrect","generateModel","UNSAFE_componentWillReceiveProps","nextProps","render","env","extraCSSRules","mode","selectedTokens","correctAnswer","showRationale","rationale","hasText","hasMedia","showTeacherInstructions","teacherInstructions","createElement","animationsDisabled","labels","hidden","visible","PreviewPrompt","prompt","show","disabled","incorrect","toggled","onToggle","toggleShowCorrect","language","onChange","selection","newSelections","map","select","token","find","start","end","highlightChoices","maxNoOfSelections","maxSelections","Legend","showOnlyCorrect","correctness","feedback","Feedback","exports","Stateful","change"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { TextSelect, Legend } from '@pie-lib/text-select';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport { color, Feedback, Collapsible, hasText, hasMedia, PreviewPrompt, UiLayout } from '@pie-lib/render-ui';\nimport { styled } from '@mui/material/styles';\nimport generateModel from './utils';\n\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:select-text');\n\nconst StyledUiLayout = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n});\n\nconst StyledTextSelect = styled(TextSelect)(({ theme }) => ({\n marginBottom: theme.spacing(1),\n marginTop: theme.spacing(2),\n whiteSpace: 'normal',\n}));\n\nconst Prompt = styled('div')(({ theme }) => ({\n verticalAlign: 'middle',\n marginBottom: theme.spacing(1),\n}));\n\nconst StyledCollapsible = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst Types = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSelectionChange: PropTypes.func.isRequired,\n};\n\nexport class Main extends React.Component {\n static propTypes = Types;\n\n static defaultProps = {};\n\n constructor(props) {\n super(props);\n\n this.state = {\n showCorrectAnswer: this.props.model.alwaysShowCorrect || false,\n model: generateModel(props.model),\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({\n showCorrectAnswer: !!nextProps.model.alwaysShowCorrect,\n model: generateModel(nextProps.model),\n });\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n correctAnswer = () => {\n const { model } = this.state;\n\n return model.tokens.filter((t) => t.correct);\n };\n\n render() {\n const { session, onSelectionChange } = this.props;\n const { showCorrectAnswer, model } = this.state;\n const { env, extraCSSRules } = model;\n const { mode } = env || {};\n\n const selectedTokens = showCorrectAnswer ? this.correctAnswer() : session.selectedTokens;\n const showRationale = model.rationale && (hasText(model.rationale) || hasMedia(model.rationale));\n const showTeacherInstructions =\n model.teacherInstructions && (hasText(model.teacherInstructions) || hasMedia(model.teacherInstructions));\n\n log('[render] selectedTokens:', selectedTokens);\n\n return (\n <StyledUiLayout extraCSSRules={extraCSSRules}>\n {showTeacherInstructions &&\n (!model.animationsDisabled ? (\n <StyledCollapsible\n labels={{ hidden: 'Show Teacher Instructions', visible: 'Hide Teacher Instructions' }}\n >\n <PreviewPrompt prompt={model.teacherInstructions} />\n </StyledCollapsible>\n ) : (\n <Prompt>\n <PreviewPrompt prompt={model.teacherInstructions} />\n </Prompt>\n ))}\n\n <Prompt>\n <PreviewPrompt prompt={model.prompt} />\n </Prompt>\n\n {!model.alwaysShowCorrect && (\n <CorrectAnswerToggle\n show={model.disabled && model.incorrect}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n language={model.language}\n />\n )}\n\n <StyledTextSelect\n disabled={model.disabled}\n text={model.text}\n tokens={model.tokens}\n selectedTokens={selectedTokens}\n onChange={(selection) => {\n const newSelections = selection.map((select) => {\n const token = model.tokens.find(({ start, end }) => select.start === start && select.end === end);\n\n // needed for getScore when tokens position is recalculated, to keep oldStart and oldEnd\n if (token) {\n return token;\n }\n\n return select;\n });\n\n onSelectionChange(newSelections);\n }}\n highlightChoices={model.highlightChoices}\n maxNoOfSelections={model.maxSelections}\n animationsDisabled={model.animationsDisabled}\n />\n {mode === 'evaluate' && <Legend language={model.language} showOnlyCorrect={showCorrectAnswer} />}\n\n {showRationale &&\n (!model.animationsDisabled ? (\n <StyledCollapsible\n labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}\n >\n <PreviewPrompt prompt={model.rationale} />\n </StyledCollapsible>\n ) : (\n <Prompt>\n <PreviewPrompt prompt={model.rationale} />\n </Prompt>\n ))}\n\n {model.correctness && model.feedback && !showCorrectAnswer && (\n <Feedback correctness={model.correctness} feedback={model.feedback} />\n )}\n </StyledUiLayout>\n );\n }\n}\n\nexport default class Stateful extends React.Component {\n static propTypes = Types;\n\n constructor(props) {\n super(props);\n this.state = {\n model: props.model,\n session: props.session,\n };\n }\n\n UNSAFE_componentWillReceiveProps(nextProps) {\n this.setState({ model: nextProps.model, session: nextProps.session });\n }\n\n change = (selectedTokens) => {\n const session = { ...this.state.session, selectedTokens };\n this.setState({ session }, () => {\n this.props.onSelectionChange(this.state.session.selectedTokens);\n });\n };\n\n render() {\n const { model, session } = this.state;\n return <Main model={model} session={session} onSelectionChange={this.change} />;\n }\n}\n"],"mappings":"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","ignoreList":[]}