@pie-element/rubric 6.1.0 → 6.2.0-mui-update.1

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.
Files changed (42) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/configure/CHANGELOG.md +11 -0
  3. package/configure/lib/__tests__/index.test.js +174 -0
  4. package/configure/lib/defaults.js +3 -4
  5. package/configure/lib/defaults.js.map +1 -1
  6. package/configure/lib/index.js +91 -153
  7. package/configure/lib/index.js.map +1 -1
  8. package/configure/lib/main.js +91 -150
  9. package/configure/lib/main.js.map +1 -1
  10. package/configure/package.json +10 -7
  11. package/configure/src/index.js +12 -2
  12. package/configure/src/main.jsx +11 -13
  13. package/controller/CHANGELOG.md +8 -0
  14. package/controller/lib/__tests__/index.test.js +39 -0
  15. package/controller/lib/defaults.js +3 -4
  16. package/controller/lib/defaults.js.map +1 -1
  17. package/controller/lib/index.js +16 -29
  18. package/controller/lib/index.js.map +1 -1
  19. package/controller/package.json +1 -1
  20. package/docs/demo/pie.manifest.json +11 -0
  21. package/lib/__tests__/rubric-view.test.js +49 -0
  22. package/lib/index.js +39 -81
  23. package/lib/index.js.map +1 -1
  24. package/lib/main.js +185 -245
  25. package/lib/main.js.map +1 -1
  26. package/lib/print.js +42 -85
  27. package/lib/print.js.map +1 -1
  28. package/package.json +8 -5
  29. package/src/__tests__/__snapshots__/rubric-view.test.jsx.snap +2350 -1524
  30. package/src/index.js +14 -3
  31. package/src/main.jsx +100 -93
  32. package/src/print.js +13 -2
  33. package/LICENSE.md +0 -5
  34. package/configure/lib/pie-toolbox-rubric/authoring.js +0 -573
  35. package/configure/lib/pie-toolbox-rubric/authoring.js.map +0 -1
  36. package/configure/lib/pie-toolbox-rubric/index.js +0 -24
  37. package/configure/lib/pie-toolbox-rubric/index.js.map +0 -1
  38. package/configure/lib/pie-toolbox-rubric/point-menu.js +0 -172
  39. package/configure/lib/pie-toolbox-rubric/point-menu.js.map +0 -1
  40. package/configure/src/pie-toolbox-rubric/authoring.jsx +0 -449
  41. package/configure/src/pie-toolbox-rubric/index.js +0 -9
  42. package/configure/src/pie-toolbox-rubric/point-menu.jsx +0 -94
package/lib/main.js CHANGED
@@ -1,270 +1,210 @@
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.RubricType = 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.RubricType = void 0;
22
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
9
  var _react = _interopRequireDefault(require("react"));
25
-
26
- var _styles = require("@material-ui/core/styles");
27
-
28
- var _ListItem = _interopRequireDefault(require("@material-ui/core/ListItem"));
29
-
30
- var _List = _interopRequireDefault(require("@material-ui/core/List"));
31
-
32
- var _Collapse = _interopRequireDefault(require("@material-ui/core/Collapse"));
33
-
10
+ var _styles = require("@mui/material/styles");
11
+ var _ListItem = _interopRequireDefault(require("@mui/material/ListItem"));
12
+ var _List = _interopRequireDefault(require("@mui/material/List"));
13
+ var _Collapse = _interopRequireDefault(require("@mui/material/Collapse"));
34
14
  var _renderUi = require("@pie-lib/render-ui");
35
-
36
15
  var _propTypes = _interopRequireDefault(require("prop-types"));
37
-
38
- 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); }; }
39
-
40
- 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; } }
41
-
42
- var RubricType = _propTypes["default"].shape({
43
- excludeZero: _propTypes["default"].bool,
44
- points: _propTypes["default"].arrayOf(_propTypes["default"].string),
45
- sampleAnswers: _propTypes["default"].arrayOf(_propTypes["default"].string),
46
- animationsDisabled: _propTypes["default"].bool
16
+ const StyledUiLayout = (0, _styles.styled)(_renderUi.UiLayout)(({
17
+ theme
18
+ }) => ({
19
+ color: _renderUi.color.text(),
20
+ backgroundColor: _renderUi.color.background(),
21
+ // apply styles to tables to match the rest of the UI
22
+ '&:not(.MathJax) table': {
23
+ borderCollapse: 'collapse'
24
+ },
25
+ '&:not(.MathJax) table td, &:not(.MathJax) table th': {
26
+ padding: '8px 12px',
27
+ textAlign: 'left'
28
+ },
29
+ // reset paragraph margins and line-height inside lists to override client styles
30
+ '& ul p, & ol p': {
31
+ marginBottom: 0,
32
+ marginTop: 0,
33
+ lineHeight: 'normal'
34
+ }
35
+ }));
36
+ const StyledListItem = (0, _styles.styled)(_ListItem.default)({
37
+ display: 'flex',
38
+ flexDirection: 'column',
39
+ alignItems: 'flex-start',
40
+ padding: '12px 0px'
47
41
  });
48
-
49
- exports.RubricType = RubricType;
50
-
51
- var Rubric = /*#__PURE__*/function (_React$Component) {
52
- (0, _inherits2["default"])(Rubric, _React$Component);
53
-
54
- var _super = _createSuper(Rubric);
55
-
56
- function Rubric(props) {
57
- var _this;
58
-
59
- (0, _classCallCheck2["default"])(this, Rubric);
60
- _this = _super.call(this, props);
61
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dudUrl", 'javascript:;');
62
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "shouldRenderPoint", function (index, value) {
42
+ const Text = (0, _styles.styled)('div')({
43
+ color: _renderUi.color.text()
44
+ });
45
+ const TitleText = (0, _styles.styled)('h3')({
46
+ color: _renderUi.color.text(),
47
+ fontSize: '16px',
48
+ fontWeight: '700',
49
+ margin: 0,
50
+ paddingBottom: '6px'
51
+ });
52
+ const SampleTitleText = (0, _styles.styled)('h4')({
53
+ color: _renderUi.color.text(),
54
+ fontSize: '16px',
55
+ fontWeight: 'normal',
56
+ margin: 0,
57
+ paddingBottom: '6px'
58
+ });
59
+ const RubricToggle = (0, _styles.styled)('h2')(({
60
+ theme
61
+ }) => ({
62
+ display: 'flex',
63
+ alignItems: 'center',
64
+ cursor: 'pointer',
65
+ userSelect: 'none',
66
+ fontSize: theme.typography.fontSize,
67
+ fontWeight: '500',
68
+ color: _renderUi.color.tertiary(),
69
+ margin: 0
70
+ }));
71
+ const ChevronStyle = (0, _styles.styled)('span')({
72
+ display: 'inline-flex',
73
+ transition: 'transform 0.2s',
74
+ marginLeft: 2,
75
+ alignSelf: 'center'
76
+ });
77
+ const HiddenScreenReader = (0, _styles.styled)('h2')({
78
+ position: 'absolute',
79
+ width: '1px',
80
+ height: '1px',
81
+ padding: 0,
82
+ margin: '-1px',
83
+ overflow: 'hidden',
84
+ clip: 'rect(0,0,0,0)',
85
+ border: 0,
86
+ whiteSpace: 'nowrap'
87
+ });
88
+ const RubricType = exports.RubricType = _propTypes.default.shape({
89
+ excludeZero: _propTypes.default.bool,
90
+ points: _propTypes.default.arrayOf(_propTypes.default.string),
91
+ sampleAnswers: _propTypes.default.arrayOf(_propTypes.default.string),
92
+ animationsDisabled: _propTypes.default.bool
93
+ });
94
+ class Rubric extends _react.default.Component {
95
+ constructor(props) {
96
+ super(props);
97
+ (0, _defineProperty2.default)(this, "dudUrl", 'javascript:;');
98
+ (0, _defineProperty2.default)(this, "shouldRenderPoint", (index, value) => {
63
99
  if (!value.excludeZero) {
64
100
  return true;
65
101
  } else {
66
102
  return index !== 0;
67
103
  }
68
104
  });
69
- _this.state = {
105
+ this.state = {
70
106
  rubricOpen: false,
71
107
  linkPrefix: 'Show'
72
108
  };
73
- _this.toggleRubric = _this.toggleRubric.bind((0, _assertThisInitialized2["default"])(_this));
74
- return _this;
109
+ this.toggleRubric = this.toggleRubric.bind(this);
75
110
  }
76
-
77
- (0, _createClass2["default"])(Rubric, [{
78
- key: "toggleRubric",
79
- value: function toggleRubric() {
80
- this.setState({
81
- rubricOpen: !this.state.rubricOpen
82
- });
83
- this.setState({
84
- linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide'
85
- });
86
- }
87
- }, {
88
- key: "render",
89
- value: function render() {
90
- var _this2 = this;
91
-
92
- var _this$props = this.props,
93
- model = _this$props.model,
94
- value = _this$props.value,
95
- classes = _this$props.classes;
96
- var animationsDisabled = this.props.animationsDisabled;
97
- animationsDisabled = animationsDisabled || value.animationsDisabled;
98
-
99
- if (value && value.points) {
100
- var _ref = model || {},
101
- extraCSSRules = _ref.extraCSSRules;
102
-
103
- var points = value.points,
104
- sampleAnswers = value.sampleAnswers;
105
-
106
- var rubricList = /*#__PURE__*/_react["default"].createElement(_List["default"], {
107
- component: "nav"
108
- }, points.slice(0).reverse().map(function (desc, index) {
109
- index = points.length - index - 1;
110
- var pointsLabel = value.excludeZero ? index + 1 : index;
111
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
112
- key: index
113
- }, /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
114
- key: "P".concat(index),
115
- className: classes.listColumn
116
- }, /*#__PURE__*/_react["default"].createElement("h3", {
117
- className: classes.titleText
118
- }, pointsLabel === 1 ? "".concat(pointsLabel, " PT") : "".concat(pointsLabel, " PTS")), /*#__PURE__*/_react["default"].createElement("div", {
119
- className: classes.text,
120
- dangerouslySetInnerHTML: {
121
- __html: desc
122
- }
123
- })), sampleAnswers && sampleAnswers[index] && /*#__PURE__*/_react["default"].createElement(_ListItem["default"], {
124
- key: "S".concat(index),
125
- className: classes.listColumn
126
- }, /*#__PURE__*/_react["default"].createElement("h4", {
127
- className: classes.titleText,
128
- style: {
129
- fontWeight: 'normal'
130
- }
131
- }, "Sample Answer"), /*#__PURE__*/_react["default"].createElement("div", {
132
- className: classes.text,
133
- dangerouslySetInnerHTML: {
134
- __html: sampleAnswers[index]
135
- }
136
- })));
137
- }));
138
-
139
- return /*#__PURE__*/_react["default"].createElement(_renderUi.UiLayout, {
140
- extraCSSRules: extraCSSRules,
141
- className: classes.root
142
- }, /*#__PURE__*/_react["default"].createElement("h2", {
143
- className: classes.hiddenScreenReader
144
- }, "Rubric"), !animationsDisabled ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement("h2", {
145
- id: 'rubric-toggle',
146
- className: classes.rubricToggle,
147
- tabIndex: 0,
148
- role: "button",
149
- "aria-expanded": this.state.rubricOpen,
150
- onClick: this.toggleRubric,
151
- onKeyPress: function onKeyPress(e) {
152
- if (e.key === 'Enter' || e.key === ' ') _this2.toggleRubric();
111
+ toggleRubric() {
112
+ this.setState({
113
+ rubricOpen: !this.state.rubricOpen
114
+ });
115
+ this.setState({
116
+ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide'
117
+ });
118
+ }
119
+ render() {
120
+ const {
121
+ model,
122
+ value
123
+ } = this.props;
124
+ let {
125
+ animationsDisabled
126
+ } = this.props;
127
+ animationsDisabled = animationsDisabled || value.animationsDisabled;
128
+ if (value && value.points) {
129
+ const {
130
+ extraCSSRules
131
+ } = model || {};
132
+ const {
133
+ points,
134
+ sampleAnswers
135
+ } = value;
136
+ const rubricList = /*#__PURE__*/_react.default.createElement(_List.default, {
137
+ component: "nav"
138
+ }, points.slice(0).reverse().map((desc, index) => {
139
+ index = points.length - index - 1;
140
+ const pointsLabel = value.excludeZero ? index + 1 : index;
141
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, {
142
+ key: index
143
+ }, /*#__PURE__*/_react.default.createElement(StyledListItem, {
144
+ key: `P${index}`
145
+ }, /*#__PURE__*/_react.default.createElement(TitleText, null, pointsLabel === 1 ? `${pointsLabel} PT` : `${pointsLabel} PTS`), /*#__PURE__*/_react.default.createElement(Text, {
146
+ dangerouslySetInnerHTML: {
147
+ __html: desc
153
148
  }
154
- }, this.state.linkPrefix, " Rubric", /*#__PURE__*/_react["default"].createElement("span", {
155
- className: classes.chevronStyle,
156
- "aria-hidden": "true"
157
- }, this.state.rubricOpen ? /*#__PURE__*/_react["default"].createElement("svg", {
158
- width: "20",
159
- height: "20",
160
- viewBox: "0 0 24 24",
161
- fill: "none",
162
- stroke: "currentColor",
163
- strokeWidth: "2",
164
- strokeLinecap: "round",
165
- strokeLinejoin: "round"
166
- }, /*#__PURE__*/_react["default"].createElement("polyline", {
167
- points: "18 15 12 9 6 15"
168
- })) : /*#__PURE__*/_react["default"].createElement("svg", {
169
- width: "20",
170
- height: "20",
171
- viewBox: "0 0 24 24",
172
- fill: "none",
173
- stroke: "currentColor",
174
- strokeWidth: "2",
175
- strokeLinecap: "round",
176
- strokeLinejoin: "round"
177
- }, /*#__PURE__*/_react["default"].createElement("polyline", {
178
- points: "6 9 12 15 18 9"
179
- })))), /*#__PURE__*/_react["default"].createElement(_Collapse["default"], {
180
- "in": this.state.rubricOpen,
181
- timeout: "auto"
182
- }, rubricList)) : rubricList);
183
- } else {
184
- return null;
185
- }
149
+ })), sampleAnswers && sampleAnswers[index] && /*#__PURE__*/_react.default.createElement(StyledListItem, {
150
+ key: `S${index}`
151
+ }, /*#__PURE__*/_react.default.createElement(SampleTitleText, null, "Sample Answer"), /*#__PURE__*/_react.default.createElement(Text, {
152
+ dangerouslySetInnerHTML: {
153
+ __html: sampleAnswers[index]
154
+ }
155
+ })));
156
+ }));
157
+ return /*#__PURE__*/_react.default.createElement(StyledUiLayout, {
158
+ extraCSSRules: extraCSSRules
159
+ }, /*#__PURE__*/_react.default.createElement(HiddenScreenReader, null, "Rubric"), !animationsDisabled ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(RubricToggle, {
160
+ id: 'rubric-toggle',
161
+ tabIndex: 0,
162
+ role: "button",
163
+ "aria-expanded": this.state.rubricOpen,
164
+ onClick: this.toggleRubric,
165
+ onKeyPress: e => {
166
+ if (e.key === 'Enter' || e.key === ' ') this.toggleRubric();
167
+ }
168
+ }, this.state.linkPrefix, " Rubric", /*#__PURE__*/_react.default.createElement(ChevronStyle, {
169
+ "aria-hidden": "true"
170
+ }, this.state.rubricOpen ? /*#__PURE__*/_react.default.createElement("svg", {
171
+ width: "20",
172
+ height: "20",
173
+ viewBox: "0 0 24 24",
174
+ fill: "none",
175
+ stroke: "currentColor",
176
+ strokeWidth: "2",
177
+ strokeLinecap: "round",
178
+ strokeLinejoin: "round"
179
+ }, /*#__PURE__*/_react.default.createElement("polyline", {
180
+ points: "18 15 12 9 6 15"
181
+ })) : /*#__PURE__*/_react.default.createElement("svg", {
182
+ width: "20",
183
+ height: "20",
184
+ viewBox: "0 0 24 24",
185
+ fill: "none",
186
+ stroke: "currentColor",
187
+ strokeWidth: "2",
188
+ strokeLinecap: "round",
189
+ strokeLinejoin: "round"
190
+ }, /*#__PURE__*/_react.default.createElement("polyline", {
191
+ points: "6 9 12 15 18 9"
192
+ })))), /*#__PURE__*/_react.default.createElement(_Collapse.default, {
193
+ in: this.state.rubricOpen,
194
+ timeout: {
195
+ enter: 225,
196
+ exit: 195
197
+ }
198
+ }, rubricList)) : rubricList);
199
+ } else {
200
+ return null;
186
201
  }
187
- }]);
188
- return Rubric;
189
- }(_react["default"].Component);
190
-
191
- (0, _defineProperty2["default"])(Rubric, "propTypes", {
192
- classes: _propTypes["default"].object.isRequired,
193
- model: _propTypes["default"].object.isRequired,
194
- animationsDisabled: _propTypes["default"].bool,
202
+ }
203
+ }
204
+ (0, _defineProperty2.default)(Rubric, "propTypes", {
205
+ model: _propTypes.default.object.isRequired,
206
+ animationsDisabled: _propTypes.default.bool,
195
207
  value: RubricType
196
208
  });
197
-
198
- var styles = function styles(theme) {
199
- return {
200
- root: {
201
- color: _renderUi.color.text(),
202
- backgroundColor: _renderUi.color.background(),
203
- // apply styles to tables to match the rest of the UI
204
- '&:not(.MathJax) table': {
205
- borderCollapse: 'collapse'
206
- },
207
- '&:not(.MathJax) table td, &:not(.MathJax) table th': {
208
- padding: '8px 12px',
209
- textAlign: 'left'
210
- },
211
- // reset paragraph margins and line-height inside lists to override client styles
212
- '& ul p, & ol p': {
213
- marginBottom: 0,
214
- marginTop: 0,
215
- lineHeight: 'normal'
216
- }
217
- },
218
- listColumn: {
219
- display: 'flex',
220
- flexDirection: 'column',
221
- alignItems: 'flex-start',
222
- padding: '12px 0px'
223
- },
224
- listColumnItem: {
225
- padding: 0
226
- },
227
- text: {
228
- color: _renderUi.color.text()
229
- },
230
- titleText: {
231
- color: _renderUi.color.text(),
232
- fontSize: '16px',
233
- fontWeight: '700',
234
- margin: 0,
235
- paddingBottom: '6px'
236
- },
237
- rubricToggle: {
238
- display: 'flex',
239
- alignItems: 'center',
240
- cursor: 'pointer',
241
- userSelect: 'none',
242
- fontSize: theme.typography.fontSize,
243
- fontWeight: '500',
244
- color: _renderUi.color.tertiary(),
245
- margin: 0
246
- },
247
- chevronStyle: {
248
- display: 'inline-flex',
249
- transition: 'transform 0.2s',
250
- marginLeft: 2,
251
- alignSelf: 'center'
252
- },
253
- hiddenScreenReader: {
254
- position: 'absolute',
255
- width: '1px',
256
- height: '1px',
257
- padding: 0,
258
- margin: '-1px',
259
- overflow: 'hidden',
260
- clip: 'rect(0,0,0,0)',
261
- border: 0,
262
- whiteSpace: 'nowrap'
263
- }
264
- };
265
- };
266
-
267
- var _default = (0, _styles.withStyles)(styles)(Rubric);
268
-
269
- exports["default"] = _default;
270
- //# sourceMappingURL=main.js.map
209
+ var _default = exports.default = Rubric;
210
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9zdHlsZXMiLCJfTGlzdEl0ZW0iLCJfTGlzdCIsIl9Db2xsYXBzZSIsIl9yZW5kZXJVaSIsIl9wcm9wVHlwZXMiLCJTdHlsZWRVaUxheW91dCIsInN0eWxlZCIsIlVpTGF5b3V0IiwidGhlbWUiLCJjb2xvciIsInRleHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyQ29sbGFwc2UiLCJwYWRkaW5nIiwidGV4dEFsaWduIiwibWFyZ2luQm90dG9tIiwibWFyZ2luVG9wIiwibGluZUhlaWdodCIsIlN0eWxlZExpc3RJdGVtIiwiTGlzdEl0ZW0iLCJkaXNwbGF5IiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJUZXh0IiwiVGl0bGVUZXh0IiwiZm9udFNpemUiLCJmb250V2VpZ2h0IiwibWFyZ2luIiwicGFkZGluZ0JvdHRvbSIsIlNhbXBsZVRpdGxlVGV4dCIsIlJ1YnJpY1RvZ2dsZSIsImN1cnNvciIsInVzZXJTZWxlY3QiLCJ0eXBvZ3JhcGh5IiwidGVydGlhcnkiLCJDaGV2cm9uU3R5bGUiLCJ0cmFuc2l0aW9uIiwibWFyZ2luTGVmdCIsImFsaWduU2VsZiIsIkhpZGRlblNjcmVlblJlYWRlciIsInBvc2l0aW9uIiwid2lkdGgiLCJoZWlnaHQiLCJvdmVyZmxvdyIsImNsaXAiLCJib3JkZXIiLCJ3aGl0ZVNwYWNlIiwiUnVicmljVHlwZSIsImV4cG9ydHMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImV4Y2x1ZGVaZXJvIiwiYm9vbCIsInBvaW50cyIsImFycmF5T2YiLCJzdHJpbmciLCJzYW1wbGVBbnN3ZXJzIiwiYW5pbWF0aW9uc0Rpc2FibGVkIiwiUnVicmljIiwiUmVhY3QiLCJDb21wb25lbnQiLCJjb25zdHJ1Y3RvciIsInByb3BzIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJpbmRleCIsInZhbHVlIiwic3RhdGUiLCJydWJyaWNPcGVuIiwibGlua1ByZWZpeCIsInRvZ2dsZVJ1YnJpYyIsImJpbmQiLCJzZXRTdGF0ZSIsInJlbmRlciIsIm1vZGVsIiwiZXh0cmFDU1NSdWxlcyIsInJ1YnJpY0xpc3QiLCJjcmVhdGVFbGVtZW50IiwiY29tcG9uZW50Iiwic2xpY2UiLCJyZXZlcnNlIiwibWFwIiwiZGVzYyIsImxlbmd0aCIsInBvaW50c0xhYmVsIiwiRnJhZ21lbnQiLCJrZXkiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsImlkIiwidGFiSW5kZXgiLCJyb2xlIiwib25DbGljayIsIm9uS2V5UHJlc3MiLCJlIiwidmlld0JveCIsImZpbGwiLCJzdHJva2UiLCJzdHJva2VXaWR0aCIsInN0cm9rZUxpbmVjYXAiLCJzdHJva2VMaW5lam9pbiIsImluIiwidGltZW91dCIsImVudGVyIiwiZXhpdCIsIm9iamVjdCIsImlzUmVxdWlyZWQiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tYWluLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IExpc3RJdGVtIGZyb20gJ0BtdWkvbWF0ZXJpYWwvTGlzdEl0ZW0nO1xuaW1wb3J0IExpc3QgZnJvbSAnQG11aS9tYXRlcmlhbC9MaXN0JztcbmltcG9ydCBDb2xsYXBzZSBmcm9tICdAbXVpL21hdGVyaWFsL0NvbGxhcHNlJztcbmltcG9ydCB7IGNvbG9yLCBVaUxheW91dCB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuXG5jb25zdCBTdHlsZWRVaUxheW91dCA9IHN0eWxlZChVaUxheW91dCkoKHsgdGhlbWUgfSkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gIC8vIGFwcGx5IHN0eWxlcyB0byB0YWJsZXMgdG8gbWF0Y2ggdGhlIHJlc3Qgb2YgdGhlIFVJXG4gICcmOm5vdCguTWF0aEpheCkgdGFibGUnOiB7XG4gICAgYm9yZGVyQ29sbGFwc2U6ICdjb2xsYXBzZScsXG4gIH0sXG4gICcmOm5vdCguTWF0aEpheCkgdGFibGUgdGQsICY6bm90KC5NYXRoSmF4KSB0YWJsZSB0aCc6IHtcbiAgICBwYWRkaW5nOiAnOHB4IDEycHgnLFxuICAgIHRleHRBbGlnbjogJ2xlZnQnLFxuICB9LFxuICAvLyByZXNldCBwYXJhZ3JhcGggbWFyZ2lucyBhbmQgbGluZS1oZWlnaHQgaW5zaWRlIGxpc3RzIHRvIG92ZXJyaWRlIGNsaWVudCBzdHlsZXNcbiAgJyYgdWwgcCwgJiBvbCBwJzoge1xuICAgIG1hcmdpbkJvdHRvbTogMCxcbiAgICBtYXJnaW5Ub3A6IDAsXG4gICAgbGluZUhlaWdodDogJ25vcm1hbCcsXG4gIH0sXG59KSk7XG5cbmNvbnN0IFN0eWxlZExpc3RJdGVtID0gc3R5bGVkKExpc3RJdGVtKSh7XG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gIGFsaWduSXRlbXM6ICdmbGV4LXN0YXJ0JyxcbiAgcGFkZGluZzogJzEycHggMHB4Jyxcbn0pO1xuXG5jb25zdCBUZXh0ID0gc3R5bGVkKCdkaXYnKSh7XG4gIGNvbG9yOiBjb2xvci50ZXh0KCksXG59KTtcblxuY29uc3QgVGl0bGVUZXh0ID0gc3R5bGVkKCdoMycpKHtcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgZm9udFNpemU6ICcxNnB4JyxcbiAgZm9udFdlaWdodDogJzcwMCcsXG4gIG1hcmdpbjogMCxcbiAgcGFkZGluZ0JvdHRvbTogJzZweCcsXG59KTtcblxuY29uc3QgU2FtcGxlVGl0bGVUZXh0ID0gc3R5bGVkKCdoNCcpKHtcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgZm9udFNpemU6ICcxNnB4JyxcbiAgZm9udFdlaWdodDogJ25vcm1hbCcsXG4gIG1hcmdpbjogMCxcbiAgcGFkZGluZ0JvdHRvbTogJzZweCcsXG59KTtcblxuY29uc3QgUnVicmljVG9nZ2xlID0gc3R5bGVkKCdoMicpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGRpc3BsYXk6ICdmbGV4JyxcbiAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gIGN1cnNvcjogJ3BvaW50ZXInLFxuICB1c2VyU2VsZWN0OiAnbm9uZScsXG4gIGZvbnRTaXplOiB0aGVtZS50eXBvZ3JhcGh5LmZvbnRTaXplLFxuICBmb250V2VpZ2h0OiAnNTAwJyxcbiAgY29sb3I6IGNvbG9yLnRlcnRpYXJ5KCksXG4gIG1hcmdpbjogMCxcbn0pKTtcblxuY29uc3QgQ2hldnJvblN0eWxlID0gc3R5bGVkKCdzcGFuJykoe1xuICBkaXNwbGF5OiAnaW5saW5lLWZsZXgnLFxuICB0cmFuc2l0aW9uOiAndHJhbnNmb3JtIDAuMnMnLFxuICBtYXJnaW5MZWZ0OiAyLFxuICBhbGlnblNlbGY6ICdjZW50ZXInLFxufSk7XG5cbmNvbnN0IEhpZGRlblNjcmVlblJlYWRlciA9IHN0eWxlZCgnaDInKSh7XG4gIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICB3aWR0aDogJzFweCcsXG4gIGhlaWdodDogJzFweCcsXG4gIHBhZGRpbmc6IDAsXG4gIG1hcmdpbjogJy0xcHgnLFxuICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gIGNsaXA6ICdyZWN0KDAsMCwwLDApJyxcbiAgYm9yZGVyOiAwLFxuICB3aGl0ZVNwYWNlOiAnbm93cmFwJyxcbn0pO1xuXG5leHBvcnQgY29uc3QgUnVicmljVHlwZSA9IFByb3BUeXBlcy5zaGFwZSh7XG4gIGV4Y2x1ZGVaZXJvOiBQcm9wVHlwZXMuYm9vbCxcbiAgcG9pbnRzOiBQcm9wVHlwZXMuYXJyYXlPZihQcm9wVHlwZXMuc3RyaW5nKSxcbiAgc2FtcGxlQW5zd2VyczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gIGFuaW1hdGlvbnNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG59KTtcblxuY2xhc3MgUnVicmljIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgZHVkVXJsID0gJ2phdmFzY3JpcHQ6Oyc7XG5cbiAgY29uc3RydWN0b3IocHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcyk7XG4gICAgdGhpcy5zdGF0ZSA9IHtcbiAgICAgIHJ1YnJpY09wZW46IGZhbHNlLFxuICAgICAgbGlua1ByZWZpeDogJ1Nob3cnLFxuICAgIH07XG4gICAgdGhpcy50b2dnbGVSdWJyaWMgPSB0aGlzLnRvZ2dsZVJ1YnJpYy5iaW5kKHRoaXMpO1xuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBtb2RlbDogUHJvcFR5cGVzLm9iamVjdC5pc1JlcXVpcmVkLFxuICAgIGFuaW1hdGlvbnNEaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgdmFsdWU6IFJ1YnJpY1R5cGUsXG4gIH07XG5cbiAgdG9nZ2xlUnVicmljKCkge1xuICAgIHRoaXMuc2V0U3RhdGUoeyBydWJyaWNPcGVuOiAhdGhpcy5zdGF0ZS5ydWJyaWNPcGVuIH0pO1xuICAgIHRoaXMuc2V0U3RhdGUoeyBsaW5rUHJlZml4OiB0aGlzLnN0YXRlLnJ1YnJpY09wZW4gPyAnU2hvdycgOiAnSGlkZScgfSk7XG4gIH1cblxuICBzaG91bGRSZW5kZXJQb2ludCA9IChpbmRleCwgdmFsdWUpID0+IHtcbiAgICBpZiAoIXZhbHVlLmV4Y2x1ZGVaZXJvKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGluZGV4ICE9PSAwO1xuICAgIH1cbiAgfTtcblxuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBtb2RlbCwgdmFsdWUgfSA9IHRoaXMucHJvcHM7XG4gICAgbGV0IHsgYW5pbWF0aW9uc0Rpc2FibGVkIH0gPSB0aGlzLnByb3BzO1xuICAgIGFuaW1hdGlvbnNEaXNhYmxlZCA9IGFuaW1hdGlvbnNEaXNhYmxlZCB8fCB2YWx1ZS5hbmltYXRpb25zRGlzYWJsZWQ7XG5cbiAgICBpZiAodmFsdWUgJiYgdmFsdWUucG9pbnRzKSB7XG4gICAgICBjb25zdCB7IGV4dHJhQ1NTUnVsZXMgfSA9IG1vZGVsIHx8IHt9O1xuICAgICAgY29uc3QgeyBwb2ludHMsIHNhbXBsZUFuc3dlcnMgfSA9IHZhbHVlO1xuXG4gICAgICBjb25zdCBydWJyaWNMaXN0ID0gKFxuICAgICAgICA8TGlzdCBjb21wb25lbnQ9XCJuYXZcIj5cbiAgICAgICAgICB7cG9pbnRzXG4gICAgICAgICAgICAuc2xpY2UoMClcbiAgICAgICAgICAgIC5yZXZlcnNlKClcbiAgICAgICAgICAgIC5tYXAoKGRlc2MsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgIGluZGV4ID0gcG9pbnRzLmxlbmd0aCAtIGluZGV4IC0gMTtcbiAgICAgICAgICAgICAgY29uc3QgcG9pbnRzTGFiZWwgPSB2YWx1ZS5leGNsdWRlWmVybyA/IGluZGV4ICsgMSA6IGluZGV4O1xuXG4gICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17aW5kZXh9PlxuICAgICAgICAgICAgICAgICAgPFN0eWxlZExpc3RJdGVtIGtleT17YFAke2luZGV4fWB9PlxuICAgICAgICAgICAgICAgICAgICA8VGl0bGVUZXh0PlxuICAgICAgICAgICAgICAgICAgICAgIHtwb2ludHNMYWJlbCA9PT0gMSA/IGAke3BvaW50c0xhYmVsfSBQVGAgOiBgJHtwb2ludHNMYWJlbH0gUFRTYH1cbiAgICAgICAgICAgICAgICAgICAgPC9UaXRsZVRleHQ+XG4gICAgICAgICAgICAgICAgICAgIDxUZXh0IGRhbmdlcm91c2x5U2V0SW5uZXJIVE1MPXt7IF9faHRtbDogZGVzYyB9fSAvPlxuICAgICAgICAgICAgICAgICAgPC9TdHlsZWRMaXN0SXRlbT5cblxuICAgICAgICAgICAgICAgICAge3NhbXBsZUFuc3dlcnMgJiYgc2FtcGxlQW5zd2Vyc1tpbmRleF0gJiYgKFxuICAgICAgICAgICAgICAgICAgICA8U3R5bGVkTGlzdEl0ZW0ga2V5PXtgUyR7aW5kZXh9YH0+XG4gICAgICAgICAgICAgICAgICAgICAgPFNhbXBsZVRpdGxlVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgIFNhbXBsZSBBbnN3ZXJcbiAgICAgICAgICAgICAgICAgICAgICA8L1NhbXBsZVRpdGxlVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICA8VGV4dCBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IHNhbXBsZUFuc3dlcnNbaW5kZXhdIH19IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvU3R5bGVkTGlzdEl0ZW0+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KX1cbiAgICAgICAgPC9MaXN0PlxuICAgICAgKTtcblxuICAgICAgcmV0dXJuIChcbiAgICAgICAgPFN0eWxlZFVpTGF5b3V0IGV4dHJhQ1NTUnVsZXM9e2V4dHJhQ1NTUnVsZXN9PlxuICAgICAgICAgIHsvKiBzY3JlZW4gcmVhZGVyIG9ubHkgaGVhZGluZyBmb3IgbmF2aWdhdGlvbiBhcyBwZXIgUEQtNTA1NyAqL31cbiAgICAgICAgICA8SGlkZGVuU2NyZWVuUmVhZGVyPlJ1YnJpYzwvSGlkZGVuU2NyZWVuUmVhZGVyPlxuICAgICAgICAgIHshYW5pbWF0aW9uc0Rpc2FibGVkID8gKFxuICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICA8UnVicmljVG9nZ2xlXG4gICAgICAgICAgICAgICAgaWQ9eydydWJyaWMtdG9nZ2xlJ31cbiAgICAgICAgICAgICAgICB0YWJJbmRleD17MH1cbiAgICAgICAgICAgICAgICByb2xlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBhcmlhLWV4cGFuZGVkPXt0aGlzLnN0YXRlLnJ1YnJpY09wZW59XG4gICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy50b2dnbGVSdWJyaWN9XG4gICAgICAgICAgICAgICAgb25LZXlQcmVzcz17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChlLmtleSA9PT0gJ0VudGVyJyB8fCBlLmtleSA9PT0gJyAnKSB0aGlzLnRvZ2dsZVJ1YnJpYygpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7dGhpcy5zdGF0ZS5saW5rUHJlZml4fSBSdWJyaWNcbiAgICAgICAgICAgICAgICA8Q2hldnJvblN0eWxlIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuICAgICAgICAgICAgICAgICAge3RoaXMuc3RhdGUucnVicmljT3BlbiA/IChcbiAgICAgICAgICAgICAgICAgICAgPHN2Z1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodD1cIjIwXCJcbiAgICAgICAgICAgICAgICAgICAgICB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcbiAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiY3VycmVudENvbG9yXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2VXaWR0aD1cIjJcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZUxpbmVjYXA9XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWpvaW49XCJyb3VuZFwiXG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICA8cG9seWxpbmUgcG9pbnRzPVwiMTggMTUgMTIgOSA2IDE1XCI+PC9wb2x5bGluZT5cbiAgICAgICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgICAgICA8c3ZnXG4gICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiXG4gICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0PVwiMjBcIlxuICAgICAgICAgICAgICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCJjdXJyZW50Q29sb3JcIlxuICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZVdpZHRoPVwiMlwiXG4gICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlTGluZWNhcD1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgICBzdHJva2VMaW5lam9pbj1cInJvdW5kXCJcbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIDxwb2x5bGluZSBwb2ludHM9XCI2IDkgMTIgMTUgMTggOVwiPjwvcG9seWxpbmU+XG4gICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8L0NoZXZyb25TdHlsZT5cbiAgICAgICAgICAgICAgPC9SdWJyaWNUb2dnbGU+XG4gICAgICAgICAgICAgIDxDb2xsYXBzZSBpbj17dGhpcy5zdGF0ZS5ydWJyaWNPcGVufSB0aW1lb3V0PXt7IGVudGVyOiAyMjUsIGV4aXQ6IDE5NSB9fT5cbiAgICAgICAgICAgICAgICB7cnVicmljTGlzdH1cbiAgICAgICAgICAgICAgPC9Db2xsYXBzZT5cbiAgICAgICAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgICAgKSA6IChcbiAgICAgICAgICAgIHJ1YnJpY0xpc3RcbiAgICAgICAgICApfVxuICAgICAgICA8L1N0eWxlZFVpTGF5b3V0PlxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IFJ1YnJpYztcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxP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
package/lib/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/main.jsx"],"names":["RubricType","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","animationsDisabled","Rubric","props","index","value","state","rubricOpen","linkPrefix","toggleRubric","bind","setState","model","classes","extraCSSRules","rubricList","slice","reverse","map","desc","length","pointsLabel","listColumn","titleText","text","__html","fontWeight","root","hiddenScreenReader","rubricToggle","e","key","chevronStyle","React","Component","object","isRequired","styles","theme","color","backgroundColor","background","borderCollapse","padding","textAlign","marginBottom","marginTop","lineHeight","display","flexDirection","alignItems","listColumnItem","fontSize","margin","paddingBottom","cursor","userSelect","typography","tertiary","transition","marginLeft","alignSelf","position","width","height","overflow","clip","border","whiteSpace"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport ListItem from '@material-ui/core/ListItem';\nimport List from '@material-ui/core/List';\nimport Collapse from '@material-ui/core/Collapse';\nimport { color, UiLayout } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n animationsDisabled: PropTypes.bool,\n});\n\nclass Rubric extends React.Component {\n dudUrl = 'javascript:;';\n\n constructor(props) {\n super(props);\n this.state = {\n rubricOpen: false,\n linkPrefix: 'Show',\n };\n this.toggleRubric = this.toggleRubric.bind(this);\n }\n\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n animationsDisabled: PropTypes.bool,\n value: RubricType,\n };\n\n toggleRubric() {\n this.setState({ rubricOpen: !this.state.rubricOpen });\n this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });\n }\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n return index !== 0;\n }\n };\n\n render() {\n const { model, value, classes } = this.props;\n let { animationsDisabled } = this.props;\n animationsDisabled = animationsDisabled || value.animationsDisabled;\n\n if (value && value.points) {\n const { extraCSSRules } = model || {};\n const { points, sampleAnswers } = value;\n\n const rubricList = (\n <List component=\"nav\">\n {points\n .slice(0)\n .reverse()\n .map((desc, index) => {\n index = points.length - index - 1;\n const pointsLabel = value.excludeZero ? index + 1 : index;\n\n return (\n <React.Fragment key={index}>\n <ListItem key={`P${index}`} className={classes.listColumn}>\n <h3 className={classes.titleText}>\n {pointsLabel === 1 ? `${pointsLabel} PT` : `${pointsLabel} PTS`}\n </h3>\n <div className={classes.text} dangerouslySetInnerHTML={{ __html: desc }} />\n </ListItem>\n\n {sampleAnswers && sampleAnswers[index] && (\n <ListItem key={`S${index}`} className={classes.listColumn}>\n <h4 className={classes.titleText} style={{ fontWeight: 'normal' }}>\n Sample Answer\n </h4>\n <div className={classes.text} dangerouslySetInnerHTML={{ __html: sampleAnswers[index] }} />\n </ListItem>\n )}\n </React.Fragment>\n );\n })}\n </List>\n );\n\n return (\n <UiLayout extraCSSRules={extraCSSRules} className={classes.root}>\n {/* screen reader only heading for navigation as per PD-5057 */}\n <h2 className={classes.hiddenScreenReader}>Rubric</h2>\n {!animationsDisabled ? (\n <React.Fragment>\n <h2\n id={'rubric-toggle'}\n className={classes.rubricToggle}\n tabIndex={0}\n role=\"button\"\n aria-expanded={this.state.rubricOpen}\n onClick={this.toggleRubric}\n onKeyPress={(e) => {\n if (e.key === 'Enter' || e.key === ' ') this.toggleRubric();\n }}\n >\n {this.state.linkPrefix} Rubric\n <span className={classes.chevronStyle} aria-hidden=\"true\">\n {this.state.rubricOpen ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"18 15 12 9 6 15\"></polyline>\n </svg>\n ) : (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"6 9 12 15 18 9\"></polyline>\n </svg>\n )}\n </span>\n </h2>\n <Collapse in={this.state.rubricOpen} timeout=\"auto\">\n {rubricList}\n </Collapse>\n </React.Fragment>\n ) : (\n rubricList\n )}\n </UiLayout>\n );\n } else {\n return null;\n }\n }\n}\n\nconst styles = (theme) => ({\n root: {\n color: color.text(),\n backgroundColor: color.background(),\n // apply styles to tables to match the rest of the UI\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n // reset paragraph margins and line-height inside lists to override client styles\n '& ul p, & ol p': {\n marginBottom: 0,\n marginTop: 0,\n lineHeight: 'normal',\n },\n },\n listColumn: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n padding: '12px 0px',\n },\n listColumnItem: {\n padding: 0,\n },\n text: {\n color: color.text(),\n },\n titleText: {\n color: color.text(),\n fontSize: '16px',\n fontWeight: '700',\n margin: 0,\n paddingBottom: '6px',\n },\n rubricToggle: {\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n fontSize: theme.typography.fontSize,\n fontWeight: '500',\n color: color.tertiary(),\n margin: 0,\n },\n chevronStyle: {\n display: 'inline-flex',\n transition: 'transform 0.2s',\n marginLeft: 2,\n alignSelf: 'center',\n },\n hiddenScreenReader: {\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0,0,0,0)',\n border: 0,\n whiteSpace: 'nowrap',\n },\n});\n\nexport default withStyles(styles)(Rubric);\n"],"file":"main.js"}
1
+ {"version":3,"file":"main.js","names":["_react","_interopRequireDefault","require","_styles","_ListItem","_List","_Collapse","_renderUi","_propTypes","StyledUiLayout","styled","UiLayout","theme","color","text","backgroundColor","background","borderCollapse","padding","textAlign","marginBottom","marginTop","lineHeight","StyledListItem","ListItem","display","flexDirection","alignItems","Text","TitleText","fontSize","fontWeight","margin","paddingBottom","SampleTitleText","RubricToggle","cursor","userSelect","typography","tertiary","ChevronStyle","transition","marginLeft","alignSelf","HiddenScreenReader","position","width","height","overflow","clip","border","whiteSpace","RubricType","exports","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","animationsDisabled","Rubric","React","Component","constructor","props","_defineProperty2","default","index","value","state","rubricOpen","linkPrefix","toggleRubric","bind","setState","render","model","extraCSSRules","rubricList","createElement","component","slice","reverse","map","desc","length","pointsLabel","Fragment","key","dangerouslySetInnerHTML","__html","id","tabIndex","role","onClick","onKeyPress","e","viewBox","fill","stroke","strokeWidth","strokeLinecap","strokeLinejoin","in","timeout","enter","exit","object","isRequired","_default"],"sources":["../src/main.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport ListItem from '@mui/material/ListItem';\nimport List from '@mui/material/List';\nimport Collapse from '@mui/material/Collapse';\nimport { color, UiLayout } from '@pie-lib/render-ui';\nimport PropTypes from 'prop-types';\n\nconst StyledUiLayout = styled(UiLayout)(({ theme }) => ({\n color: color.text(),\n backgroundColor: color.background(),\n // apply styles to tables to match the rest of the UI\n '&:not(.MathJax) table': {\n borderCollapse: 'collapse',\n },\n '&:not(.MathJax) table td, &:not(.MathJax) table th': {\n padding: '8px 12px',\n textAlign: 'left',\n },\n // reset paragraph margins and line-height inside lists to override client styles\n '& ul p, & ol p': {\n marginBottom: 0,\n marginTop: 0,\n lineHeight: 'normal',\n },\n}));\n\nconst StyledListItem = styled(ListItem)({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-start',\n padding: '12px 0px',\n});\n\nconst Text = styled('div')({\n color: color.text(),\n});\n\nconst TitleText = styled('h3')({\n color: color.text(),\n fontSize: '16px',\n fontWeight: '700',\n margin: 0,\n paddingBottom: '6px',\n});\n\nconst SampleTitleText = styled('h4')({\n color: color.text(),\n fontSize: '16px',\n fontWeight: 'normal',\n margin: 0,\n paddingBottom: '6px',\n});\n\nconst RubricToggle = styled('h2')(({ theme }) => ({\n display: 'flex',\n alignItems: 'center',\n cursor: 'pointer',\n userSelect: 'none',\n fontSize: theme.typography.fontSize,\n fontWeight: '500',\n color: color.tertiary(),\n margin: 0,\n}));\n\nconst ChevronStyle = styled('span')({\n display: 'inline-flex',\n transition: 'transform 0.2s',\n marginLeft: 2,\n alignSelf: 'center',\n});\n\nconst HiddenScreenReader = styled('h2')({\n position: 'absolute',\n width: '1px',\n height: '1px',\n padding: 0,\n margin: '-1px',\n overflow: 'hidden',\n clip: 'rect(0,0,0,0)',\n border: 0,\n whiteSpace: 'nowrap',\n});\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n animationsDisabled: PropTypes.bool,\n});\n\nclass Rubric extends React.Component {\n dudUrl = 'javascript:;';\n\n constructor(props) {\n super(props);\n this.state = {\n rubricOpen: false,\n linkPrefix: 'Show',\n };\n this.toggleRubric = this.toggleRubric.bind(this);\n }\n\n static propTypes = {\n model: PropTypes.object.isRequired,\n animationsDisabled: PropTypes.bool,\n value: RubricType,\n };\n\n toggleRubric() {\n this.setState({ rubricOpen: !this.state.rubricOpen });\n this.setState({ linkPrefix: this.state.rubricOpen ? 'Show' : 'Hide' });\n }\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n return index !== 0;\n }\n };\n\n render() {\n const { model, value } = this.props;\n let { animationsDisabled } = this.props;\n animationsDisabled = animationsDisabled || value.animationsDisabled;\n\n if (value && value.points) {\n const { extraCSSRules } = model || {};\n const { points, sampleAnswers } = value;\n\n const rubricList = (\n <List component=\"nav\">\n {points\n .slice(0)\n .reverse()\n .map((desc, index) => {\n index = points.length - index - 1;\n const pointsLabel = value.excludeZero ? index + 1 : index;\n\n return (\n <React.Fragment key={index}>\n <StyledListItem key={`P${index}`}>\n <TitleText>\n {pointsLabel === 1 ? `${pointsLabel} PT` : `${pointsLabel} PTS`}\n </TitleText>\n <Text dangerouslySetInnerHTML={{ __html: desc }} />\n </StyledListItem>\n\n {sampleAnswers && sampleAnswers[index] && (\n <StyledListItem key={`S${index}`}>\n <SampleTitleText>\n Sample Answer\n </SampleTitleText>\n <Text dangerouslySetInnerHTML={{ __html: sampleAnswers[index] }} />\n </StyledListItem>\n )}\n </React.Fragment>\n );\n })}\n </List>\n );\n\n return (\n <StyledUiLayout extraCSSRules={extraCSSRules}>\n {/* screen reader only heading for navigation as per PD-5057 */}\n <HiddenScreenReader>Rubric</HiddenScreenReader>\n {!animationsDisabled ? (\n <React.Fragment>\n <RubricToggle\n id={'rubric-toggle'}\n tabIndex={0}\n role=\"button\"\n aria-expanded={this.state.rubricOpen}\n onClick={this.toggleRubric}\n onKeyPress={(e) => {\n if (e.key === 'Enter' || e.key === ' ') this.toggleRubric();\n }}\n >\n {this.state.linkPrefix} Rubric\n <ChevronStyle aria-hidden=\"true\">\n {this.state.rubricOpen ? (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"18 15 12 9 6 15\"></polyline>\n </svg>\n ) : (\n <svg\n width=\"20\"\n height=\"20\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"6 9 12 15 18 9\"></polyline>\n </svg>\n )}\n </ChevronStyle>\n </RubricToggle>\n <Collapse in={this.state.rubricOpen} timeout={{ enter: 225, exit: 195 }}>\n {rubricList}\n </Collapse>\n </React.Fragment>\n ) : (\n rubricList\n )}\n </StyledUiLayout>\n );\n } else {\n return null;\n }\n }\n}\n\nexport default Rubric;\n"],"mappings":"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","ignoreList":[]}