@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/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["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
- 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
- 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; }
39
-
40
- 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; }
41
-
42
- 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); }; }
43
-
44
- 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; } }
45
-
46
- var Main = /*#__PURE__*/function (_React$Component) {
47
- (0, _inherits2["default"])(Main, _React$Component);
48
-
49
- var _super = _createSuper(Main);
50
-
51
- function Main(props) {
52
- var _this;
53
-
54
- (0, _classCallCheck2["default"])(this, Main);
55
- _this = _super.call(this, props);
56
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeData", function (data) {
57
- return _this.setState({
58
- categories: data
59
- }, function () {
60
- return _this.props.onAnswersChange(data);
61
- });
62
- });
63
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "toggleCorrect", function (showingCorrect) {
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
- (0, _createClass2["default"])(Main, [{
76
- key: "componentDidUpdate",
77
- value: function componentDidUpdate(prevProps) {
78
- if (!(0, _isEqual["default"])(prevProps.categories, this.props.categories)) {
79
- this.setState({
80
- categories: this.props.categories
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
- return Main;
196
- }(_react["default"].Component);
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["default"])(Main, "propTypes", {
200
- classes: _propTypes["default"].object,
201
- model: _propTypes["default"].object.isRequired,
202
- onAnswersChange: _propTypes["default"].func,
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
- (0, _defineProperty2["default"])(Main, "defaultProps", {
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.1.0",
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
- "@material-ui/core": "^3.9.2",
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": "^5.31.0",
16
- "@pie-lib/correct-answer-toggle": "^2.21.0",
17
- "@pie-lib/math-rendering": "3.18.0",
18
- "@pie-lib/render-ui": "^4.31.0",
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": "^16.8.1",
23
- "react-dom": "^16.8.1"
24
+ "react": "18.2.0",
25
+ "react-dom": "18.2.0"
24
26
  },
25
27
  "author": "",
26
28
  "license": "ISC",
27
- "gitHead": "e6dde692b33cb1d42c6b2958fff7520dc40ca82c",
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.