@pie-element/complex-rubric 3.3.6-next.0 → 3.3.6-next.9
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/configure/package.json +0 -5
- package/controller/package.json +1 -1
- package/module/configure.js +66915 -1476
- package/module/element.js +67652 -2213
- package/module/manifest.json +2 -2
- package/module/print.js +67652 -2213
- package/package.json +4 -4
- package/configure/node_modules/@pie-lib/render-ui/CHANGELOG.json +0 -937
- package/configure/node_modules/@pie-lib/render-ui/CHANGELOG.md +0 -848
- package/configure/node_modules/@pie-lib/render-ui/LICENSE.md +0 -5
- package/configure/node_modules/@pie-lib/render-ui/README.md +0 -33
- package/configure/node_modules/@pie-lib/render-ui/lib/collapsible/index.js +0 -134
- package/configure/node_modules/@pie-lib/render-ui/lib/collapsible/index.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/color.js +0 -157
- package/configure/node_modules/@pie-lib/render-ui/lib/color.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/feedback.js +0 -151
- package/configure/node_modules/@pie-lib/render-ui/lib/feedback.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/has-text.js +0 -24
- package/configure/node_modules/@pie-lib/render-ui/lib/has-text.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/html-and-math.js +0 -90
- package/configure/node_modules/@pie-lib/render-ui/lib/html-and-math.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/index.js +0 -104
- package/configure/node_modules/@pie-lib/render-ui/lib/index.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/input-container.js +0 -60
- package/configure/node_modules/@pie-lib/render-ui/lib/input-container.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/preview-layout.js +0 -133
- package/configure/node_modules/@pie-lib/render-ui/lib/preview-layout.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/preview-prompt.js +0 -206
- package/configure/node_modules/@pie-lib/render-ui/lib/preview-prompt.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/purpose.js +0 -28
- package/configure/node_modules/@pie-lib/render-ui/lib/purpose.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/readable.js +0 -28
- package/configure/node_modules/@pie-lib/render-ui/lib/readable.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/response-indicators.js +0 -151
- package/configure/node_modules/@pie-lib/render-ui/lib/response-indicators.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/lib/withUndoReset.js +0 -181
- package/configure/node_modules/@pie-lib/render-ui/lib/withUndoReset.js.map +0 -1
- package/configure/node_modules/@pie-lib/render-ui/package.json +0 -30
- package/configure/node_modules/@pie-lib/render-ui/src/collapsible/index.jsx +0 -63
- package/configure/node_modules/@pie-lib/render-ui/src/color.js +0 -55
- package/configure/node_modules/@pie-lib/render-ui/src/feedback.jsx +0 -100
- package/configure/node_modules/@pie-lib/render-ui/src/has-text.js +0 -14
- package/configure/node_modules/@pie-lib/render-ui/src/html-and-math.js +0 -34
- package/configure/node_modules/@pie-lib/render-ui/src/index.js +0 -27
- package/configure/node_modules/@pie-lib/render-ui/src/input-container.jsx +0 -41
- package/configure/node_modules/@pie-lib/render-ui/src/preview-layout.jsx +0 -84
- package/configure/node_modules/@pie-lib/render-ui/src/preview-prompt.jsx +0 -130
- package/configure/node_modules/@pie-lib/render-ui/src/purpose.jsx +0 -17
- package/configure/node_modules/@pie-lib/render-ui/src/readable.jsx +0 -19
- package/configure/node_modules/@pie-lib/render-ui/src/response-indicators.jsx +0 -89
- package/configure/node_modules/@pie-lib/render-ui/src/withUndoReset.jsx +0 -116
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports.PartiallyCorrect = exports.NothingSubmitted = exports.Incorrect = exports.Correct = void 0;
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
17
|
-
|
|
18
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
19
|
-
|
|
20
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
21
|
-
|
|
22
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
23
|
-
|
|
24
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
-
|
|
26
|
-
var _react = _interopRequireDefault(require("react"));
|
|
27
|
-
|
|
28
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
29
|
-
|
|
30
|
-
var icons = _interopRequireWildcard(require("@pie-lib/icons"));
|
|
31
|
-
|
|
32
|
-
var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
|
|
33
|
-
|
|
34
|
-
var _styles = require("@material-ui/core/styles");
|
|
35
|
-
|
|
36
|
-
var _feedback = _interopRequireDefault(require("./feedback"));
|
|
37
|
-
|
|
38
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
39
|
-
|
|
40
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
41
|
-
|
|
42
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
43
|
-
|
|
44
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
|
|
45
|
-
|
|
46
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
47
|
-
|
|
48
|
-
var log = (0, _debug["default"])('pie-libs:render-ui:response-indicators');
|
|
49
|
-
|
|
50
|
-
var styles = function styles() {
|
|
51
|
-
return {
|
|
52
|
-
responseIndicator: {
|
|
53
|
-
cursor: 'pointer'
|
|
54
|
-
},
|
|
55
|
-
paper: {
|
|
56
|
-
padding: '0',
|
|
57
|
-
borderRadius: '4px'
|
|
58
|
-
},
|
|
59
|
-
popover: {
|
|
60
|
-
cursor: 'pointer'
|
|
61
|
-
},
|
|
62
|
-
popperClose: {
|
|
63
|
-
cursor: 'pointer'
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
var BuildIndicator = function BuildIndicator(Icon, correctness) {
|
|
69
|
-
var RawIndicator = /*#__PURE__*/function (_React$Component) {
|
|
70
|
-
(0, _inherits2["default"])(RawIndicator, _React$Component);
|
|
71
|
-
|
|
72
|
-
var _super = _createSuper(RawIndicator);
|
|
73
|
-
|
|
74
|
-
function RawIndicator(props) {
|
|
75
|
-
var _this;
|
|
76
|
-
|
|
77
|
-
(0, _classCallCheck2["default"])(this, RawIndicator);
|
|
78
|
-
_this = _super.call(this, props);
|
|
79
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlePopoverOpen", function (event) {
|
|
80
|
-
log('[handlePopoverOpen]', event.target);
|
|
81
|
-
|
|
82
|
-
_this.setState({
|
|
83
|
-
anchorEl: event.target
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlePopoverClose", function () {
|
|
87
|
-
_this.setState({
|
|
88
|
-
anchorEl: null
|
|
89
|
-
});
|
|
90
|
-
});
|
|
91
|
-
_this.state = {};
|
|
92
|
-
return _this;
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
(0, _createClass2["default"])(RawIndicator, [{
|
|
96
|
-
key: "render",
|
|
97
|
-
value: function render() {
|
|
98
|
-
var _this2 = this;
|
|
99
|
-
|
|
100
|
-
var _this$props = this.props,
|
|
101
|
-
feedback = _this$props.feedback,
|
|
102
|
-
classes = _this$props.classes;
|
|
103
|
-
var anchorEl = this.state.anchorEl;
|
|
104
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
105
|
-
className: feedback && classes.responseIndicator
|
|
106
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
107
|
-
ref: function ref(r) {
|
|
108
|
-
return _this2.icon = r;
|
|
109
|
-
},
|
|
110
|
-
onClick: this.handlePopoverOpen
|
|
111
|
-
}, /*#__PURE__*/_react["default"].createElement(Icon, null)), feedback && /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
|
|
112
|
-
className: classes.popover,
|
|
113
|
-
classes: {
|
|
114
|
-
paper: classes.paper
|
|
115
|
-
},
|
|
116
|
-
open: !!anchorEl,
|
|
117
|
-
anchorEl: anchorEl,
|
|
118
|
-
anchorOrigin: {
|
|
119
|
-
vertical: 'bottom',
|
|
120
|
-
horizontal: 'left'
|
|
121
|
-
},
|
|
122
|
-
transformOrigin: {
|
|
123
|
-
vertical: 'top',
|
|
124
|
-
horizontal: 'left'
|
|
125
|
-
},
|
|
126
|
-
onClose: this.handlePopoverClose
|
|
127
|
-
}, /*#__PURE__*/_react["default"].createElement(_feedback["default"], {
|
|
128
|
-
feedback: feedback,
|
|
129
|
-
correctness: correctness
|
|
130
|
-
})));
|
|
131
|
-
}
|
|
132
|
-
}]);
|
|
133
|
-
return RawIndicator;
|
|
134
|
-
}(_react["default"].Component);
|
|
135
|
-
|
|
136
|
-
RawIndicator.propTypes = {
|
|
137
|
-
feedback: _propTypes["default"].string,
|
|
138
|
-
classes: _propTypes["default"].object.isRequired
|
|
139
|
-
};
|
|
140
|
-
return (0, _styles.withStyles)(styles)(RawIndicator);
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
var Correct = BuildIndicator(icons.Correct, 'correct');
|
|
144
|
-
exports.Correct = Correct;
|
|
145
|
-
var Incorrect = BuildIndicator(icons.Incorrect, 'incorrect');
|
|
146
|
-
exports.Incorrect = Incorrect;
|
|
147
|
-
var PartiallyCorrect = BuildIndicator(icons.PartiallyCorrect, 'partially-correct');
|
|
148
|
-
exports.PartiallyCorrect = PartiallyCorrect;
|
|
149
|
-
var NothingSubmitted = BuildIndicator(icons.NothingSubmitted, 'nothing-submitted');
|
|
150
|
-
exports.NothingSubmitted = NothingSubmitted;
|
|
151
|
-
//# sourceMappingURL=response-indicators.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/response-indicators.jsx"],"names":["log","styles","responseIndicator","cursor","paper","padding","borderRadius","popover","popperClose","BuildIndicator","Icon","correctness","RawIndicator","props","event","target","setState","anchorEl","state","feedback","classes","r","icon","handlePopoverOpen","vertical","horizontal","handlePopoverClose","React","Component","propTypes","PropTypes","string","object","isRequired","Correct","icons","Incorrect","PartiallyCorrect","NothingSubmitted"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport * as icons from '@pie-lib/icons';\nimport Popover from '@material-ui/core/Popover';\nimport { withStyles } from '@material-ui/core/styles';\nimport Feedback from './feedback';\nimport debug from 'debug';\n\nconst log = debug('pie-libs:render-ui:response-indicators');\n\nconst styles = () => ({\n responseIndicator: {\n cursor: 'pointer',\n },\n paper: {\n padding: '0',\n borderRadius: '4px',\n },\n popover: {\n cursor: 'pointer',\n },\n popperClose: {\n cursor: 'pointer',\n },\n});\n\nconst BuildIndicator = (Icon, correctness) => {\n class RawIndicator extends React.Component {\n constructor(props) {\n super(props);\n this.state = {};\n }\n\n handlePopoverOpen = (event) => {\n log('[handlePopoverOpen]', event.target);\n this.setState({ anchorEl: event.target });\n };\n\n handlePopoverClose = () => {\n this.setState({ anchorEl: null });\n };\n\n render() {\n const { feedback, classes } = this.props;\n const { anchorEl } = this.state;\n return (\n <div className={feedback && classes.responseIndicator}>\n <span ref={(r) => (this.icon = r)} onClick={this.handlePopoverOpen}>\n <Icon />\n </span>\n\n {feedback && (\n <Popover\n className={classes.popover}\n classes={{\n paper: classes.paper,\n }}\n open={!!anchorEl}\n anchorEl={anchorEl}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n onClose={this.handlePopoverClose}\n >\n <Feedback feedback={feedback} correctness={correctness} />\n </Popover>\n )}\n </div>\n );\n }\n }\n\n RawIndicator.propTypes = {\n feedback: PropTypes.string,\n classes: PropTypes.object.isRequired,\n };\n\n return withStyles(styles)(RawIndicator);\n};\n\nexport const Correct = BuildIndicator(icons.Correct, 'correct');\nexport const Incorrect = BuildIndicator(icons.Incorrect, 'incorrect');\nexport const PartiallyCorrect = BuildIndicator(icons.PartiallyCorrect, 'partially-correct');\nexport const NothingSubmitted = BuildIndicator(icons.NothingSubmitted, 'nothing-submitted');\n"],"file":"response-indicators.js"}
|
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "__esModule", {
|
|
8
|
-
value: true
|
|
9
|
-
});
|
|
10
|
-
exports["default"] = void 0;
|
|
11
|
-
|
|
12
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
13
|
-
|
|
14
|
-
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
15
|
-
|
|
16
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
17
|
-
|
|
18
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
19
|
-
|
|
20
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
21
|
-
|
|
22
|
-
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
23
|
-
|
|
24
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
25
|
-
|
|
26
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
27
|
-
|
|
28
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
29
|
-
|
|
30
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
31
|
-
|
|
32
|
-
var React = _interopRequireWildcard(require("react"));
|
|
33
|
-
|
|
34
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
35
|
-
|
|
36
|
-
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
37
|
-
|
|
38
|
-
var _styles = require("@material-ui/core/styles");
|
|
39
|
-
|
|
40
|
-
var _Restore = _interopRequireDefault(require("@material-ui/icons/Restore"));
|
|
41
|
-
|
|
42
|
-
var _Undo = _interopRequireDefault(require("@material-ui/icons/Undo"));
|
|
43
|
-
|
|
44
|
-
var _excluded = ["classes"];
|
|
45
|
-
|
|
46
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
47
|
-
|
|
48
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
49
|
-
|
|
50
|
-
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); }; }
|
|
51
|
-
|
|
52
|
-
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; } }
|
|
53
|
-
|
|
54
|
-
var styles = function styles(theme) {
|
|
55
|
-
return {
|
|
56
|
-
wrapper: {
|
|
57
|
-
display: 'flex',
|
|
58
|
-
flexDirection: 'column'
|
|
59
|
-
},
|
|
60
|
-
resetUndoContainer: {
|
|
61
|
-
display: 'flex',
|
|
62
|
-
alignItems: 'center',
|
|
63
|
-
justifyContent: 'center'
|
|
64
|
-
},
|
|
65
|
-
icon: {
|
|
66
|
-
width: '24px',
|
|
67
|
-
height: '24px',
|
|
68
|
-
color: 'gray',
|
|
69
|
-
marginRight: theme.spacing.unit
|
|
70
|
-
},
|
|
71
|
-
buttonContainer: {
|
|
72
|
-
display: 'flex',
|
|
73
|
-
alignItems: 'center',
|
|
74
|
-
marginLeft: theme.spacing.unit * 3,
|
|
75
|
-
marginRight: theme.spacing.unit * 3
|
|
76
|
-
}
|
|
77
|
-
};
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* HOC that adds undo and reset functionality for session values
|
|
81
|
-
*/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
var withUndoReset = function withUndoReset(WrappedComponent) {
|
|
85
|
-
var WithUndoReset = /*#__PURE__*/function (_React$Component) {
|
|
86
|
-
(0, _inherits2["default"])(WithUndoReset, _React$Component);
|
|
87
|
-
|
|
88
|
-
var _super = _createSuper(WithUndoReset);
|
|
89
|
-
|
|
90
|
-
function WithUndoReset(props) {
|
|
91
|
-
var _this;
|
|
92
|
-
|
|
93
|
-
(0, _classCallCheck2["default"])(this, WithUndoReset);
|
|
94
|
-
_this = _super.call(this, props);
|
|
95
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onSessionChange", function (session) {
|
|
96
|
-
_this.setState(function (state) {
|
|
97
|
-
return {
|
|
98
|
-
session: session,
|
|
99
|
-
changes: [].concat((0, _toConsumableArray2["default"])(state.changes), [session])
|
|
100
|
-
};
|
|
101
|
-
}, function () {
|
|
102
|
-
return _this.props.onSessionChange(session);
|
|
103
|
-
});
|
|
104
|
-
});
|
|
105
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onUndo", function () {
|
|
106
|
-
_this.setState(function (state) {
|
|
107
|
-
var newChanges = (0, _toConsumableArray2["default"])(state.changes);
|
|
108
|
-
newChanges.pop();
|
|
109
|
-
return {
|
|
110
|
-
changes: newChanges,
|
|
111
|
-
session: newChanges.length ? newChanges[newChanges.length - 1] : state.sessionInitialValues
|
|
112
|
-
};
|
|
113
|
-
}, function () {
|
|
114
|
-
return _this.props.onSessionChange(_this.state.session);
|
|
115
|
-
});
|
|
116
|
-
});
|
|
117
|
-
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onReset", function () {
|
|
118
|
-
_this.setState(function (state) {
|
|
119
|
-
return {
|
|
120
|
-
session: state.sessionInitialValues,
|
|
121
|
-
changes: []
|
|
122
|
-
};
|
|
123
|
-
}, function () {
|
|
124
|
-
return _this.props.onSessionChange(_this.state.sessionInitialValues);
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
_this.state = {
|
|
128
|
-
sessionInitialValues: JSON.parse(JSON.stringify(props.session)),
|
|
129
|
-
session: props.session,
|
|
130
|
-
changes: []
|
|
131
|
-
};
|
|
132
|
-
return _this;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
(0, _createClass2["default"])(WithUndoReset, [{
|
|
136
|
-
key: "render",
|
|
137
|
-
value: function render() {
|
|
138
|
-
var _this$props = this.props,
|
|
139
|
-
classes = _this$props.classes,
|
|
140
|
-
rest = (0, _objectWithoutProperties2["default"])(_this$props, _excluded);
|
|
141
|
-
var _this$state = this.state,
|
|
142
|
-
changes = _this$state.changes,
|
|
143
|
-
session = _this$state.session;
|
|
144
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
145
|
-
className: classes.wrapper
|
|
146
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
147
|
-
className: classes.resetUndoContainer
|
|
148
|
-
}, /*#__PURE__*/React.createElement(_Button["default"], {
|
|
149
|
-
className: classes.buttonContainer,
|
|
150
|
-
color: "primary",
|
|
151
|
-
disabled: changes.length === 0,
|
|
152
|
-
onClick: this.onUndo
|
|
153
|
-
}, /*#__PURE__*/React.createElement(_Undo["default"], {
|
|
154
|
-
className: classes.icon
|
|
155
|
-
}), " Undo"), /*#__PURE__*/React.createElement(_Button["default"], {
|
|
156
|
-
className: classes.buttonContainer,
|
|
157
|
-
color: "primary",
|
|
158
|
-
disabled: changes.length === 0,
|
|
159
|
-
onClick: this.onReset
|
|
160
|
-
}, /*#__PURE__*/React.createElement(_Restore["default"], {
|
|
161
|
-
className: classes.icon
|
|
162
|
-
}), " Start Over")), /*#__PURE__*/React.createElement(WrappedComponent, (0, _extends2["default"])({}, rest, {
|
|
163
|
-
session: session,
|
|
164
|
-
onSessionChange: this.onSessionChange
|
|
165
|
-
})));
|
|
166
|
-
}
|
|
167
|
-
}]);
|
|
168
|
-
return WithUndoReset;
|
|
169
|
-
}(React.Component);
|
|
170
|
-
|
|
171
|
-
(0, _defineProperty2["default"])(WithUndoReset, "propTypes", {
|
|
172
|
-
classes: _propTypes["default"].object,
|
|
173
|
-
session: _propTypes["default"].object,
|
|
174
|
-
onSessionChange: _propTypes["default"].func
|
|
175
|
-
});
|
|
176
|
-
return (0, _styles.withStyles)(styles)(WithUndoReset);
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
var _default = withUndoReset;
|
|
180
|
-
exports["default"] = _default;
|
|
181
|
-
//# sourceMappingURL=withUndoReset.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/withUndoReset.jsx"],"names":["styles","theme","wrapper","display","flexDirection","resetUndoContainer","alignItems","justifyContent","icon","width","height","color","marginRight","spacing","unit","buttonContainer","marginLeft","withUndoReset","WrappedComponent","WithUndoReset","props","session","setState","state","changes","onSessionChange","newChanges","pop","length","sessionInitialValues","JSON","parse","stringify","classes","rest","onUndo","onReset","React","Component","PropTypes","object","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport Button from '@material-ui/core/Button';\nimport { withStyles } from '@material-ui/core/styles';\nimport Restore from '@material-ui/icons/Restore';\nimport Undo from '@material-ui/icons/Undo';\n\nconst styles = (theme) => ({\n wrapper: {\n display: 'flex',\n flexDirection: 'column',\n },\n resetUndoContainer: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n },\n icon: {\n width: '24px',\n height: '24px',\n color: 'gray',\n marginRight: theme.spacing.unit,\n },\n buttonContainer: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: theme.spacing.unit * 3,\n marginRight: theme.spacing.unit * 3,\n },\n});\n\n/**\n * HOC that adds undo and reset functionality for session values\n */\nconst withUndoReset = (WrappedComponent) => {\n class WithUndoReset extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n };\n\n constructor(props) {\n super(props);\n\n this.state = {\n sessionInitialValues: JSON.parse(JSON.stringify(props.session)),\n session: props.session,\n changes: [],\n };\n }\n\n onSessionChange = (session) => {\n this.setState(\n (state) => ({ session, changes: [...state.changes, session] }),\n () => this.props.onSessionChange(session),\n );\n };\n\n onUndo = () => {\n this.setState(\n (state) => {\n const newChanges = [...state.changes];\n\n newChanges.pop();\n\n return {\n changes: newChanges,\n session: newChanges.length ? newChanges[newChanges.length - 1] : state.sessionInitialValues,\n };\n },\n () => this.props.onSessionChange(this.state.session),\n );\n };\n\n onReset = () => {\n this.setState(\n (state) => ({ session: state.sessionInitialValues, changes: [] }),\n () => this.props.onSessionChange(this.state.sessionInitialValues),\n );\n };\n\n render() {\n const { classes, ...rest } = this.props;\n const { changes, session } = this.state;\n\n return (\n <div className={classes.wrapper}>\n <div className={classes.resetUndoContainer}>\n <Button\n className={classes.buttonContainer}\n color=\"primary\"\n disabled={changes.length === 0}\n onClick={this.onUndo}\n >\n <Undo className={classes.icon} /> Undo\n </Button>\n <Button\n className={classes.buttonContainer}\n color=\"primary\"\n disabled={changes.length === 0}\n onClick={this.onReset}\n >\n <Restore className={classes.icon} /> Start Over\n </Button>\n </div>\n <WrappedComponent {...rest} session={session} onSessionChange={this.onSessionChange} />\n </div>\n );\n }\n }\n\n return withStyles(styles)(WithUndoReset);\n};\n\nexport default withUndoReset;\n"],"file":"withUndoReset.js"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@pie-lib/render-ui",
|
|
3
|
-
"version": "4.15.10-next.1+23991a09",
|
|
4
|
-
"description": "Some shared ui elements when rendering - but not worthy of their own package yet.",
|
|
5
|
-
"module": "src/index.js",
|
|
6
|
-
"main": "lib/index.js",
|
|
7
|
-
"publishConfig": {
|
|
8
|
-
"access": "public"
|
|
9
|
-
},
|
|
10
|
-
"scripts": {},
|
|
11
|
-
"dependencies": {
|
|
12
|
-
"@material-ui/core": "^3.8.3",
|
|
13
|
-
"@material-ui/icons": "^3.0.2",
|
|
14
|
-
"@pie-lib/icons": "^2.4.43",
|
|
15
|
-
"@pie-lib/math-rendering": "2.5.18",
|
|
16
|
-
"classnames": "^2.2.6",
|
|
17
|
-
"debug": "^4.1.1",
|
|
18
|
-
"prop-types": "^15.7.2",
|
|
19
|
-
"react-transition-group": "^2.5.2"
|
|
20
|
-
},
|
|
21
|
-
"peerDependencies": {
|
|
22
|
-
"react": "^16.8.1",
|
|
23
|
-
"react-dom": "^16.8.1"
|
|
24
|
-
},
|
|
25
|
-
"devDependencies": {
|
|
26
|
-
"react": "^16.8.1",
|
|
27
|
-
"react-dom": "^16.8.1"
|
|
28
|
-
},
|
|
29
|
-
"gitHead": "23991a09b77492c24dcb5235049667cdcc211d80"
|
|
30
|
-
}
|
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { withStyles } from '@material-ui/core/styles/index';
|
|
3
|
-
import Collapse from '@material-ui/core/Collapse/index';
|
|
4
|
-
import { renderMath } from '@pie-lib/math-rendering';
|
|
5
|
-
import PropTypes from 'prop-types';
|
|
6
|
-
|
|
7
|
-
export class Collapsible extends React.Component {
|
|
8
|
-
static propTypes = {
|
|
9
|
-
classes: PropTypes.object.isRequired,
|
|
10
|
-
className: PropTypes.string,
|
|
11
|
-
children: PropTypes.object,
|
|
12
|
-
labels: PropTypes.shape({
|
|
13
|
-
visible: PropTypes.string,
|
|
14
|
-
hidden: PropTypes.string,
|
|
15
|
-
}),
|
|
16
|
-
};
|
|
17
|
-
|
|
18
|
-
static defaultProps = {
|
|
19
|
-
labels: {},
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
state = {
|
|
23
|
-
expanded: false,
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
toggleExpanded = () => {
|
|
27
|
-
this.setState((state) => ({ expanded: !state.expanded }));
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
componentDidMount() {
|
|
31
|
-
renderMath(this.root);
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
componentDidUpdate() {
|
|
35
|
-
renderMath(this.root);
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
render() {
|
|
39
|
-
const { classes, labels, children, className } = this.props;
|
|
40
|
-
const title = this.state.expanded ? labels.visible || 'Hide' : labels.hidden || 'Show';
|
|
41
|
-
|
|
42
|
-
return (
|
|
43
|
-
<div className={className} ref={(r) => (this.root = r)}>
|
|
44
|
-
<div onClick={this.toggleExpanded}>
|
|
45
|
-
<span className={classes.title}>{title}</span>
|
|
46
|
-
</div>
|
|
47
|
-
<Collapse in={this.state.expanded} timeout="auto" unmountOnExit className={classes.collapsible}>
|
|
48
|
-
{children}
|
|
49
|
-
</Collapse>
|
|
50
|
-
</div>
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
export default withStyles((theme) => ({
|
|
56
|
-
title: {
|
|
57
|
-
color: theme.palette.primary.light,
|
|
58
|
-
borderBottom: `1px dotted ${theme.palette.primary.light}`,
|
|
59
|
-
},
|
|
60
|
-
collapsible: {
|
|
61
|
-
paddingTop: theme.spacing.unit * 2,
|
|
62
|
-
},
|
|
63
|
-
}))(Collapsible);
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import green from '@material-ui/core/colors/green';
|
|
2
|
-
import orange from '@material-ui/core/colors/orange';
|
|
3
|
-
import pink from '@material-ui/core/colors/pink';
|
|
4
|
-
import indigo from '@material-ui/core/colors/indigo';
|
|
5
|
-
import red from '@material-ui/core/colors/red';
|
|
6
|
-
|
|
7
|
-
export const defaults = {
|
|
8
|
-
TEXT: 'black',
|
|
9
|
-
DISABLED: 'grey',
|
|
10
|
-
CORRECT: green[500],
|
|
11
|
-
CORRECT_SECONDARY: green[50],
|
|
12
|
-
INCORRECT: orange[500],
|
|
13
|
-
INCORRECT_SECONDARY: red[50],
|
|
14
|
-
MISSING: red[700],
|
|
15
|
-
PRIMARY: indigo[500],
|
|
16
|
-
PRIMARY_LIGHT: indigo[200],
|
|
17
|
-
PRIMARY_DARK: indigo[800],
|
|
18
|
-
SECONDARY: pink.A400,
|
|
19
|
-
SECONDARY_LIGHT: pink[200],
|
|
20
|
-
SECONDARY_DARK: pink[900],
|
|
21
|
-
BACKGROUND: 'rgba(255,255,255,0)',
|
|
22
|
-
SECONDARY_BACKGROUND: 'rgba(241,241,241,1)',
|
|
23
|
-
};
|
|
24
|
-
|
|
25
|
-
Object.freeze(defaults);
|
|
26
|
-
|
|
27
|
-
export const v = (prefix) => (...args) => {
|
|
28
|
-
const fallback = args.pop();
|
|
29
|
-
return args.reduceRight((acc, v) => {
|
|
30
|
-
return `var(--${prefix}-${v}, ${acc})`;
|
|
31
|
-
}, fallback);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const pv = v('pie');
|
|
35
|
-
|
|
36
|
-
export const text = () => pv('text', defaults.TEXT);
|
|
37
|
-
export const disabled = () => pv('disabled', defaults.DISABLED);
|
|
38
|
-
export const correct = () => pv('correct', defaults.CORRECT);
|
|
39
|
-
export const correctSecondary = () => pv('correct-secondary', defaults.CORRECT_SECONDARY);
|
|
40
|
-
export const incorrect = () => pv('incorrect', defaults.INCORRECT);
|
|
41
|
-
export const incorrectSecondary = () => pv('incorrect-secondary', defaults.INCORRECT_SECONDARY);
|
|
42
|
-
export const missing = () => pv('missing', defaults.MISSING);
|
|
43
|
-
|
|
44
|
-
export const primary = () => pv('primary', defaults.PRIMARY);
|
|
45
|
-
export const primaryLight = () => pv('primary-light', defaults.PRIMARY_LIGHT);
|
|
46
|
-
export const primaryDark = () => pv('primary-dark', defaults.PRIMARY_DARK);
|
|
47
|
-
export const primaryText = () => pv('primary-text', 'text', defaults.TEXT);
|
|
48
|
-
|
|
49
|
-
export const secondary = () => pv('secondary', defaults.SECONDARY);
|
|
50
|
-
export const secondaryLight = () => pv('secondary-light', defaults.SECONDARY_LIGHT);
|
|
51
|
-
export const secondaryDark = () => pv('secondary-dark', defaults.SECONDARY_DARK);
|
|
52
|
-
|
|
53
|
-
export const secondaryText = () => pv('secondary-text', 'text', defaults.TEXT);
|
|
54
|
-
export const background = () => pv('background', defaults.BACKGROUND);
|
|
55
|
-
export const secondaryBackground = () => pv('secondary-background', defaults.SECONDARY_BACKGROUND);
|
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lifted from multiple-choice - TODO: create a shared package for it.
|
|
3
|
-
*/
|
|
4
|
-
import { withStyles } from '@material-ui/core/styles';
|
|
5
|
-
|
|
6
|
-
import React from 'react';
|
|
7
|
-
import { TransitionGroup, CSSTransition } from 'react-transition-group';
|
|
8
|
-
import classNames from 'classnames';
|
|
9
|
-
import PropTypes from 'prop-types';
|
|
10
|
-
import * as color from './color';
|
|
11
|
-
|
|
12
|
-
const styleSheet = {
|
|
13
|
-
corespringFeedback: {
|
|
14
|
-
transformOrigin: '0% 0px 0px',
|
|
15
|
-
width: '100%',
|
|
16
|
-
display: 'block',
|
|
17
|
-
overflow: 'hidden',
|
|
18
|
-
'&:.incorrect': {
|
|
19
|
-
color: '#946202',
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
content: {
|
|
23
|
-
'-webkit-font-smoothing': 'antialiased',
|
|
24
|
-
backgroundColor: `var(--feedback-bg-color, ${color.disabled()})`,
|
|
25
|
-
borderRadius: '4px',
|
|
26
|
-
fontFamily: '"Roboto", "Noto", sans-serif',
|
|
27
|
-
fontSize: '12px',
|
|
28
|
-
lineHeight: '25px',
|
|
29
|
-
margin: '0px',
|
|
30
|
-
padding: '10px',
|
|
31
|
-
verticalAlign: 'middle',
|
|
32
|
-
color: 'var(--feedback-color, white)',
|
|
33
|
-
},
|
|
34
|
-
correct: {
|
|
35
|
-
backgroundColor: `var(--feedback-correct-bg-color, ${color.correct()})`,
|
|
36
|
-
},
|
|
37
|
-
incorrect: {
|
|
38
|
-
backgroundColor: `var(--feedback-incorrect-bg-color, ${color.incorrect()})`,
|
|
39
|
-
},
|
|
40
|
-
feedbackEnter: {
|
|
41
|
-
height: '1px',
|
|
42
|
-
},
|
|
43
|
-
feedbackEnterActive: {
|
|
44
|
-
height: '45px',
|
|
45
|
-
transition: 'height 500ms',
|
|
46
|
-
},
|
|
47
|
-
feedbackLeave: {
|
|
48
|
-
height: '45px',
|
|
49
|
-
},
|
|
50
|
-
feedbackLeaveActive: {
|
|
51
|
-
height: '1px',
|
|
52
|
-
transition: 'height 200ms',
|
|
53
|
-
},
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
export class Feedback extends React.Component {
|
|
57
|
-
static propTypes = {
|
|
58
|
-
correctness: PropTypes.string,
|
|
59
|
-
feedback: PropTypes.string,
|
|
60
|
-
classes: PropTypes.object.isRequired,
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
render() {
|
|
64
|
-
const { correctness, feedback, classes } = this.props;
|
|
65
|
-
|
|
66
|
-
function chooseFeedback(correctness) {
|
|
67
|
-
if (correctness && feedback) {
|
|
68
|
-
return (
|
|
69
|
-
<CSSTransition
|
|
70
|
-
classNames={{
|
|
71
|
-
enter: classes.feedbackEnter,
|
|
72
|
-
enterActive: classes.feedbackEnterActive,
|
|
73
|
-
leave: classes.feedbackLeave,
|
|
74
|
-
leaveActive: classes.feedbackLeaveActive,
|
|
75
|
-
}}
|
|
76
|
-
key="hasFeedback"
|
|
77
|
-
timeout={{ enter: 500, exit: 300 }}
|
|
78
|
-
>
|
|
79
|
-
<div className={classes.corespringFeedback}>
|
|
80
|
-
<div
|
|
81
|
-
className={classNames(classes.content, classes[correctness])}
|
|
82
|
-
dangerouslySetInnerHTML={{ __html: feedback }}
|
|
83
|
-
/>
|
|
84
|
-
</div>
|
|
85
|
-
</CSSTransition>
|
|
86
|
-
);
|
|
87
|
-
} else {
|
|
88
|
-
return null;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
return (
|
|
93
|
-
<div>
|
|
94
|
-
<TransitionGroup>{chooseFeedback(correctness)}</TransitionGroup>
|
|
95
|
-
</div>
|
|
96
|
-
);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
export default withStyles(styleSheet, { name: 'Feedback' })(Feedback);
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
const dp = new DOMParser();
|
|
2
|
-
|
|
3
|
-
const markupToText = (s) => {
|
|
4
|
-
const root = dp.parseFromString(s, 'text/html');
|
|
5
|
-
return root.body.textContent;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
export const hasText = (s) => {
|
|
9
|
-
if (!s) {
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
const tc = markupToText(s);
|
|
13
|
-
return !!(tc && tc.trim());
|
|
14
|
-
};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { renderMath } from '@pie-lib/math-rendering';
|
|
3
|
-
import PropTypes from 'prop-types';
|
|
4
|
-
|
|
5
|
-
export default class HtmlAndMath extends React.Component {
|
|
6
|
-
static propTypes = {
|
|
7
|
-
tag: PropTypes.string,
|
|
8
|
-
className: PropTypes.string,
|
|
9
|
-
html: PropTypes.string,
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
static defaultProps = {
|
|
13
|
-
tag: 'div',
|
|
14
|
-
html: '',
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
componentDidMount() {
|
|
18
|
-
if (this.node) {
|
|
19
|
-
renderMath(this.node);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
componentDidUpdate() {
|
|
24
|
-
if (this.node) {
|
|
25
|
-
renderMath(this.node);
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
render() {
|
|
30
|
-
const { tag, className, html } = this.props;
|
|
31
|
-
const Tag = tag || 'div';
|
|
32
|
-
return <Tag ref={(r) => (this.node = r)} className={className} dangerouslySetInnerHTML={{ __html: html }} />;
|
|
33
|
-
}
|
|
34
|
-
}
|