@pie-lib/rubric 1.0.0-beta.4 → 1.0.0-beta.5

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.
@@ -0,0 +1,404 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.RubricType = exports.RawAuthoring = exports.PointConfig = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
9
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
10
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
11
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
12
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
13
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
14
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
15
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
17
+ var _react = _interopRequireDefault(require("react"));
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+ var _styles = require("@material-ui/core/styles");
20
+ var _classnames = _interopRequireDefault(require("classnames"));
21
+ var _OutlinedInput = _interopRequireDefault(require("@material-ui/core/OutlinedInput"));
22
+ var _InputLabel = _interopRequireDefault(require("@material-ui/core/InputLabel"));
23
+ var _Select = _interopRequireDefault(require("@material-ui/core/Select"));
24
+ var _FormControl = _interopRequireDefault(require("@material-ui/core/FormControl"));
25
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
26
+ var _times = _interopRequireDefault(require("lodash/times"));
27
+ var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
28
+ var _FormGroup = _interopRequireDefault(require("@material-ui/core/FormGroup"));
29
+ var _FormControlLabel = _interopRequireDefault(require("@material-ui/core/FormControlLabel"));
30
+ var _grey = _interopRequireDefault(require("@material-ui/core/colors/grey"));
31
+ var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
32
+ var _DragIndicator = _interopRequireDefault(require("@material-ui/icons/DragIndicator"));
33
+ var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
34
+ var _reactBeautifulDnd = require("react-beautiful-dnd");
35
+ var _debug = _interopRequireDefault(require("debug"));
36
+ var _takeRight = _interopRequireDefault(require("lodash/takeRight"));
37
+ var _pointMenu = _interopRequireDefault(require("./point-menu"));
38
+ var _range = _interopRequireDefault(require("lodash/range"));
39
+ 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; }
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
+ 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); }; }
42
+ 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; } }
43
+ var log = (0, _debug["default"])('pie-lib:rubric:authoring');
44
+ var reorder = function reorder(list, startIndex, endIndex) {
45
+ var result = Array.from(list);
46
+ var _result$splice = result.splice(startIndex, 1),
47
+ _result$splice2 = (0, _slicedToArray2["default"])(_result$splice, 1),
48
+ removed = _result$splice2[0];
49
+ result.splice(endIndex, 0, removed);
50
+ return result;
51
+ };
52
+ var RubricType = _propTypes["default"].shape({
53
+ excludeZero: _propTypes["default"].bool,
54
+ points: _propTypes["default"].arrayOf(_propTypes["default"].string),
55
+ sampleAnswers: _propTypes["default"].arrayOf(_propTypes["default"].string),
56
+ maxPoints: _propTypes["default"].number
57
+ });
58
+ exports.RubricType = RubricType;
59
+ var MaxPoints = (0, _styles.withStyles)(function (theme) {
60
+ return {
61
+ formControl: {
62
+ minWidth: '120px',
63
+ margin: theme.spacing.unit
64
+ }
65
+ };
66
+ })(function (props) {
67
+ var value = props.value,
68
+ _onChange = props.onChange,
69
+ max = props.max,
70
+ classes = props.classes;
71
+ return /*#__PURE__*/_react["default"].createElement(_FormControl["default"], {
72
+ className: classes.formControl,
73
+ variant: "outlined"
74
+ }, /*#__PURE__*/_react["default"].createElement(_InputLabel["default"], {
75
+ width: 100,
76
+ htmlFor: "..."
77
+ }, "Max Points"), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
78
+ value: value,
79
+ onChange: function onChange(e) {
80
+ return _onChange(e.target.value);
81
+ },
82
+ input: /*#__PURE__*/_react["default"].createElement(_OutlinedInput["default"], {
83
+ labelWidth: 80
84
+ })
85
+ }, (0, _range["default"])(1, max).map(function (v) {
86
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
87
+ key: "".concat(v),
88
+ value: v
89
+ }, v);
90
+ })));
91
+ });
92
+
93
+ // if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed
94
+ // if the value is '', the Sample Answer input field will be empty
95
+ var checkSampleAnswer = function checkSampleAnswer(sampleAnswer) {
96
+ return sampleAnswer === null || sampleAnswer === 'null';
97
+ };
98
+ var PointConfig = (0, _styles.withStyles)(function (theme) {
99
+ return {
100
+ pointConfig: {},
101
+ row: {
102
+ display: 'flex',
103
+ width: '100%',
104
+ position: 'relative'
105
+ },
106
+ editor: {
107
+ width: '100%',
108
+ backgroundColor: "".concat(theme.palette.common.white, " !important")
109
+ },
110
+ dragIndicator: {
111
+ paddingTop: theme.spacing.unit,
112
+ color: _grey["default"][500]
113
+ },
114
+ pointsLabel: {
115
+ color: _grey["default"][500],
116
+ paddingBottom: theme.spacing.unit,
117
+ textTransform: 'uppercase'
118
+ },
119
+ sampleAnswersEditor: {
120
+ paddingLeft: theme.spacing.unit * 3
121
+ },
122
+ pointMenu: {
123
+ position: 'absolute',
124
+ right: 0
125
+ }
126
+ };
127
+ })(function (props) {
128
+ var points = props.points,
129
+ content = props.content,
130
+ classes = props.classes,
131
+ sampleAnswer = props.sampleAnswer,
132
+ _props$mathMlOptions = props.mathMlOptions,
133
+ mathMlOptions = _props$mathMlOptions === void 0 ? {} : _props$mathMlOptions;
134
+ var pointsLabel = "".concat(points, " ").concat(points <= 1 ? 'pt' : 'pts');
135
+ var showSampleAnswer = checkSampleAnswer(sampleAnswer);
136
+ return /*#__PURE__*/_react["default"].createElement("div", {
137
+ className: classes.pointConfig
138
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
139
+ variant: "overline",
140
+ className: classes.pointsLabel
141
+ }, pointsLabel), /*#__PURE__*/_react["default"].createElement("div", {
142
+ className: classes.row
143
+ }, /*#__PURE__*/_react["default"].createElement(_DragIndicator["default"], {
144
+ className: classes.dragIndicator
145
+ }), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
146
+ className: classes.editor,
147
+ markup: content,
148
+ onChange: props.onChange,
149
+ mathMlOptions: mathMlOptions
150
+ }), /*#__PURE__*/_react["default"].createElement(_pointMenu["default"], {
151
+ classes: {
152
+ icon: classes.pointMenu
153
+ },
154
+ showSampleAnswer: showSampleAnswer,
155
+ onChange: props.onMenuChange
156
+ })), !showSampleAnswer && /*#__PURE__*/_react["default"].createElement("div", {
157
+ className: classes.sampleAnswersEditor
158
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
159
+ variant: "overline",
160
+ className: classes.dragIndicator
161
+ }, "Sample Response"), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
162
+ className: classes.editor,
163
+ markup: sampleAnswer,
164
+ onChange: props.onSampleChange,
165
+ mathMlOptions: mathMlOptions
166
+ })));
167
+ });
168
+ exports.PointConfig = PointConfig;
169
+ var RawAuthoring = /*#__PURE__*/function (_React$Component) {
170
+ (0, _inherits2["default"])(RawAuthoring, _React$Component);
171
+ var _super = _createSuper(RawAuthoring);
172
+ function RawAuthoring() {
173
+ var _this;
174
+ (0, _classCallCheck2["default"])(this, RawAuthoring);
175
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
176
+ args[_key] = arguments[_key];
177
+ }
178
+ _this = _super.call.apply(_super, [this].concat(args));
179
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dragEnd", function (result) {
180
+ if (!result.destination) {
181
+ return;
182
+ }
183
+ var _this$props = _this.props,
184
+ value = _this$props.value,
185
+ onChange = _this$props.onChange;
186
+ var points = reorder(value.points, result.source.index, result.destination.index);
187
+ var sampleAnswers = reorder(value.sampleAnswers, result.source.index, result.destination.index);
188
+ onChange(_objectSpread(_objectSpread({}, value), {}, {
189
+ points: points,
190
+ sampleAnswers: sampleAnswers
191
+ }));
192
+ });
193
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeMaxPoints", function (maxPoints) {
194
+ var _this$props2 = _this.props,
195
+ value = _this$props2.value,
196
+ onChange = _this$props2.onChange;
197
+ var currentMax = value.points.length - 1;
198
+ log('current', currentMax, 'new: ', maxPoints);
199
+ var points, sampleAnswers;
200
+ if (maxPoints > currentMax) {
201
+ points = (0, _times["default"])(maxPoints - currentMax).map(function () {
202
+ return '';
203
+ }).concat(value.points);
204
+ sampleAnswers = (0, _times["default"])(maxPoints - currentMax).map(function () {
205
+ return null;
206
+ }).concat(value.sampleAnswers);
207
+ }
208
+ if (maxPoints < currentMax) {
209
+ log('less than');
210
+ points = (0, _takeRight["default"])(value.points, maxPoints + 1);
211
+ sampleAnswers = (0, _takeRight["default"])(value.sampleAnswers, maxPoints + 1);
212
+ }
213
+ if (points) {
214
+ onChange(_objectSpread(_objectSpread({}, value), {}, {
215
+ points: points,
216
+ sampleAnswers: sampleAnswers
217
+ }));
218
+ }
219
+ });
220
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeContent", function (index, content, type) {
221
+ // type could be 'points' or 'sampleAnswers'
222
+ log("changeModel[".concat(type, "]:"), index, content);
223
+ if (type !== 'points' && type !== 'sampleAnswers') {
224
+ return;
225
+ }
226
+ var _this$props3 = _this.props,
227
+ value = _this$props3.value,
228
+ onChange = _this$props3.onChange;
229
+ var items = value[type] && Array.from(value[type]);
230
+ items.splice(index, 1, content);
231
+ log("changeModel[".concat(type, "]:"), items);
232
+ onChange(_objectSpread(_objectSpread({}, value), {}, (0, _defineProperty2["default"])({}, type, items)));
233
+ });
234
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "excludeZeros", function () {
235
+ var _this$props4 = _this.props,
236
+ value = _this$props4.value,
237
+ onChange = _this$props4.onChange;
238
+ onChange(_objectSpread(_objectSpread({}, value), {}, {
239
+ excludeZero: !value.excludeZero
240
+ }));
241
+ });
242
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "shouldRenderPoint", function (index, value) {
243
+ if (!value.excludeZero) {
244
+ return true;
245
+ } else {
246
+ if (index < value.points.length - 1) {
247
+ return true;
248
+ } else if (index === value.points.length - 1) {
249
+ return false;
250
+ }
251
+ return true;
252
+ }
253
+ });
254
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPointMenuChange", function (index, clickedItem) {
255
+ if (clickedItem === 'sample') {
256
+ var value = _this.props.value;
257
+ var sampleAnswers = Array.from(value.sampleAnswers || []);
258
+ if (checkSampleAnswer(sampleAnswers[index])) {
259
+ // an empty string will display an empty Sample Answer input field
260
+ _this.changeContent(index, '', 'sampleAnswers');
261
+ } else {
262
+ // when the content is null or 'null', the Sample Answer input field will not be displayed
263
+ _this.changeContent(index, null, 'sampleAnswers');
264
+ }
265
+ }
266
+ });
267
+ return _this;
268
+ }
269
+ (0, _createClass2["default"])(RawAuthoring, [{
270
+ key: "render",
271
+ value: function render() {
272
+ var _this2 = this;
273
+ var _this$props5 = this.props,
274
+ classes = _this$props5.classes,
275
+ className = _this$props5.className,
276
+ value = _this$props5.value,
277
+ _this$props5$mathMlOp = _this$props5.mathMlOptions,
278
+ mathMlOptions = _this$props5$mathMlOp === void 0 ? {} : _this$props5$mathMlOp;
279
+ var _ref = value || {},
280
+ _ref$excludeZeroEnabl = _ref.excludeZeroEnabled,
281
+ excludeZeroEnabled = _ref$excludeZeroEnabl === void 0 ? true : _ref$excludeZeroEnabl,
282
+ _ref$maxPointsEnabled = _ref.maxPointsEnabled,
283
+ maxPointsEnabled = _ref$maxPointsEnabled === void 0 ? true : _ref$maxPointsEnabled;
284
+ if (value && Number.isFinite(value.maxPoints)) {
285
+ // eslint-disable-next-line no-console
286
+ console.warn('maxPoints is deprecated - remove from model');
287
+ }
288
+ return /*#__PURE__*/_react["default"].createElement("div", {
289
+ className: (0, _classnames["default"])(classes["class"], className)
290
+ }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
291
+ variant: "h5",
292
+ className: classes.rubricTitle
293
+ }, "Rubric"), /*#__PURE__*/_react["default"].createElement(_FormGroup["default"], {
294
+ row: true
295
+ }, maxPointsEnabled && /*#__PURE__*/_react["default"].createElement(MaxPoints, {
296
+ max: 10,
297
+ value: value.points.length - 1,
298
+ onChange: this.changeMaxPoints
299
+ }), excludeZeroEnabled && /*#__PURE__*/_react["default"].createElement(_FormControlLabel["default"], {
300
+ label: "Exclude zeros",
301
+ control: /*#__PURE__*/_react["default"].createElement(_Checkbox["default"], {
302
+ checked: value.excludeZero,
303
+ onChange: this.excludeZeros
304
+ })
305
+ })), /*#__PURE__*/_react["default"].createElement("div", {
306
+ className: classes.container
307
+ }, /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.DragDropContext, {
308
+ onDragEnd: this.dragEnd
309
+ }, /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.Droppable, {
310
+ droppableId: "droppable"
311
+ }, function (provided) {
312
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, provided.droppableProps, {
313
+ ref: provided.innerRef
314
+ }), value.points.map(function (p, index) {
315
+ return _this2.shouldRenderPoint(index, value) && /*#__PURE__*/_react["default"].createElement(_reactBeautifulDnd.Draggable, {
316
+ key: "".concat(p.points, "-").concat(index),
317
+ index: index,
318
+ draggableId: index.toString()
319
+ }, function (provided) {
320
+ return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
321
+ className: classes.configHolder,
322
+ ref: provided.innerRef
323
+ }, provided.draggableProps, provided.dragHandleProps), /*#__PURE__*/_react["default"].createElement(PointConfig, {
324
+ points: value.points.length - 1 - index,
325
+ content: p,
326
+ sampleAnswer: value.sampleAnswers && value.sampleAnswers[index],
327
+ onChange: function onChange(content) {
328
+ return _this2.changeContent(index, content, 'points');
329
+ },
330
+ onSampleChange: function onSampleChange(content) {
331
+ return _this2.changeContent(index, content, 'sampleAnswers');
332
+ },
333
+ onMenuChange: function onMenuChange(clickedItem) {
334
+ return _this2.onPointMenuChange(index, clickedItem);
335
+ },
336
+ mathMlOptions: mathMlOptions
337
+ }));
338
+ });
339
+ }), provided.placeholder);
340
+ }))));
341
+ }
342
+ }]);
343
+ return RawAuthoring;
344
+ }(_react["default"].Component);
345
+ exports.RawAuthoring = RawAuthoring;
346
+ (0, _defineProperty2["default"])(RawAuthoring, "propTypes", {
347
+ classes: _propTypes["default"].object.isRequired,
348
+ className: _propTypes["default"].string,
349
+ value: RubricType,
350
+ onChange: _propTypes["default"].func
351
+ });
352
+ (0, _defineProperty2["default"])(RawAuthoring, "defaultProps", {});
353
+ var styles = function styles(theme) {
354
+ return {
355
+ container: {
356
+ backgroundColor: _grey["default"][200],
357
+ borderWidth: 1,
358
+ borderStyle: 'solid',
359
+ borderColor: _grey["default"][300],
360
+ padding: theme.spacing.unit * 2,
361
+ margin: theme.spacing.unit
362
+ },
363
+ configHolder: {
364
+ paddingTop: theme.spacing.unit,
365
+ paddingBottom: theme.spacing.unit
366
+ },
367
+ rubricTitle: {
368
+ paddingLeft: theme.spacing.unit,
369
+ margin: theme.spacing.unit
370
+ }
371
+ };
372
+ };
373
+ var StyledRawAuthoring = (0, _styles.withStyles)(styles)(RawAuthoring);
374
+ var Reverse = function Reverse(props) {
375
+ var points = Array.from(props.value.points || []).reverse();
376
+ var sampleAnswers = Array.from(props.value.sampleAnswers || []).reverse();
377
+ if (points.length > sampleAnswers.length) {
378
+ sampleAnswers = (0, _times["default"])(points.length - sampleAnswers.length).map(function () {
379
+ return null;
380
+ }).concat(sampleAnswers);
381
+ }
382
+ var value = _objectSpread(_objectSpread({}, props.value), {}, {
383
+ points: points,
384
+ sampleAnswers: sampleAnswers
385
+ });
386
+ var onChange = function onChange(value) {
387
+ props.onChange(_objectSpread(_objectSpread({}, value), {}, {
388
+ points: Array.from(value.points || []).reverse(),
389
+ sampleAnswers: Array.from(value.sampleAnswers || []).reverse()
390
+ }));
391
+ };
392
+ return /*#__PURE__*/_react["default"].createElement(StyledRawAuthoring, {
393
+ value: value,
394
+ onChange: onChange
395
+ });
396
+ };
397
+ Reverse.propTypes = {
398
+ value: RubricType,
399
+ getIndex: _propTypes["default"].func,
400
+ onChange: _propTypes["default"].func
401
+ };
402
+ var _default = Reverse;
403
+ exports["default"] = _default;
404
+ //# sourceMappingURL=authoring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authoring.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_classnames","_OutlinedInput","_InputLabel","_Select","_FormControl","_MenuItem","_times","_Checkbox","_FormGroup","_FormControlLabel","_grey","_Typography","_DragIndicator","_editableHtml","_reactBeautifulDnd","_debug","_takeRight","_pointMenu","_range","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","reorder","list","startIndex","endIndex","Array","from","_result$splice","splice","_result$splice2","_slicedToArray2","removed","RubricType","PropTypes","shape","excludeZero","bool","points","arrayOf","string","sampleAnswers","maxPoints","number","exports","MaxPoints","withStyles","theme","formControl","minWidth","margin","spacing","unit","props","value","onChange","max","classes","createElement","className","variant","width","htmlFor","input","labelWidth","range","map","v","concat","checkSampleAnswer","sampleAnswer","PointConfig","pointConfig","row","display","position","editor","backgroundColor","palette","common","white","dragIndicator","paddingTop","color","grey","pointsLabel","paddingBottom","textTransform","sampleAnswersEditor","paddingLeft","pointMenu","right","content","_props$mathMlOptions","mathMlOptions","showSampleAnswer","markup","icon","onMenuChange","onSampleChange","RawAuthoring","_React$Component","_inherits2","_super","_this","_classCallCheck2","_len","args","_key","_assertThisInitialized2","destination","_this$props","index","_this$props2","currentMax","times","takeRight","type","_this$props3","items","_this$props4","clickedItem","changeContent","_createClass2","render","_this2","_this$props5","_this$props5$mathMlOp","_ref","_ref$excludeZeroEnabl","excludeZeroEnabled","_ref$maxPointsEnabled","maxPointsEnabled","Number","isFinite","console","warn","classNames","rubricTitle","changeMaxPoints","label","control","checked","excludeZeros","container","DragDropContext","onDragEnd","dragEnd","Droppable","droppableId","provided","_extends2","droppableProps","ref","innerRef","p","shouldRenderPoint","Draggable","draggableId","toString","configHolder","draggableProps","dragHandleProps","onPointMenuChange","placeholder","React","Component","isRequired","func","styles","borderWidth","borderStyle","borderColor","padding","StyledRawAuthoring","Reverse","reverse","propTypes","getIndex","_default"],"sources":["../src/authoring.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport FormControl from '@material-ui/core/FormControl';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport times from 'lodash/times';\nimport Checkbox from '@material-ui/core/Checkbox';\nimport FormGroup from '@material-ui/core/FormGroup';\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\nimport grey from '@material-ui/core/colors/grey';\nimport Typography from '@material-ui/core/Typography';\nimport DragIndicator from '@material-ui/icons/DragIndicator';\nimport EditableHtml from '@pie-lib/editable-html';\nimport { DragDropContext, Droppable, Draggable } from 'react-beautiful-dnd';\nimport debug from 'debug';\nimport takeRight from 'lodash/takeRight';\nimport PointMenu from './point-menu';\n\nimport range from 'lodash/range';\nconst log = debug('pie-lib:rubric:authoring');\n\nconst reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n\n result.splice(endIndex, 0, removed);\n\n return result;\n};\n\nexport const RubricType = PropTypes.shape({\n excludeZero: PropTypes.bool,\n points: PropTypes.arrayOf(PropTypes.string),\n sampleAnswers: PropTypes.arrayOf(PropTypes.string),\n maxPoints: PropTypes.number,\n});\n\nconst MaxPoints = withStyles((theme) => ({\n formControl: {\n minWidth: '120px',\n margin: theme.spacing.unit,\n },\n}))((props) => {\n const { value, onChange, max, classes } = props;\n\n return (\n <FormControl className={classes.formControl} variant=\"outlined\">\n <InputLabel width={100} htmlFor=\"...\">\n Max Points\n </InputLabel>\n <Select value={value} onChange={(e) => onChange(e.target.value)} input={<OutlinedInput labelWidth={80} />}>\n {range(1, max).map((v) => (\n <MenuItem key={`${v}`} value={v}>\n {v}\n </MenuItem>\n ))}\n </Select>\n </FormControl>\n );\n});\n\n// if the value is null or 'null', the Sample Answer input field for that point will not be dispalyed\n// if the value is '', the Sample Answer input field will be empty\nconst checkSampleAnswer = (sampleAnswer) => sampleAnswer === null || sampleAnswer === 'null';\n\nexport const PointConfig = withStyles((theme) => ({\n pointConfig: {},\n row: {\n display: 'flex',\n width: '100%',\n position: 'relative',\n },\n editor: {\n width: '100%',\n backgroundColor: `${theme.palette.common.white} !important`,\n },\n dragIndicator: {\n paddingTop: theme.spacing.unit,\n color: grey[500],\n },\n pointsLabel: {\n color: grey[500],\n paddingBottom: theme.spacing.unit,\n textTransform: 'uppercase',\n },\n sampleAnswersEditor: {\n paddingLeft: theme.spacing.unit * 3,\n },\n pointMenu: {\n position: 'absolute',\n right: 0,\n },\n}))((props) => {\n const { points, content, classes, sampleAnswer, mathMlOptions = {} } = props;\n const pointsLabel = `${points} ${points <= 1 ? 'pt' : 'pts'}`;\n const showSampleAnswer = checkSampleAnswer(sampleAnswer);\n\n return (\n <div className={classes.pointConfig}>\n <Typography variant=\"overline\" className={classes.pointsLabel}>\n {pointsLabel}\n </Typography>\n\n <div className={classes.row}>\n <DragIndicator className={classes.dragIndicator} />\n <EditableHtml\n className={classes.editor}\n markup={content}\n onChange={props.onChange}\n mathMlOptions={mathMlOptions}\n />\n <PointMenu\n classes={{\n icon: classes.pointMenu,\n }}\n showSampleAnswer={showSampleAnswer}\n onChange={props.onMenuChange}\n />\n </div>\n\n {!showSampleAnswer && (\n <div className={classes.sampleAnswersEditor}>\n <Typography variant=\"overline\" className={classes.dragIndicator}>\n Sample Response\n </Typography>\n <EditableHtml\n className={classes.editor}\n markup={sampleAnswer}\n onChange={props.onSampleChange}\n mathMlOptions={mathMlOptions}\n />\n </div>\n )}\n </div>\n );\n});\n\nexport class RawAuthoring extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n value: RubricType,\n onChange: PropTypes.func,\n };\n\n static defaultProps = {};\n\n dragEnd = (result) => {\n if (!result.destination) {\n return;\n }\n\n const { value, onChange } = this.props;\n\n const points = reorder(value.points, result.source.index, result.destination.index);\n const sampleAnswers = reorder(value.sampleAnswers, result.source.index, result.destination.index);\n\n onChange({ ...value, points, sampleAnswers });\n };\n\n changeMaxPoints = (maxPoints) => {\n const { value, onChange } = this.props;\n const currentMax = value.points.length - 1;\n\n log('current', currentMax, 'new: ', maxPoints);\n\n let points, sampleAnswers;\n if (maxPoints > currentMax) {\n points = times(maxPoints - currentMax)\n .map(() => '')\n .concat(value.points);\n sampleAnswers = times(maxPoints - currentMax)\n .map(() => null)\n .concat(value.sampleAnswers);\n }\n\n if (maxPoints < currentMax) {\n log('less than');\n points = takeRight(value.points, maxPoints + 1);\n sampleAnswers = takeRight(value.sampleAnswers, maxPoints + 1);\n }\n\n if (points) {\n onChange({ ...value, points, sampleAnswers });\n }\n };\n\n changeContent = (index, content, type) => {\n // type could be 'points' or 'sampleAnswers'\n log(`changeModel[${type}]:`, index, content);\n\n if (type !== 'points' && type !== 'sampleAnswers') {\n return;\n }\n\n const { value, onChange } = this.props;\n const items = value[type] && Array.from(value[type]);\n\n items.splice(index, 1, content);\n log(`changeModel[${type}]:`, items);\n\n onChange({ ...value, [type]: items });\n };\n\n excludeZeros = () => {\n const { value, onChange } = this.props;\n\n onChange({ ...value, excludeZero: !value.excludeZero });\n };\n\n shouldRenderPoint = (index, value) => {\n if (!value.excludeZero) {\n return true;\n } else {\n if (index < value.points.length - 1) {\n return true;\n } else if (index === value.points.length - 1) {\n return false;\n }\n\n return true;\n }\n };\n\n onPointMenuChange = (index, clickedItem) => {\n if (clickedItem === 'sample') {\n const { value } = this.props;\n const sampleAnswers = Array.from(value.sampleAnswers || []);\n\n if (checkSampleAnswer(sampleAnswers[index])) {\n // an empty string will display an empty Sample Answer input field\n this.changeContent(index, '', 'sampleAnswers');\n } else {\n // when the content is null or 'null', the Sample Answer input field will not be displayed\n this.changeContent(index, null, 'sampleAnswers');\n }\n }\n };\n\n render() {\n const { classes, className, value, mathMlOptions = {} } = this.props;\n let { excludeZeroEnabled = true, maxPointsEnabled = true } = value || {};\n\n if (value && Number.isFinite(value.maxPoints)) {\n // eslint-disable-next-line no-console\n console.warn('maxPoints is deprecated - remove from model');\n }\n\n return (\n <div className={classNames(classes.class, className)}>\n <Typography variant=\"h5\" className={classes.rubricTitle}>\n Rubric\n </Typography>\n <FormGroup row>\n {maxPointsEnabled && <MaxPoints max={10} value={value.points.length - 1} onChange={this.changeMaxPoints} />}\n {excludeZeroEnabled && (\n <FormControlLabel\n label=\"Exclude zeros\"\n control={<Checkbox checked={value.excludeZero} onChange={this.excludeZeros} />}\n />\n )}\n </FormGroup>\n\n <div className={classes.container}>\n <DragDropContext onDragEnd={this.dragEnd}>\n <Droppable droppableId=\"droppable\">\n {(provided) => (\n <div {...provided.droppableProps} ref={provided.innerRef}>\n {value.points.map(\n (p, index) =>\n this.shouldRenderPoint(index, value) && (\n <Draggable key={`${p.points}-${index}`} index={index} draggableId={index.toString()}>\n {(provided) => (\n <div\n className={classes.configHolder}\n ref={provided.innerRef}\n {...provided.draggableProps}\n {...provided.dragHandleProps}\n >\n <PointConfig\n points={value.points.length - 1 - index}\n content={p}\n sampleAnswer={value.sampleAnswers && value.sampleAnswers[index]}\n onChange={(content) => this.changeContent(index, content, 'points')}\n onSampleChange={(content) => this.changeContent(index, content, 'sampleAnswers')}\n onMenuChange={(clickedItem) => this.onPointMenuChange(index, clickedItem)}\n mathMlOptions={mathMlOptions}\n />\n </div>\n )}\n </Draggable>\n ),\n )}\n {provided.placeholder}\n </div>\n )}\n </Droppable>\n </DragDropContext>\n </div>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n container: {\n backgroundColor: grey[200],\n borderWidth: 1,\n borderStyle: 'solid',\n borderColor: grey[300],\n padding: theme.spacing.unit * 2,\n margin: theme.spacing.unit,\n },\n configHolder: {\n paddingTop: theme.spacing.unit,\n paddingBottom: theme.spacing.unit,\n },\n rubricTitle: {\n paddingLeft: theme.spacing.unit,\n margin: theme.spacing.unit,\n },\n});\n\nconst StyledRawAuthoring = withStyles(styles)(RawAuthoring);\n\nconst Reverse = (props) => {\n const points = Array.from(props.value.points || []).reverse();\n let sampleAnswers = Array.from(props.value.sampleAnswers || []).reverse();\n\n if (points.length > sampleAnswers.length) {\n sampleAnswers = times(points.length - sampleAnswers.length)\n .map(() => null)\n .concat(sampleAnswers);\n }\n\n const value = { ...props.value, points, sampleAnswers };\n\n const onChange = (value) => {\n props.onChange({\n ...value,\n points: Array.from(value.points || []).reverse(),\n sampleAnswers: Array.from(value.sampleAnswers || []).reverse(),\n });\n };\n\n return <StyledRawAuthoring value={value} onChange={onChange} />;\n};\n\nReverse.propTypes = {\n value: RubricType,\n getIndex: PropTypes.func,\n onChange: PropTypes.func,\n};\n\nexport default Reverse;\n"],"mappings":"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"}
package/lib/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ Object.defineProperty(exports, "Authoring", {
8
+ enumerable: true,
9
+ get: function get() {
10
+ return _authoring["default"];
11
+ }
12
+ });
13
+ exports.RUBRIC_TYPES = void 0;
14
+ var _authoring = _interopRequireDefault(require("./authoring"));
15
+ var RUBRIC_TYPES = {
16
+ SIMPLE_RUBRIC: 'simpleRubric',
17
+ MULTI_TRAIT_RUBRIC: 'multiTraitRubric'
18
+ };
19
+ exports.RUBRIC_TYPES = RUBRIC_TYPES;
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["_authoring","_interopRequireDefault","require","RUBRIC_TYPES","SIMPLE_RUBRIC","MULTI_TRAIT_RUBRIC","exports"],"sources":["../src/index.js"],"sourcesContent":["import Authoring from './authoring';\n\nconst RUBRIC_TYPES = {\n SIMPLE_RUBRIC: 'simpleRubric',\n MULTI_TRAIT_RUBRIC: 'multiTraitRubric',\n};\n\nexport { Authoring, RUBRIC_TYPES };\n"],"mappings":";;;;;;;;;;;;;AAAA,IAAAA,UAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAMC,YAAY,GAAG;EACnBC,aAAa,EAAE,cAAc;EAC7BC,kBAAkB,EAAE;AACtB,CAAC;AAACC,OAAA,CAAAH,YAAA,GAAAA,YAAA"}
@@ -0,0 +1,140 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports["default"] = exports.IconMenu = void 0;
8
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
9
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
10
+ var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
11
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
12
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
13
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+ var _Menu = _interopRequireDefault(require("@material-ui/core/Menu"));
16
+ var _MenuItem = _interopRequireDefault(require("@material-ui/core/MenuItem"));
17
+ var _MoreVert = _interopRequireDefault(require("@material-ui/icons/MoreVert"));
18
+ var _MoreHoriz = _interopRequireDefault(require("@material-ui/icons/MoreHoriz"));
19
+ var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
20
+ var _propTypes = _interopRequireDefault(require("prop-types"));
21
+ var _react = _interopRequireDefault(require("react"));
22
+ 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); }; }
23
+ 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; } }
24
+ var IconMenu = /*#__PURE__*/function (_React$Component) {
25
+ (0, _inherits2["default"])(IconMenu, _React$Component);
26
+ var _super = _createSuper(IconMenu);
27
+ function IconMenu(props) {
28
+ var _this;
29
+ (0, _classCallCheck2["default"])(this, IconMenu);
30
+ _this = _super.call(this, props);
31
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleClick", function (event) {
32
+ return _this.setState({
33
+ open: true,
34
+ anchorEl: event.currentTarget
35
+ });
36
+ });
37
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleRequestClose", function () {
38
+ return _this.setState({
39
+ open: false
40
+ });
41
+ });
42
+ _this.state = {
43
+ anchorEl: undefined,
44
+ open: false
45
+ };
46
+ return _this;
47
+ }
48
+ (0, _createClass2["default"])(IconMenu, [{
49
+ key: "render",
50
+ value: function render() {
51
+ var _this2 = this;
52
+ var _this$props = this.props,
53
+ opts = _this$props.opts,
54
+ onClick = _this$props.onClick,
55
+ classes = _this$props.classes;
56
+ var _this$state = this.state,
57
+ open = _this$state.open,
58
+ anchorEl = _this$state.anchorEl;
59
+ var keys = Object.keys(opts) || [];
60
+ var handleMenuClick = function handleMenuClick(key) {
61
+ return function () {
62
+ onClick(key);
63
+ _this2.handleRequestClose();
64
+ };
65
+ };
66
+ var iconColor = open ? 'inherit' : 'disabled';
67
+ return /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", {
68
+ onClick: this.handleClick
69
+ }, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
70
+ className: classes.icon
71
+ }, open ? /*#__PURE__*/_react["default"].createElement(_MoreVert["default"], {
72
+ color: iconColor
73
+ }) : /*#__PURE__*/_react["default"].createElement(_MoreHoriz["default"], {
74
+ color: iconColor
75
+ }))), /*#__PURE__*/_react["default"].createElement(_Menu["default"], {
76
+ id: "point-menu",
77
+ anchorEl: anchorEl,
78
+ open: open,
79
+ onClose: this.handleRequestClose,
80
+ style: {
81
+ transform: 'translate(-15px, -15px)'
82
+ },
83
+ transformOrigin: {
84
+ vertical: 'center',
85
+ horizontal: 'right'
86
+ }
87
+ }, keys.map(function (k, index) {
88
+ return /*#__PURE__*/_react["default"].createElement(_MenuItem["default"], {
89
+ key: index,
90
+ onClick: handleMenuClick(k)
91
+ }, opts[k]);
92
+ })));
93
+ }
94
+ }]);
95
+ return IconMenu;
96
+ }(_react["default"].Component);
97
+ exports.IconMenu = IconMenu;
98
+ (0, _defineProperty2["default"])(IconMenu, "propTypes", {
99
+ opts: _propTypes["default"].object,
100
+ onClick: _propTypes["default"].func.isRequired,
101
+ classes: _propTypes["default"].object.isRequired
102
+ });
103
+ var PointMenu = /*#__PURE__*/function (_React$Component2) {
104
+ (0, _inherits2["default"])(PointMenu, _React$Component2);
105
+ var _super2 = _createSuper(PointMenu);
106
+ function PointMenu() {
107
+ (0, _classCallCheck2["default"])(this, PointMenu);
108
+ return _super2.apply(this, arguments);
109
+ }
110
+ (0, _createClass2["default"])(PointMenu, [{
111
+ key: "render",
112
+ value: function render() {
113
+ var _this$props2 = this.props,
114
+ onChange = _this$props2.onChange,
115
+ classes = _this$props2.classes,
116
+ showSampleAnswer = _this$props2.showSampleAnswer;
117
+ var sampleText = showSampleAnswer ? 'Provide Sample Response' : 'Remove Sample Response';
118
+ return /*#__PURE__*/_react["default"].createElement(IconMenu, {
119
+ onClick: function onClick(key) {
120
+ return onChange(key);
121
+ },
122
+ opts: {
123
+ sample: sampleText
124
+ },
125
+ classes: classes
126
+ });
127
+ }
128
+ }]);
129
+ return PointMenu;
130
+ }(_react["default"].Component);
131
+ exports["default"] = PointMenu;
132
+ (0, _defineProperty2["default"])(PointMenu, "propTypes", {
133
+ onChange: _propTypes["default"].func.isRequired,
134
+ classes: _propTypes["default"].object.isRequired,
135
+ showSampleAnswer: _propTypes["default"].bool.isRequired
136
+ });
137
+ (0, _defineProperty2["default"])(PointMenu, "defaultProps", {
138
+ classes: {}
139
+ });
140
+ //# sourceMappingURL=point-menu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"point-menu.js","names":["_Menu","_interopRequireDefault","require","_MenuItem","_MoreVert","_MoreHoriz","_IconButton","_propTypes","_react","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","IconMenu","_React$Component","_inherits2","_super","props","_this","_classCallCheck2","_defineProperty2","_assertThisInitialized2","event","setState","open","anchorEl","currentTarget","state","undefined","_createClass2","key","value","render","_this2","_this$props","opts","onClick","classes","_this$state","keys","Object","handleMenuClick","handleRequestClose","iconColor","createElement","handleClick","className","icon","color","id","onClose","style","transform","transformOrigin","vertical","horizontal","map","k","index","React","Component","exports","PropTypes","object","func","isRequired","PointMenu","_React$Component2","_super2","_this$props2","onChange","showSampleAnswer","sampleText","sample","bool"],"sources":["../src/point-menu.jsx"],"sourcesContent":["import Menu from '@material-ui/core/Menu';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport IconButton from '@material-ui/core/IconButton';\nimport PropTypes from 'prop-types';\nimport React from 'react';\n\nexport class IconMenu extends React.Component {\n static propTypes = {\n opts: PropTypes.object,\n onClick: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n anchorEl: undefined,\n open: false,\n };\n }\n\n handleClick = (event) => this.setState({ open: true, anchorEl: event.currentTarget });\n\n handleRequestClose = () => this.setState({ open: false });\n\n render() {\n const { opts, onClick, classes } = this.props;\n const { open, anchorEl } = this.state;\n const keys = Object.keys(opts) || [];\n\n const handleMenuClick = (key) => () => {\n onClick(key);\n this.handleRequestClose();\n };\n\n const iconColor = open ? 'inherit' : 'disabled';\n\n return (\n <div>\n <div onClick={this.handleClick}>\n <IconButton className={classes.icon}>\n {open ? <MoreVertIcon color={iconColor} /> : <MoreHorizIcon color={iconColor} />}\n </IconButton>\n </div>\n <Menu\n id=\"point-menu\"\n anchorEl={anchorEl}\n open={open}\n onClose={this.handleRequestClose}\n style={{ transform: 'translate(-15px, -15px)' }}\n transformOrigin={{\n vertical: 'center',\n horizontal: 'right',\n }}\n >\n {keys.map((k, index) => (\n <MenuItem key={index} onClick={handleMenuClick(k)}>\n {opts[k]}\n </MenuItem>\n ))}\n </Menu>\n </div>\n );\n }\n}\n\nexport default class PointMenu extends React.Component {\n static propTypes = {\n onChange: PropTypes.func.isRequired,\n classes: PropTypes.object.isRequired,\n showSampleAnswer: PropTypes.bool.isRequired,\n };\n\n static defaultProps = {\n classes: {},\n };\n\n render() {\n const { onChange, classes, showSampleAnswer } = this.props;\n const sampleText = showSampleAnswer ? 'Provide Sample Response' : 'Remove Sample Response';\n\n return (\n <IconMenu\n onClick={(key) => onChange(key)}\n opts={{\n sample: sampleText,\n }}\n classes={classes}\n />\n );\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pie-lib/rubric",
3
- "version": "1.0.0-beta.4",
3
+ "version": "1.0.0-beta.5",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },