@pie-element/charting 10.1.0 → 10.2.0-mui-update.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/CHANGELOG.md +66 -0
- package/configure/CHANGELOG.md +66 -0
- package/configure/lib/__tests__/configure.test.js +215 -0
- package/configure/lib/__tests__/correctResponse.test.js +151 -0
- package/configure/lib/charting-config.js +150 -221
- package/configure/lib/charting-config.js.map +1 -1
- package/configure/lib/configure.js +280 -379
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/correct-response.js +184 -259
- package/configure/lib/correct-response.js.map +1 -1
- package/configure/lib/defaults.js +3 -5
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +100 -164
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/utils.js +25 -42
- package/configure/lib/utils.js.map +1 -1
- package/configure/package.json +12 -10
- package/controller/CHANGELOG.md +52 -0
- package/controller/lib/__tests__/index.test.js +1676 -0
- package/controller/lib/defaults.js +3 -5
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +162 -231
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +2 -2
- package/docs/demo/pie.manifest.json +11 -0
- package/lib/__tests__/main.test.js +40 -0
- package/lib/index.js +53 -100
- package/lib/index.js.map +1 -1
- package/lib/main.js +146 -209
- package/lib/main.js.map +1 -1
- package/package.json +12 -10
- package/LICENSE.md +0 -5
package/lib/main.js
CHANGED
|
@@ -1,230 +1,167 @@
|
|
|
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
|
|
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
|
-
var _styles = require("@material-ui/core/styles");
|
|
29
|
-
|
|
11
|
+
var _styles = require("@mui/material/styles");
|
|
30
12
|
var _renderUi = require("@pie-lib/render-ui");
|
|
31
|
-
|
|
32
13
|
var _charting = require("@pie-lib/charting");
|
|
33
|
-
|
|
34
14
|
var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
|
|
35
|
-
|
|
36
15
|
var _correctAnswerToggle = _interopRequireDefault(require("@pie-lib/correct-answer-toggle"));
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
(
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
});
|
|
63
|
-
|
|
64
|
-
return _this.setState({
|
|
65
|
-
showingCorrect: showingCorrect
|
|
66
|
-
});
|
|
67
|
-
});
|
|
68
|
-
_this.state = {
|
|
16
|
+
const StyledUiLayout = (0, _styles.styled)(_renderUi.UiLayout)({
|
|
17
|
+
color: _renderUi.color.text(),
|
|
18
|
+
backgroundColor: _renderUi.color.background(),
|
|
19
|
+
overflowX: 'scroll',
|
|
20
|
+
overflowY: 'hidden'
|
|
21
|
+
});
|
|
22
|
+
const StyledChart = (0, _styles.styled)(_charting.Chart)(({
|
|
23
|
+
theme
|
|
24
|
+
}) => ({
|
|
25
|
+
marginTop: theme.spacing(2),
|
|
26
|
+
marginBottom: theme.spacing(2)
|
|
27
|
+
}));
|
|
28
|
+
const StyledCollapsible = (0, _styles.styled)(_renderUi.Collapsible)(({
|
|
29
|
+
theme
|
|
30
|
+
}) => ({
|
|
31
|
+
marginBottom: theme.spacing(2)
|
|
32
|
+
}));
|
|
33
|
+
class Main extends _react.default.Component {
|
|
34
|
+
constructor(props) {
|
|
35
|
+
super(props);
|
|
36
|
+
(0, _defineProperty2.default)(this, "changeData", data => this.setState({
|
|
37
|
+
categories: data
|
|
38
|
+
}, () => this.props.onAnswersChange(data)));
|
|
39
|
+
(0, _defineProperty2.default)(this, "toggleCorrect", showingCorrect => this.setState({
|
|
40
|
+
showingCorrect
|
|
41
|
+
}));
|
|
42
|
+
this.state = {
|
|
69
43
|
categories: props.categories || props.model.data,
|
|
70
44
|
showingCorrect: false
|
|
71
45
|
};
|
|
72
|
-
return _this;
|
|
73
46
|
}
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
} else if (!(0, _isEqual["default"])(prevProps.model.data, this.props.model.data)) {
|
|
83
|
-
this.setState({
|
|
84
|
-
categories: this.props.model.data
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}, {
|
|
89
|
-
key: "render",
|
|
90
|
-
value: function render() {
|
|
91
|
-
var _this$state = this.state,
|
|
92
|
-
categories = _this$state.categories,
|
|
93
|
-
showingCorrect = _this$state.showingCorrect;
|
|
94
|
-
var _this$props = this.props,
|
|
95
|
-
model = _this$props.model,
|
|
96
|
-
classes = _this$props.classes;
|
|
97
|
-
var teacherInstructions = model.teacherInstructions,
|
|
98
|
-
prompt = model.prompt,
|
|
99
|
-
chartType = model.chartType,
|
|
100
|
-
size = model.size,
|
|
101
|
-
domain = model.domain,
|
|
102
|
-
range = model.range,
|
|
103
|
-
title = model.title,
|
|
104
|
-
addCategoryEnabled = model.addCategoryEnabled,
|
|
105
|
-
studentNewCategoryDefaultLabel = model.studentNewCategoryDefaultLabel,
|
|
106
|
-
showToggle = model.showToggle,
|
|
107
|
-
rationale = model.rationale,
|
|
108
|
-
correctAnswer = model.correctAnswer,
|
|
109
|
-
language = model.language,
|
|
110
|
-
env = model.env,
|
|
111
|
-
showKeyLegend = model.showKeyLegend;
|
|
112
|
-
var correctedAnswer = model.correctedAnswer,
|
|
113
|
-
extraCSSRules = model.extraCSSRules;
|
|
114
|
-
var correctData = ((correctAnswer === null || correctAnswer === void 0 ? void 0 : correctAnswer.data) || []).map(function (data) {
|
|
115
|
-
return _objectSpread(_objectSpread({}, data), {}, {
|
|
116
|
-
interactive: false,
|
|
117
|
-
editable: false
|
|
118
|
-
});
|
|
47
|
+
componentDidUpdate(prevProps) {
|
|
48
|
+
if (!(0, _isEqual.default)(prevProps.categories, this.props.categories)) {
|
|
49
|
+
this.setState({
|
|
50
|
+
categories: this.props.categories
|
|
51
|
+
});
|
|
52
|
+
} else if (!(0, _isEqual.default)(prevProps.model.data, this.props.model.data)) {
|
|
53
|
+
this.setState({
|
|
54
|
+
categories: this.props.model.data
|
|
119
55
|
});
|
|
120
|
-
|
|
121
|
-
var _ref = env || {},
|
|
122
|
-
mode = _ref.mode; // need to make labels disabled in view mode PD-3928
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
if (mode === 'view') {
|
|
126
|
-
correctedAnswer = (correctedAnswer || []).map(function (data) {
|
|
127
|
-
return _objectSpread(_objectSpread({}, data), {}, {
|
|
128
|
-
editable: false
|
|
129
|
-
});
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
|
|
133
|
-
var showRationale = model.rationale && ((0, _renderUi.hasText)(model.rationale) || (0, _renderUi.hasMedia)(model.rationale));
|
|
134
|
-
var showTeacherInstructions = model.teacherInstructions && ((0, _renderUi.hasText)(model.teacherInstructions) || (0, _renderUi.hasMedia)(model.teacherInstructions));
|
|
135
|
-
return /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
|
|
136
|
-
extraCSSRules: extraCSSRules,
|
|
137
|
-
className: classes.mainContainer
|
|
138
|
-
}, showTeacherInstructions && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
139
|
-
className: classes.collapsible,
|
|
140
|
-
labels: {
|
|
141
|
-
hidden: 'Show Teacher Instructions',
|
|
142
|
-
visible: 'Hide Teacher Instructions'
|
|
143
|
-
}
|
|
144
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
145
|
-
prompt: teacherInstructions
|
|
146
|
-
})), prompt && /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
147
|
-
className: "prompt",
|
|
148
|
-
prompt: prompt
|
|
149
|
-
}), /*#__PURE__*/_react["default"].createElement(_correctAnswerToggle["default"], {
|
|
150
|
-
show: showToggle,
|
|
151
|
-
toggled: showingCorrect,
|
|
152
|
-
onToggle: this.toggleCorrect,
|
|
153
|
-
language: language
|
|
154
|
-
}), showingCorrect && showToggle ? /*#__PURE__*/_react["default"].createElement(_charting.Chart, {
|
|
155
|
-
className: classes.chart,
|
|
156
|
-
chartType: chartType,
|
|
157
|
-
size: size,
|
|
158
|
-
domain: domain,
|
|
159
|
-
range: range,
|
|
160
|
-
charts: [_charting.chartTypes.Bar(), _charting.chartTypes.Histogram(), _charting.chartTypes.LineDot(), _charting.chartTypes.LineCross(), _charting.chartTypes.DotPlot(), _charting.chartTypes.LinePlot()],
|
|
161
|
-
data: correctData || categories,
|
|
162
|
-
title: title,
|
|
163
|
-
onDataChange: this.changeData,
|
|
164
|
-
addCategoryEnabled: false,
|
|
165
|
-
categoryDefaultLabel: studentNewCategoryDefaultLabel,
|
|
166
|
-
language: language,
|
|
167
|
-
labelsPlaceholders: {}
|
|
168
|
-
}) : /*#__PURE__*/_react["default"].createElement(_charting.Chart, {
|
|
169
|
-
className: classes.chart,
|
|
170
|
-
chartType: chartType,
|
|
171
|
-
size: size,
|
|
172
|
-
domain: domain,
|
|
173
|
-
range: range,
|
|
174
|
-
charts: [_charting.chartTypes.Bar(), _charting.chartTypes.Histogram(), _charting.chartTypes.LineDot(), _charting.chartTypes.LineCross(), _charting.chartTypes.DotPlot(), _charting.chartTypes.LinePlot()],
|
|
175
|
-
data: correctedAnswer || categories,
|
|
176
|
-
title: title,
|
|
177
|
-
onDataChange: this.changeData,
|
|
178
|
-
addCategoryEnabled: addCategoryEnabled,
|
|
179
|
-
categoryDefaultLabel: studentNewCategoryDefaultLabel,
|
|
180
|
-
language: language,
|
|
181
|
-
labelsPlaceholders: {},
|
|
182
|
-
correctData: showToggle ? correctData : undefined
|
|
183
|
-
}), !showingCorrect && showKeyLegend && /*#__PURE__*/_react["default"].createElement(_charting.KeyLegend, {
|
|
184
|
-
language: language
|
|
185
|
-
}), showRationale && /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
186
|
-
labels: {
|
|
187
|
-
hidden: 'Show Rationale',
|
|
188
|
-
visible: 'Hide Rationale'
|
|
189
|
-
}
|
|
190
|
-
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
191
|
-
prompt: rationale
|
|
192
|
-
})));
|
|
193
56
|
}
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
57
|
+
}
|
|
58
|
+
render() {
|
|
59
|
+
const {
|
|
60
|
+
categories,
|
|
61
|
+
showingCorrect
|
|
62
|
+
} = this.state;
|
|
63
|
+
const {
|
|
64
|
+
model
|
|
65
|
+
} = this.props;
|
|
66
|
+
const {
|
|
67
|
+
teacherInstructions,
|
|
68
|
+
prompt,
|
|
69
|
+
chartType,
|
|
70
|
+
size,
|
|
71
|
+
domain,
|
|
72
|
+
range,
|
|
73
|
+
title,
|
|
74
|
+
addCategoryEnabled,
|
|
75
|
+
studentNewCategoryDefaultLabel,
|
|
76
|
+
showToggle,
|
|
77
|
+
rationale,
|
|
78
|
+
correctAnswer,
|
|
79
|
+
language,
|
|
80
|
+
env,
|
|
81
|
+
showKeyLegend
|
|
82
|
+
} = model;
|
|
83
|
+
let {
|
|
84
|
+
correctedAnswer,
|
|
85
|
+
extraCSSRules
|
|
86
|
+
} = model;
|
|
87
|
+
const correctData = (correctAnswer?.data || []).map(data => ({
|
|
88
|
+
...data,
|
|
89
|
+
interactive: false,
|
|
90
|
+
editable: false
|
|
91
|
+
}));
|
|
92
|
+
const {
|
|
93
|
+
mode
|
|
94
|
+
} = env || {};
|
|
95
|
+
// need to make labels disabled in view mode PD-3928
|
|
96
|
+
if (mode === 'view') {
|
|
97
|
+
correctedAnswer = (correctedAnswer || []).map(data => ({
|
|
98
|
+
...data,
|
|
99
|
+
editable: false
|
|
100
|
+
}));
|
|
101
|
+
}
|
|
102
|
+
const showRationale = model.rationale && ((0, _renderUi.hasText)(model.rationale) || (0, _renderUi.hasMedia)(model.rationale));
|
|
103
|
+
const showTeacherInstructions = model.teacherInstructions && ((0, _renderUi.hasText)(model.teacherInstructions) || (0, _renderUi.hasMedia)(model.teacherInstructions));
|
|
104
|
+
return /*#__PURE__*/_react.default.createElement(StyledUiLayout, {
|
|
105
|
+
extraCSSRules: extraCSSRules
|
|
106
|
+
}, showTeacherInstructions && /*#__PURE__*/_react.default.createElement(StyledCollapsible, {
|
|
107
|
+
labels: {
|
|
108
|
+
hidden: 'Show Teacher Instructions',
|
|
109
|
+
visible: 'Hide Teacher Instructions'
|
|
110
|
+
}
|
|
111
|
+
}, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
112
|
+
prompt: teacherInstructions
|
|
113
|
+
})), prompt && /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
114
|
+
className: "prompt",
|
|
115
|
+
prompt: prompt
|
|
116
|
+
}), /*#__PURE__*/_react.default.createElement(_correctAnswerToggle.default, {
|
|
117
|
+
show: showToggle,
|
|
118
|
+
toggled: showingCorrect,
|
|
119
|
+
onToggle: this.toggleCorrect,
|
|
120
|
+
language: language
|
|
121
|
+
}), showingCorrect && showToggle ? /*#__PURE__*/_react.default.createElement(StyledChart, {
|
|
122
|
+
chartType: chartType,
|
|
123
|
+
size: size,
|
|
124
|
+
domain: domain,
|
|
125
|
+
range: range,
|
|
126
|
+
charts: [_charting.chartTypes.Bar(), _charting.chartTypes.Histogram(), _charting.chartTypes.LineDot(), _charting.chartTypes.LineCross(), _charting.chartTypes.DotPlot(), _charting.chartTypes.LinePlot()],
|
|
127
|
+
data: correctData || categories,
|
|
128
|
+
title: title,
|
|
129
|
+
onDataChange: this.changeData,
|
|
130
|
+
addCategoryEnabled: false,
|
|
131
|
+
categoryDefaultLabel: studentNewCategoryDefaultLabel,
|
|
132
|
+
language: language,
|
|
133
|
+
labelsPlaceholders: {}
|
|
134
|
+
}) : /*#__PURE__*/_react.default.createElement(StyledChart, {
|
|
135
|
+
chartType: chartType,
|
|
136
|
+
size: size,
|
|
137
|
+
domain: domain,
|
|
138
|
+
range: range,
|
|
139
|
+
charts: [_charting.chartTypes.Bar(), _charting.chartTypes.Histogram(), _charting.chartTypes.LineDot(), _charting.chartTypes.LineCross(), _charting.chartTypes.DotPlot(), _charting.chartTypes.LinePlot()],
|
|
140
|
+
data: correctedAnswer || categories,
|
|
141
|
+
title: title,
|
|
142
|
+
onDataChange: this.changeData,
|
|
143
|
+
addCategoryEnabled: addCategoryEnabled,
|
|
144
|
+
categoryDefaultLabel: studentNewCategoryDefaultLabel,
|
|
145
|
+
language: language,
|
|
146
|
+
labelsPlaceholders: {},
|
|
147
|
+
correctData: showToggle ? correctData : undefined
|
|
148
|
+
}), !showingCorrect && showKeyLegend && /*#__PURE__*/_react.default.createElement(_charting.KeyLegend, {
|
|
149
|
+
language: language
|
|
150
|
+
}), showRationale && /*#__PURE__*/_react.default.createElement(_renderUi.Collapsible, {
|
|
151
|
+
labels: {
|
|
152
|
+
hidden: 'Show Rationale',
|
|
153
|
+
visible: 'Hide Rationale'
|
|
154
|
+
}
|
|
155
|
+
}, /*#__PURE__*/_react.default.createElement(_renderUi.PreviewPrompt, {
|
|
156
|
+
prompt: rationale
|
|
157
|
+
})));
|
|
158
|
+
}
|
|
159
|
+
}
|
|
198
160
|
exports.Main = Main;
|
|
199
|
-
(0, _defineProperty2
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
categories: _propTypes["default"].array
|
|
161
|
+
(0, _defineProperty2.default)(Main, "propTypes", {
|
|
162
|
+
model: _propTypes.default.object.isRequired,
|
|
163
|
+
onAnswersChange: _propTypes.default.func,
|
|
164
|
+
categories: _propTypes.default.array
|
|
204
165
|
});
|
|
205
|
-
|
|
206
|
-
classes: {}
|
|
207
|
-
});
|
|
208
|
-
|
|
209
|
-
var styles = function styles(theme) {
|
|
210
|
-
return {
|
|
211
|
-
mainContainer: {
|
|
212
|
-
color: _renderUi.color.text(),
|
|
213
|
-
backgroundColor: _renderUi.color.background(),
|
|
214
|
-
overflowX: 'scroll',
|
|
215
|
-
overflowY: 'hidden'
|
|
216
|
-
},
|
|
217
|
-
chart: {
|
|
218
|
-
marginTop: theme.spacing.unit * 2,
|
|
219
|
-
marginBottom: theme.spacing.unit * 2
|
|
220
|
-
},
|
|
221
|
-
collapsible: {
|
|
222
|
-
marginBottom: theme.spacing.unit * 2
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
};
|
|
226
|
-
|
|
227
|
-
var _default = (0, _styles.withStyles)(styles)(Main);
|
|
228
|
-
|
|
229
|
-
exports["default"] = _default;
|
|
230
|
-
//# sourceMappingURL=main.js.map
|
|
166
|
+
var _default = exports.default = Main;
|
|
167
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX3JlbmRlclVpIiwiX2NoYXJ0aW5nIiwiX2lzRXF1YWwiLCJfY29ycmVjdEFuc3dlclRvZ2dsZSIsIlN0eWxlZFVpTGF5b3V0Iiwic3R5bGVkIiwiVWlMYXlvdXQiLCJjb2xvciIsInRleHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwib3ZlcmZsb3dYIiwib3ZlcmZsb3dZIiwiU3R5bGVkQ2hhcnQiLCJDaGFydCIsInRoZW1lIiwibWFyZ2luVG9wIiwic3BhY2luZyIsIm1hcmdpbkJvdHRvbSIsIlN0eWxlZENvbGxhcHNpYmxlIiwiQ29sbGFwc2libGUiLCJNYWluIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJkYXRhIiwic2V0U3RhdGUiLCJjYXRlZ29yaWVzIiwib25BbnN3ZXJzQ2hhbmdlIiwic2hvd2luZ0NvcnJlY3QiLCJzdGF0ZSIsIm1vZGVsIiwiY29tcG9uZW50RGlkVXBkYXRlIiwicHJldlByb3BzIiwiaXNFcXVhbCIsInJlbmRlciIsInRlYWNoZXJJbnN0cnVjdGlvbnMiLCJwcm9tcHQiLCJjaGFydFR5cGUiLCJzaXplIiwiZG9tYWluIiwicmFuZ2UiLCJ0aXRsZSIsImFkZENhdGVnb3J5RW5hYmxlZCIsInN0dWRlbnROZXdDYXRlZ29yeURlZmF1bHRMYWJlbCIsInNob3dUb2dnbGUiLCJyYXRpb25hbGUiLCJjb3JyZWN0QW5zd2VyIiwibGFuZ3VhZ2UiLCJlbnYiLCJzaG93S2V5TGVnZW5kIiwiY29ycmVjdGVkQW5zd2VyIiwiZXh0cmFDU1NSdWxlcyIsImNvcnJlY3REYXRhIiwibWFwIiwiaW50ZXJhY3RpdmUiLCJlZGl0YWJsZSIsIm1vZGUiLCJzaG93UmF0aW9uYWxlIiwiaGFzVGV4dCIsImhhc01lZGlhIiwic2hvd1RlYWNoZXJJbnN0cnVjdGlvbnMiLCJjcmVhdGVFbGVtZW50IiwibGFiZWxzIiwiaGlkZGVuIiwidmlzaWJsZSIsIlByZXZpZXdQcm9tcHQiLCJjbGFzc05hbWUiLCJzaG93IiwidG9nZ2xlZCIsIm9uVG9nZ2xlIiwidG9nZ2xlQ29ycmVjdCIsImNoYXJ0cyIsImNoYXJ0VHlwZXMiLCJCYXIiLCJIaXN0b2dyYW0iLCJMaW5lRG90IiwiTGluZUNyb3NzIiwiRG90UGxvdCIsIkxpbmVQbG90Iiwib25EYXRhQ2hhbmdlIiwiY2hhbmdlRGF0YSIsImNhdGVnb3J5RGVmYXVsdExhYmVsIiwibGFiZWxzUGxhY2Vob2xkZXJzIiwidW5kZWZpbmVkIiwiS2V5TGVnZW5kIiwiZXhwb3J0cyIsIlByb3BUeXBlcyIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJmdW5jIiwiYXJyYXkiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCB7IGNvbG9yLCBDb2xsYXBzaWJsZSwgaGFzVGV4dCwgUHJldmlld1Byb21wdCwgVWlMYXlvdXQsIGhhc01lZGlhIH0gZnJvbSAnQHBpZS1saWIvcmVuZGVyLXVpJztcbmltcG9ydCB7IENoYXJ0LCBjaGFydFR5cGVzLCBLZXlMZWdlbmQgfSBmcm9tICdAcGllLWxpYi9jaGFydGluZyc7XG5pbXBvcnQgaXNFcXVhbCBmcm9tICdsb2Rhc2gvaXNFcXVhbCc7XG5pbXBvcnQgQ29ycmVjdEFuc3dlclRvZ2dsZSBmcm9tICdAcGllLWxpYi9jb3JyZWN0LWFuc3dlci10b2dnbGUnO1xuXG5jb25zdCBTdHlsZWRVaUxheW91dCA9IHN0eWxlZChVaUxheW91dCkoe1xuICBjb2xvcjogY29sb3IudGV4dCgpLFxuICBiYWNrZ3JvdW5kQ29sb3I6IGNvbG9yLmJhY2tncm91bmQoKSxcbiAgb3ZlcmZsb3dYOiAnc2Nyb2xsJyxcbiAgb3ZlcmZsb3dZOiAnaGlkZGVuJyxcbn0pO1xuXG5jb25zdCBTdHlsZWRDaGFydCA9IHN0eWxlZChDaGFydCkoKHsgdGhlbWUgfSkgPT4gKHtcbiAgbWFyZ2luVG9wOiB0aGVtZS5zcGFjaW5nKDIpLFxuICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcoMiksXG59KSk7XG5cbmNvbnN0IFN0eWxlZENvbGxhcHNpYmxlID0gc3R5bGVkKENvbGxhcHNpYmxlKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcoMiksXG59KSk7XG5cbmV4cG9ydCBjbGFzcyBNYWluIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIG9uQW5zd2Vyc0NoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gICAgY2F0ZWdvcmllczogUHJvcFR5cGVzLmFycmF5LFxuICB9O1xuXG4gIGNvbnN0cnVjdG9yKHByb3BzKSB7XG4gICAgc3VwZXIocHJvcHMpO1xuXG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIGNhdGVnb3JpZXM6IHByb3BzLmNhdGVnb3JpZXMgfHwgcHJvcHMubW9kZWwuZGF0YSxcbiAgICAgIHNob3dpbmdDb3JyZWN0OiBmYWxzZSxcbiAgICB9O1xuICB9XG5cbiAgY29tcG9uZW50RGlkVXBkYXRlKHByZXZQcm9wcykge1xuICAgIGlmICghaXNFcXVhbChwcmV2UHJvcHMuY2F0ZWdvcmllcywgdGhpcy5wcm9wcy5jYXRlZ29yaWVzKSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IGNhdGVnb3JpZXM6IHRoaXMucHJvcHMuY2F0ZWdvcmllcyB9KTtcbiAgICB9IGVsc2UgaWYgKCFpc0VxdWFsKHByZXZQcm9wcy5tb2RlbC5kYXRhLCB0aGlzLnByb3BzLm1vZGVsLmRhdGEpKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHsgY2F0ZWdvcmllczogdGhpcy5wcm9wcy5tb2RlbC5kYXRhIH0pO1xuICAgIH1cbiAgfVxuXG4gIGNoYW5nZURhdGEgPSAoZGF0YSkgPT5cbiAgICB0aGlzLnNldFN0YXRlKFxuICAgICAge1xuICAgICAgICBjYXRlZ29yaWVzOiBkYXRhLFxuICAgICAgfSxcbiAgICAgICgpID0+IHRoaXMucHJvcHMub25BbnN3ZXJzQ2hhbmdlKGRhdGEpLFxuICAgICk7XG5cbiAgdG9nZ2xlQ29ycmVjdCA9IChzaG93aW5nQ29ycmVjdCkgPT4gdGhpcy5zZXRTdGF0ZSh7IHNob3dpbmdDb3JyZWN0IH0pO1xuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7IGNhdGVnb3JpZXMsIHNob3dpbmdDb3JyZWN0IH0gPSB0aGlzLnN0YXRlO1xuICAgIGNvbnN0IHsgbW9kZWwgfSA9IHRoaXMucHJvcHM7XG4gICAgY29uc3Qge1xuICAgICAgdGVhY2hlckluc3RydWN0aW9ucyxcbiAgICAgIHByb21wdCxcbiAgICAgIGNoYXJ0VHlwZSxcbiAgICAgIHNpemUsXG4gICAgICBkb21haW4sXG4gICAgICByYW5nZSxcbiAgICAgIHRpdGxlLFxuICAgICAgYWRkQ2F0ZWdvcnlFbmFibGVkLFxuICAgICAgc3R1ZGVudE5ld0NhdGVnb3J5RGVmYXVsdExhYmVsLFxuICAgICAgc2hvd1RvZ2dsZSxcbiAgICAgIHJhdGlvbmFsZSxcbiAgICAgIGNvcnJlY3RBbnN3ZXIsXG4gICAgICBsYW5ndWFnZSxcbiAgICAgIGVudixcbiAgICAgIHNob3dLZXlMZWdlbmQsXG4gICAgfSA9IG1vZGVsO1xuXG4gICAgbGV0IHsgY29ycmVjdGVkQW5zd2VyLCBleHRyYUNTU1J1bGVzIH0gPSBtb2RlbDtcblxuICAgIGNvbnN0IGNvcnJlY3REYXRhID0gKGNvcnJlY3RBbnN3ZXI/LmRhdGEgfHwgW10pLm1hcCgoZGF0YSkgPT4gKHsgLi4uZGF0YSwgaW50ZXJhY3RpdmU6IGZhbHNlLCBlZGl0YWJsZTogZmFsc2UgfSkpO1xuICAgIGNvbnN0IHsgbW9kZSB9ID0gZW52IHx8IHt9O1xuICAgIC8vIG5lZWQgdG8gbWFrZSBsYWJlbHMgZGlzYWJsZWQgaW4gdmlldyBtb2RlIFBELTM5MjhcbiAgICBpZiAobW9kZSA9PT0gJ3ZpZXcnKSB7XG4gICAgICBjb3JyZWN0ZWRBbnN3ZXIgPSAoY29ycmVjdGVkQW5zd2VyIHx8IFtdKS5tYXAoKGRhdGEpID0+ICh7IC4uLmRhdGEsIGVkaXRhYmxlOiBmYWxzZSB9KSk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2hvd1JhdGlvbmFsZSA9IG1vZGVsLnJhdGlvbmFsZSAmJiAoaGFzVGV4dChtb2RlbC5yYXRpb25hbGUpIHx8IGhhc01lZGlhKG1vZGVsLnJhdGlvbmFsZSkpO1xuICAgIGNvbnN0IHNob3dUZWFjaGVySW5zdHJ1Y3Rpb25zID1cbiAgICAgIG1vZGVsLnRlYWNoZXJJbnN0cnVjdGlvbnMgJiYgKGhhc1RleHQobW9kZWwudGVhY2hlckluc3RydWN0aW9ucykgfHwgaGFzTWVkaWEobW9kZWwudGVhY2hlckluc3RydWN0aW9ucykpO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdHlsZWRVaUxheW91dCBleHRyYUNTU1J1bGVzPXtleHRyYUNTU1J1bGVzfT5cbiAgICAgICAge3Nob3dUZWFjaGVySW5zdHJ1Y3Rpb25zICYmIChcbiAgICAgICAgICA8U3R5bGVkQ29sbGFwc2libGVcbiAgICAgICAgICAgIGxhYmVscz17e1xuICAgICAgICAgICAgICBoaWRkZW46ICdTaG93IFRlYWNoZXIgSW5zdHJ1Y3Rpb25zJyxcbiAgICAgICAgICAgICAgdmlzaWJsZTogJ0hpZGUgVGVhY2hlciBJbnN0cnVjdGlvbnMnLFxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8UHJldmlld1Byb21wdCBwcm9tcHQ9e3RlYWNoZXJJbnN0cnVjdGlvbnN9IC8+XG4gICAgICAgICAgPC9TdHlsZWRDb2xsYXBzaWJsZT5cbiAgICAgICAgKX1cblxuICAgICAgICB7cHJvbXB0ICYmIDxQcmV2aWV3UHJvbXB0IGNsYXNzTmFtZT1cInByb21wdFwiIHByb21wdD17cHJvbXB0fSAvPn1cblxuICAgICAgICA8Q29ycmVjdEFuc3dlclRvZ2dsZVxuICAgICAgICAgIHNob3c9e3Nob3dUb2dnbGV9XG4gICAgICAgICAgdG9nZ2xlZD17c2hvd2luZ0NvcnJlY3R9XG4gICAgICAgICAgb25Ub2dnbGU9e3RoaXMudG9nZ2xlQ29ycmVjdH1cbiAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgIC8+XG5cbiAgICAgICAge3Nob3dpbmdDb3JyZWN0ICYmIHNob3dUb2dnbGUgPyAoXG4gICAgICAgICAgPFN0eWxlZENoYXJ0XG4gICAgICAgICAgICBjaGFydFR5cGU9e2NoYXJ0VHlwZX1cbiAgICAgICAgICAgIHNpemU9e3NpemV9XG4gICAgICAgICAgICBkb21haW49e2RvbWFpbn1cbiAgICAgICAgICAgIHJhbmdlPXtyYW5nZX1cbiAgICAgICAgICAgIGNoYXJ0cz17W1xuICAgICAgICAgICAgICBjaGFydFR5cGVzLkJhcigpLFxuICAgICAgICAgICAgICBjaGFydFR5cGVzLkhpc3RvZ3JhbSgpLFxuICAgICAgICAgICAgICBjaGFydFR5cGVzLkxpbmVEb3QoKSxcbiAgICAgICAgICAgICAgY2hhcnRUeXBlcy5MaW5lQ3Jvc3MoKSxcbiAgICAgICAgICAgICAgY2hhcnRUeXBlcy5Eb3RQbG90KCksXG4gICAgICAgICAgICAgIGNoYXJ0VHlwZXMuTGluZVBsb3QoKSxcbiAgICAgICAgICAgIF19XG4gICAgICAgICAgICBkYXRhPXtjb3JyZWN0RGF0YSB8fCBjYXRlZ29yaWVzfVxuICAgICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgICAgb25EYXRhQ2hhbmdlPXt0aGlzLmNoYW5nZURhdGF9XG4gICAgICAgICAgICBhZGRDYXRlZ29yeUVuYWJsZWQ9e2ZhbHNlfVxuICAgICAgICAgICAgY2F0ZWdvcnlEZWZhdWx0TGFiZWw9e3N0dWRlbnROZXdDYXRlZ29yeURlZmF1bHRMYWJlbH1cbiAgICAgICAgICAgIGxhbmd1YWdlPXtsYW5ndWFnZX1cbiAgICAgICAgICAgIGxhYmVsc1BsYWNlaG9sZGVycz17e319XG4gICAgICAgICAgLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8U3R5bGVkQ2hhcnRcbiAgICAgICAgICAgIGNoYXJ0VHlwZT17Y2hhcnRUeXBlfVxuICAgICAgICAgICAgc2l6ZT17c2l6ZX1cbiAgICAgICAgICAgIGRvbWFpbj17ZG9tYWlufVxuICAgICAgICAgICAgcmFuZ2U9e3JhbmdlfVxuICAgICAgICAgICAgY2hhcnRzPXtbXG4gICAgICAgICAgICAgIGNoYXJ0VHlwZXMuQmFyKCksXG4gICAgICAgICAgICAgIGNoYXJ0VHlwZXMuSGlzdG9ncmFtKCksXG4gICAgICAgICAgICAgIGNoYXJ0VHlwZXMuTGluZURvdCgpLFxuICAgICAgICAgICAgICBjaGFydFR5cGVzLkxpbmVDcm9zcygpLFxuICAgICAgICAgICAgICBjaGFydFR5cGVzLkRvdFBsb3QoKSxcbiAgICAgICAgICAgICAgY2hhcnRUeXBlcy5MaW5lUGxvdCgpLFxuICAgICAgICAgICAgXX1cbiAgICAgICAgICAgIGRhdGE9e2NvcnJlY3RlZEFuc3dlciB8fCBjYXRlZ29yaWVzfVxuICAgICAgICAgICAgdGl0bGU9e3RpdGxlfVxuICAgICAgICAgICAgb25EYXRhQ2hhbmdlPXt0aGlzLmNoYW5nZURhdGF9XG4gICAgICAgICAgICBhZGRDYXRlZ29yeUVuYWJsZWQ9e2FkZENhdGVnb3J5RW5hYmxlZH1cbiAgICAgICAgICAgIGNhdGVnb3J5RGVmYXVsdExhYmVsPXtzdHVkZW50TmV3Q2F0ZWdvcnlEZWZhdWx0TGFiZWx9XG4gICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICBsYWJlbHNQbGFjZWhvbGRlcnM9e3t9fVxuICAgICAgICAgICAgY29ycmVjdERhdGE9e3Nob3dUb2dnbGUgPyBjb3JyZWN0RGF0YSA6IHVuZGVmaW5lZH1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuICAgICAgICB7IXNob3dpbmdDb3JyZWN0ICYmIHNob3dLZXlMZWdlbmQgJiYgPEtleUxlZ2VuZCBsYW5ndWFnZT17bGFuZ3VhZ2V9PjwvS2V5TGVnZW5kPn1cbiAgICAgICAge3Nob3dSYXRpb25hbGUgJiYgKFxuICAgICAgICAgIDxDb2xsYXBzaWJsZSBsYWJlbHM9e3sgaGlkZGVuOiAnU2hvdyBSYXRpb25hbGUnLCB2aXNpYmxlOiAnSGlkZSBSYXRpb25hbGUnIH19PlxuICAgICAgICAgICAgPFByZXZpZXdQcm9tcHQgcHJvbXB0PXtyYXRpb25hbGV9IC8+XG4gICAgICAgICAgPC9Db2xsYXBzaWJsZT5cbiAgICAgICAgKX1cbiAgICAgIDwvU3R5bGVkVWlMYXlvdXQ+XG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYWluO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFVBQUEsR0FBQUYsc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFFLE9BQUEsR0FBQUYsT0FBQTtBQUNBLElBQUFHLFNBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLFNBQUEsR0FBQUosT0FBQTtBQUNBLElBQUFLLFFBQUEsR0FBQU4sc0JBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFNLG9CQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFFQSxNQUFNTyxjQUFjLEdBQUcsSUFBQUMsY0FBTSxFQUFDQyxrQkFBUSxDQUFDLENBQUM7RUFDdENDLEtBQUssRUFBRUEsZUFBSyxDQUFDQyxJQUFJLENBQUMsQ0FBQztFQUNuQkMsZUFBZSxFQUFFRixlQUFLLENBQUNHLFVBQVUsQ0FBQyxDQUFDO0VBQ25DQyxTQUFTLEVBQUUsUUFBUTtFQUNuQkMsU0FBUyxFQUFFO0FBQ2IsQ0FBQyxDQUFDO0FBRUYsTUFBTUMsV0FBVyxHQUFHLElBQUFSLGNBQU0sRUFBQ1MsZUFBSyxDQUFDLENBQUMs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b0JBQVUsQ0FBQ0MsR0FBRyxDQUFDLENBQUMsRUFDaEJELG9CQUFVLENBQUNFLFNBQVMsQ0FBQyxDQUFDLEVBQ3RCRixvQkFBVSxDQUFDRyxPQUFPLENBQUMsQ0FBQyxFQUNwQkgsb0JBQVUsQ0FBQ0ksU0FBUyxDQUFDLENBQUMsRUFDdEJKLG9CQUFVLENBQUNLLE9BQU8sQ0FBQyxDQUFDLEVBQ3BCTCxvQkFBVSxDQUFDTSxRQUFRLENBQUMsQ0FBQyxDQUNyQjtNQUNGdEQsSUFBSSxFQUFFMEIsZUFBZSxJQUFJeEIsVUFBVztNQUNwQ2UsS0FBSyxFQUFFQSxLQUFNO01BQ2JzQyxZQUFZLEVBQUUsSUFBSSxDQUFDQyxVQUFXO01BQzlCdEMsa0JBQWtCLEVBQUVBLGtCQUFtQjtNQUN2Q3VDLG9CQUFvQixFQUFFdEMsOEJBQStCO01BQ3JESSxRQUFRLEVBQUVBLFFBQVM7TUFDbkJtQyxrQkFBa0IsRUFBRSxDQUFDLENBQUU7TUFDdkI5QixXQUFXLEVBQUVSLFVBQVUsR0FBR1EsV0FBVyxHQUFHK0I7SUFBVSxDQUNuRCxDQUNGLEVBQ0EsQ0FBQ3ZELGNBQWMsSUFBSXFCLGFBQWEsaUJBQUkxRCxNQUFBLENBQUFnQyxPQUFBLENBQUFzQyxhQUFBLENBQUNoRSxTQUFBLENBQUF1RixTQUFTO01BQUNyQyxRQUFRLEVBQUVBO0lBQVMsQ0FBWSxDQUFDLEVBQy9FVSxhQUFhLGlCQUNabEUsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBc0MsYUFBQSxDQUFDakUsU0FBQSxDQUFBb0IsV0FBVztNQUFDOEMsTUFBTSxFQUFFO1FBQUVDLE1BQU0sRUFBRSxnQkFBZ0I7UUFBRUMsT0FBTyxFQUFFO01BQWlCO0lBQUUsZ0JBQzNFekUsTUFBQSxDQUFBZ0MsT0FBQSxDQUFBc0MsYUFBQSxDQUFDakUsU0FBQSxDQUFBcUUsYUFBYTtNQUFDN0IsTUFBTSxFQUFFUztJQUFVLENBQUUsQ0FDeEIsQ0FFRCxDQUFDO0VBRXJCO0FBQ0Y7QUFBQ3dDLE9BQUEsQ0FBQXBFLElBQUEsR0FBQUEsSUFBQTtBQUFBLElBQUFLLGdCQUFBLENBQUFDLE9BQUEsRUFqSllOLElBQUksZUFDSTtFQUNqQmEsS0FBSyxFQUFFd0Qsa0JBQVMsQ0FBQ0MsTUFBTSxDQUFDQyxVQUFVO0VBQ2xDN0QsZUFBZSxFQUFFMkQsa0JBQVMsQ0FBQ0csSUFBSTtFQUMvQi9ELFVBQVUsRUFBRTRELGtCQUFTLENBQUNJO0FBQ3hCLENBQUM7QUFBQSxJQUFBQyxRQUFBLEdBQUFOLE9BQUEsQ0FBQTlELE9BQUEsR0E4SVlOLElBQUkiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","data","setState","categories","onAnswersChange","showingCorrect","state","model","prevProps","classes","teacherInstructions","prompt","chartType","size","domain","range","title","addCategoryEnabled","studentNewCategoryDefaultLabel","showToggle","rationale","correctAnswer","language","env","showKeyLegend","correctedAnswer","extraCSSRules","correctData","map","interactive","editable","mode","showRationale","showTeacherInstructions","mainContainer","collapsible","hidden","visible","toggleCorrect","chart","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","changeData","undefined","React","Component","PropTypes","object","isRequired","func","array","styles","theme","color","text","backgroundColor","background","overflowX","overflowY","marginTop","spacing","unit","marginBottom"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color, Collapsible, hasText, PreviewPrompt, UiLayout, hasMedia } from '@pie-lib/render-ui';\nimport { Chart, chartTypes, KeyLegend } from '@pie-lib/charting';\nimport isEqual from 'lodash/isEqual';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n model: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n categories: PropTypes.array,\n };\n\n static defaultProps = { classes: {} };\n\n constructor(props) {\n super(props);\n\n this.state = {\n categories: props.categories || props.model.data,\n showingCorrect: false,\n };\n }\n\n componentDidUpdate(prevProps) {\n if (!isEqual(prevProps.categories, this.props.categories)) {\n this.setState({ categories: this.props.categories });\n } else if (!isEqual(prevProps.model.data, this.props.model.data)) {\n this.setState({ categories: this.props.model.data });\n }\n }\n\n changeData = (data) =>\n this.setState(\n {\n categories: data,\n },\n () => this.props.onAnswersChange(data),\n );\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { categories, showingCorrect } = this.state;\n const { model, classes } = this.props;\n const {\n teacherInstructions,\n prompt,\n chartType,\n size,\n domain,\n range,\n title,\n addCategoryEnabled,\n studentNewCategoryDefaultLabel,\n showToggle,\n rationale,\n correctAnswer,\n language,\n env,\n showKeyLegend,\n } = model;\n\n let { correctedAnswer, extraCSSRules } = model;\n\n const correctData = (correctAnswer?.data || []).map((data) => ({ ...data, interactive: false, editable: false }));\n const { mode } = env || {};\n // need to make labels disabled in view mode PD-3928\n if (mode === 'view') {\n correctedAnswer = (correctedAnswer || []).map((data) => ({ ...data, editable: false }));\n }\n\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 return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.mainContainer}>\n {showTeacherInstructions && (\n <Collapsible\n className={classes.collapsible}\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n )}\n\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctData || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={false}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n labelsPlaceholders={{}}\n />\n ) : (\n <Chart\n className={classes.chart}\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctedAnswer || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n labelsPlaceholders={{}}\n correctData={showToggle ? correctData : undefined}\n />\n )}\n {!showingCorrect && showKeyLegend && <KeyLegend language={language}></KeyLegend>}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </UiLayout>\n );\n }\n}\n\nconst styles = (theme) => ({\n mainContainer: {\n color: color.text(),\n backgroundColor: color.background(),\n overflowX: 'scroll',\n overflowY: 'hidden',\n },\n chart: {\n marginTop: theme.spacing.unit * 2,\n marginBottom: theme.spacing.unit * 2,\n },\n collapsible: {\n marginBottom: theme.spacing.unit * 2,\n },\n});\n\nexport default withStyles(styles)(Main);\n"],"file":"main.js"}
|
|
1
|
+
{"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_renderUi","_charting","_isEqual","_correctAnswerToggle","StyledUiLayout","styled","UiLayout","color","text","backgroundColor","background","overflowX","overflowY","StyledChart","Chart","theme","marginTop","spacing","marginBottom","StyledCollapsible","Collapsible","Main","React","Component","constructor","props","_defineProperty2","default","data","setState","categories","onAnswersChange","showingCorrect","state","model","componentDidUpdate","prevProps","isEqual","render","teacherInstructions","prompt","chartType","size","domain","range","title","addCategoryEnabled","studentNewCategoryDefaultLabel","showToggle","rationale","correctAnswer","language","env","showKeyLegend","correctedAnswer","extraCSSRules","correctData","map","interactive","editable","mode","showRationale","hasText","hasMedia","showTeacherInstructions","createElement","labels","hidden","visible","PreviewPrompt","className","show","toggled","onToggle","toggleCorrect","charts","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","onDataChange","changeData","categoryDefaultLabel","labelsPlaceholders","undefined","KeyLegend","exports","PropTypes","object","isRequired","func","array","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color, Collapsible, hasText, PreviewPrompt, UiLayout, hasMedia } from '@pie-lib/render-ui';\nimport { Chart, chartTypes, KeyLegend } from '@pie-lib/charting';\nimport isEqual from 'lodash/isEqual';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\n\nconst StyledUiLayout = styled(UiLayout)({\n color: color.text(),\n backgroundColor: color.background(),\n overflowX: 'scroll',\n overflowY: 'hidden',\n});\n\nconst StyledChart = styled(Chart)(({ theme }) => ({\n marginTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst StyledCollapsible = styled(Collapsible)(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nexport class Main extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n onAnswersChange: PropTypes.func,\n categories: PropTypes.array,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n categories: props.categories || props.model.data,\n showingCorrect: false,\n };\n }\n\n componentDidUpdate(prevProps) {\n if (!isEqual(prevProps.categories, this.props.categories)) {\n this.setState({ categories: this.props.categories });\n } else if (!isEqual(prevProps.model.data, this.props.model.data)) {\n this.setState({ categories: this.props.model.data });\n }\n }\n\n changeData = (data) =>\n this.setState(\n {\n categories: data,\n },\n () => this.props.onAnswersChange(data),\n );\n\n toggleCorrect = (showingCorrect) => this.setState({ showingCorrect });\n\n render() {\n const { categories, showingCorrect } = this.state;\n const { model } = this.props;\n const {\n teacherInstructions,\n prompt,\n chartType,\n size,\n domain,\n range,\n title,\n addCategoryEnabled,\n studentNewCategoryDefaultLabel,\n showToggle,\n rationale,\n correctAnswer,\n language,\n env,\n showKeyLegend,\n } = model;\n\n let { correctedAnswer, extraCSSRules } = model;\n\n const correctData = (correctAnswer?.data || []).map((data) => ({ ...data, interactive: false, editable: false }));\n const { mode } = env || {};\n // need to make labels disabled in view mode PD-3928\n if (mode === 'view') {\n correctedAnswer = (correctedAnswer || []).map((data) => ({ ...data, editable: false }));\n }\n\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 return (\n <StyledUiLayout extraCSSRules={extraCSSRules}>\n {showTeacherInstructions && (\n <StyledCollapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </StyledCollapsible>\n )}\n\n {prompt && <PreviewPrompt className=\"prompt\" prompt={prompt} />}\n\n <CorrectAnswerToggle\n show={showToggle}\n toggled={showingCorrect}\n onToggle={this.toggleCorrect}\n language={language}\n />\n\n {showingCorrect && showToggle ? (\n <StyledChart\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctData || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={false}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n labelsPlaceholders={{}}\n />\n ) : (\n <StyledChart\n chartType={chartType}\n size={size}\n domain={domain}\n range={range}\n charts={[\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n ]}\n data={correctedAnswer || categories}\n title={title}\n onDataChange={this.changeData}\n addCategoryEnabled={addCategoryEnabled}\n categoryDefaultLabel={studentNewCategoryDefaultLabel}\n language={language}\n labelsPlaceholders={{}}\n correctData={showToggle ? correctData : undefined}\n />\n )}\n {!showingCorrect && showKeyLegend && <KeyLegend language={language}></KeyLegend>}\n {showRationale && (\n <Collapsible labels={{ hidden: 'Show Rationale', visible: 'Hide Rationale' }}>\n <PreviewPrompt prompt={rationale} />\n </Collapsible>\n )}\n </StyledUiLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":"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","ignoreList":[]}
|
package/package.json
CHANGED
|
@@ -4,27 +4,29 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "10.
|
|
7
|
+
"version": "10.2.0-mui-update.0",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"postpublish": "../../scripts/postpublish"
|
|
11
11
|
},
|
|
12
12
|
"dependencies": {
|
|
13
|
-
"@
|
|
13
|
+
"@emotion/react": "^11.14.0",
|
|
14
|
+
"@emotion/style": "^0.8.0",
|
|
15
|
+
"@mui/icons-material": "^7.3.4",
|
|
16
|
+
"@mui/material": "^7.3.4",
|
|
14
17
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
15
|
-
"@pie-lib/charting": "
|
|
16
|
-
"@pie-lib/correct-answer-toggle": "
|
|
17
|
-
"@pie-lib/math-rendering": "3.
|
|
18
|
-
"@pie-lib/render-ui": "
|
|
19
|
-
"classnames": "^2.2.5",
|
|
18
|
+
"@pie-lib/charting": "5.48.0-mui-update.1",
|
|
19
|
+
"@pie-lib/correct-answer-toggle": "2.37.0-mui-update.0",
|
|
20
|
+
"@pie-lib/math-rendering": "3.38.0-mui-update.0",
|
|
21
|
+
"@pie-lib/render-ui": "4.47.0-mui-update.0",
|
|
20
22
|
"debug": "^4.1.1",
|
|
21
23
|
"lodash": "^4.17.15",
|
|
22
|
-
"react": "
|
|
23
|
-
"react-dom": "
|
|
24
|
+
"react": "18.2.0",
|
|
25
|
+
"react-dom": "18.2.0"
|
|
24
26
|
},
|
|
25
27
|
"author": "",
|
|
26
28
|
"license": "ISC",
|
|
27
|
-
"gitHead": "
|
|
29
|
+
"gitHead": "0e14ff981bcdc8a89a0e58484026496701bfdbc3",
|
|
28
30
|
"main": "lib/index.js",
|
|
29
31
|
"module": "src/index.js"
|
|
30
32
|
}
|
package/LICENSE.md
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
Copyright 2019 CoreSpring Inc
|
|
2
|
-
|
|
3
|
-
Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
|
|
4
|
-
|
|
5
|
-
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|