@pie-element/ebsr 7.0.24-next.2 → 7.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +48 -0
- package/{configure/node_modules/@pie-element/multiple-choice/LICENSE.md → LICENSE.md} +0 -0
- package/configure/CHANGELOG.md +48 -0
- package/configure/package.json +3 -3
- package/controller/CHANGELOG.md +8 -0
- package/controller/package.json +1 -1
- package/package.json +3 -3
- package/configure/node_modules/@pie-element/multiple-choice/CHANGELOG.json +0 -1972
- package/configure/node_modules/@pie-element/multiple-choice/CHANGELOG.md +0 -1793
- package/configure/node_modules/@pie-element/multiple-choice/PRINT.md +0 -35
- package/configure/node_modules/@pie-element/multiple-choice/README.md +0 -56
- package/configure/node_modules/@pie-element/multiple-choice/choice.png +0 -0
- package/configure/node_modules/@pie-element/multiple-choice/configure/CHANGELOG.json +0 -1387
- package/configure/node_modules/@pie-element/multiple-choice/configure/CHANGELOG.md +0 -1334
- package/configure/node_modules/@pie-element/multiple-choice/configure/lib/defaults.js +0 -104
- package/configure/node_modules/@pie-element/multiple-choice/configure/lib/defaults.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/configure/lib/index.js +0 -198
- package/configure/node_modules/@pie-element/multiple-choice/configure/lib/index.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/configure/lib/main.js +0 -599
- package/configure/node_modules/@pie-element/multiple-choice/configure/lib/main.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/configure/lib/utils.js +0 -18
- package/configure/node_modules/@pie-element/multiple-choice/configure/lib/utils.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/configure/package.json +0 -20
- package/configure/node_modules/@pie-element/multiple-choice/controller/CHANGELOG.json +0 -527
- package/configure/node_modules/@pie-element/multiple-choice/controller/CHANGELOG.md +0 -768
- package/configure/node_modules/@pie-element/multiple-choice/controller/lib/defaults.js +0 -18
- package/configure/node_modules/@pie-element/multiple-choice/controller/lib/defaults.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/controller/lib/index.js +0 -305
- package/configure/node_modules/@pie-element/multiple-choice/controller/lib/index.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/controller/lib/utils.js +0 -36
- package/configure/node_modules/@pie-element/multiple-choice/controller/lib/utils.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/controller/package.json +0 -15
- package/configure/node_modules/@pie-element/multiple-choice/docs/config-schema.json +0 -353
- package/configure/node_modules/@pie-element/multiple-choice/docs/config-schema.json.md +0 -277
- package/configure/node_modules/@pie-element/multiple-choice/docs/demo/config.js +0 -8
- package/configure/node_modules/@pie-element/multiple-choice/docs/demo/generate.js +0 -52
- package/configure/node_modules/@pie-element/multiple-choice/docs/demo/index.html +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/docs/demo/session.js +0 -7
- package/configure/node_modules/@pie-element/multiple-choice/docs/pie-schema.json +0 -338
- package/configure/node_modules/@pie-element/multiple-choice/docs/pie-schema.json.md +0 -274
- package/configure/node_modules/@pie-element/multiple-choice/lib/choice-input.js +0 -298
- package/configure/node_modules/@pie-element/multiple-choice/lib/choice-input.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/lib/choice.js +0 -157
- package/configure/node_modules/@pie-element/multiple-choice/lib/choice.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/lib/feedback-tick.js +0 -174
- package/configure/node_modules/@pie-element/multiple-choice/lib/feedback-tick.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/lib/index.js +0 -151
- package/configure/node_modules/@pie-element/multiple-choice/lib/index.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/lib/main.js +0 -97
- package/configure/node_modules/@pie-element/multiple-choice/lib/main.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/lib/multiple-choice.js +0 -254
- package/configure/node_modules/@pie-element/multiple-choice/lib/multiple-choice.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/lib/print.js +0 -129
- package/configure/node_modules/@pie-element/multiple-choice/lib/print.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/lib/session-updater.js +0 -35
- package/configure/node_modules/@pie-element/multiple-choice/lib/session-updater.js.map +0 -1
- package/configure/node_modules/@pie-element/multiple-choice/module/configure.js +0 -843
- package/configure/node_modules/@pie-element/multiple-choice/module/controller.js +0 -20686
- package/configure/node_modules/@pie-element/multiple-choice/module/demo.js +0 -77
- package/configure/node_modules/@pie-element/multiple-choice/module/element.js +0 -2019
- package/configure/node_modules/@pie-element/multiple-choice/module/index.html +0 -21
- package/configure/node_modules/@pie-element/multiple-choice/module/manifest.json +0 -14
- package/configure/node_modules/@pie-element/multiple-choice/module/print-demo.js +0 -115
- package/configure/node_modules/@pie-element/multiple-choice/module/print.html +0 -18
- package/configure/node_modules/@pie-element/multiple-choice/module/print.js +0 -1983
- package/configure/node_modules/@pie-element/multiple-choice/package.json +0 -34
- package/configure/node_modules/@pie-lib/math-rendering/CHANGELOG.json +0 -672
- package/configure/node_modules/@pie-lib/math-rendering/CHANGELOG.md +0 -427
- package/configure/node_modules/@pie-lib/math-rendering/LICENSE.md +0 -5
- package/configure/node_modules/@pie-lib/math-rendering/lib/index.js +0 -30
- package/configure/node_modules/@pie-lib/math-rendering/lib/index.js.map +0 -1
- package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/chtml.js +0 -316
- package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/chtml.js.map +0 -1
- package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/index.js +0 -23
- package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/index.js.map +0 -1
- package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/mml.js +0 -123
- package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/mml.js.map +0 -1
- package/configure/node_modules/@pie-lib/math-rendering/lib/normalization.js +0 -103
- package/configure/node_modules/@pie-lib/math-rendering/lib/normalization.js.map +0 -1
- package/configure/node_modules/@pie-lib/math-rendering/lib/render-math.js +0 -275
- package/configure/node_modules/@pie-lib/math-rendering/lib/render-math.js.map +0 -1
- package/configure/node_modules/@pie-lib/math-rendering/package.json +0 -19
- package/configure/node_modules/@pie-lib/math-rendering/playground/demo.html +0 -872
- package/configure/node_modules/@pie-lib/math-rendering/playground/demo.js +0 -108
- package/configure/node_modules/@pie-lib/math-rendering/playground/main.html +0 -156
- package/configure/node_modules/@pie-lib/math-rendering/playground/main.js +0 -16
- package/configure/node_modules/@pie-lib/math-rendering/playground/webpack.config.js +0 -29
- package/configure/node_modules/@pie-lib/math-rendering/src/index.js +0 -4
- package/configure/node_modules/@pie-lib/math-rendering/src/mstack/chtml.js +0 -215
- package/configure/node_modules/@pie-lib/math-rendering/src/mstack/index.js +0 -13
- package/configure/node_modules/@pie-lib/math-rendering/src/mstack/mml.js +0 -24
- package/configure/node_modules/@pie-lib/math-rendering/src/normalization.js +0 -69
- package/configure/node_modules/@pie-lib/math-rendering/src/render-math.js +0 -234
- package/configure/node_modules/@pie-lib/render-ui/CHANGELOG.json +0 -937
- package/configure/node_modules/@pie-lib/render-ui/CHANGELOG.md +0 -602
- 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 -146
- 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 -134
- 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 -160
- 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 -102
- 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 -162
- 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 -160
- 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 -206
- 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 -68
- package/configure/node_modules/@pie-lib/render-ui/src/color.js +0 -48
- 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 -40
- 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 -77
- package/configure/node_modules/@pie-lib/render-ui/src/preview-prompt.jsx +0 -90
- package/configure/node_modules/@pie-lib/render-ui/src/purpose.jsx +0 -19
- 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 -118
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.PartiallyCorrect = exports.NothingSubmitted = exports.Incorrect = exports.Correct = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = _interopRequireDefault(require("react"));
|
|
11
|
-
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
|
-
var icons = _interopRequireWildcard(require("@pie-lib/icons"));
|
|
15
|
-
|
|
16
|
-
var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
|
|
17
|
-
|
|
18
|
-
var _styles = require("@material-ui/core/styles");
|
|
19
|
-
|
|
20
|
-
var _feedback = _interopRequireDefault(require("./feedback"));
|
|
21
|
-
|
|
22
|
-
var _debug = _interopRequireDefault(require("debug"));
|
|
23
|
-
|
|
24
|
-
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); }
|
|
25
|
-
|
|
26
|
-
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; }
|
|
27
|
-
|
|
28
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
29
|
-
|
|
30
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
31
|
-
|
|
32
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
33
|
-
|
|
34
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
35
|
-
|
|
36
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
37
|
-
|
|
38
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
39
|
-
|
|
40
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
41
|
-
|
|
42
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
43
|
-
|
|
44
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
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
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
49
|
-
|
|
50
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
51
|
-
|
|
52
|
-
var log = (0, _debug["default"])('pie-libs:render-ui:response-indicators');
|
|
53
|
-
|
|
54
|
-
var styles = function styles() {
|
|
55
|
-
return {
|
|
56
|
-
responseIndicator: {
|
|
57
|
-
cursor: 'pointer'
|
|
58
|
-
},
|
|
59
|
-
paper: {
|
|
60
|
-
padding: '0',
|
|
61
|
-
borderRadius: '4px'
|
|
62
|
-
},
|
|
63
|
-
popover: {
|
|
64
|
-
cursor: 'pointer'
|
|
65
|
-
},
|
|
66
|
-
popperClose: {
|
|
67
|
-
cursor: 'pointer'
|
|
68
|
-
}
|
|
69
|
-
};
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
var BuildIndicator = function BuildIndicator(Icon, correctness) {
|
|
73
|
-
var RawIndicator = /*#__PURE__*/function (_React$Component) {
|
|
74
|
-
_inherits(RawIndicator, _React$Component);
|
|
75
|
-
|
|
76
|
-
var _super = _createSuper(RawIndicator);
|
|
77
|
-
|
|
78
|
-
function RawIndicator(props) {
|
|
79
|
-
var _this;
|
|
80
|
-
|
|
81
|
-
_classCallCheck(this, RawIndicator);
|
|
82
|
-
|
|
83
|
-
_this = _super.call(this, props);
|
|
84
|
-
|
|
85
|
-
_defineProperty(_assertThisInitialized(_this), "handlePopoverOpen", function (event) {
|
|
86
|
-
log('[handlePopoverOpen]', event.target);
|
|
87
|
-
|
|
88
|
-
_this.setState({
|
|
89
|
-
anchorEl: event.target
|
|
90
|
-
});
|
|
91
|
-
});
|
|
92
|
-
|
|
93
|
-
_defineProperty(_assertThisInitialized(_this), "handlePopoverClose", function () {
|
|
94
|
-
_this.setState({
|
|
95
|
-
anchorEl: null
|
|
96
|
-
});
|
|
97
|
-
});
|
|
98
|
-
|
|
99
|
-
_this.state = {};
|
|
100
|
-
return _this;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
_createClass(RawIndicator, [{
|
|
104
|
-
key: "render",
|
|
105
|
-
value: function render() {
|
|
106
|
-
var _this2 = this;
|
|
107
|
-
|
|
108
|
-
var _this$props = this.props,
|
|
109
|
-
feedback = _this$props.feedback,
|
|
110
|
-
classes = _this$props.classes;
|
|
111
|
-
var anchorEl = this.state.anchorEl;
|
|
112
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
113
|
-
className: feedback && classes.responseIndicator
|
|
114
|
-
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
115
|
-
ref: function ref(r) {
|
|
116
|
-
return _this2.icon = r;
|
|
117
|
-
},
|
|
118
|
-
onClick: this.handlePopoverOpen
|
|
119
|
-
}, /*#__PURE__*/_react["default"].createElement(Icon, null)), feedback && /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
|
|
120
|
-
className: classes.popover,
|
|
121
|
-
classes: {
|
|
122
|
-
paper: classes.paper
|
|
123
|
-
},
|
|
124
|
-
open: !!anchorEl,
|
|
125
|
-
anchorEl: anchorEl,
|
|
126
|
-
anchorOrigin: {
|
|
127
|
-
vertical: 'bottom',
|
|
128
|
-
horizontal: 'left'
|
|
129
|
-
},
|
|
130
|
-
transformOrigin: {
|
|
131
|
-
vertical: 'top',
|
|
132
|
-
horizontal: 'left'
|
|
133
|
-
},
|
|
134
|
-
onClose: this.handlePopoverClose
|
|
135
|
-
}, /*#__PURE__*/_react["default"].createElement(_feedback["default"], {
|
|
136
|
-
feedback: feedback,
|
|
137
|
-
correctness: correctness
|
|
138
|
-
})));
|
|
139
|
-
}
|
|
140
|
-
}]);
|
|
141
|
-
|
|
142
|
-
return RawIndicator;
|
|
143
|
-
}(_react["default"].Component);
|
|
144
|
-
|
|
145
|
-
RawIndicator.propTypes = {
|
|
146
|
-
feedback: _propTypes["default"].string,
|
|
147
|
-
classes: _propTypes["default"].object.isRequired
|
|
148
|
-
};
|
|
149
|
-
return (0, _styles.withStyles)(styles)(RawIndicator);
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
var Correct = BuildIndicator(icons.Correct, 'correct');
|
|
153
|
-
exports.Correct = Correct;
|
|
154
|
-
var Incorrect = BuildIndicator(icons.Incorrect, 'incorrect');
|
|
155
|
-
exports.Incorrect = Incorrect;
|
|
156
|
-
var PartiallyCorrect = BuildIndicator(icons.PartiallyCorrect, 'partially-correct');
|
|
157
|
-
exports.PartiallyCorrect = PartiallyCorrect;
|
|
158
|
-
var NothingSubmitted = BuildIndicator(icons.NothingSubmitted, 'nothing-submitted');
|
|
159
|
-
exports.NothingSubmitted = NothingSubmitted;
|
|
160
|
-
//# 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,206 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var React = _interopRequireWildcard(require("react"));
|
|
11
|
-
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
|
|
14
|
-
var _Button = _interopRequireDefault(require("@material-ui/core/Button"));
|
|
15
|
-
|
|
16
|
-
var _styles = require("@material-ui/core/styles");
|
|
17
|
-
|
|
18
|
-
var _Restore = _interopRequireDefault(require("@material-ui/icons/Restore"));
|
|
19
|
-
|
|
20
|
-
var _Undo = _interopRequireDefault(require("@material-ui/icons/Undo"));
|
|
21
|
-
|
|
22
|
-
var _excluded = ["classes"];
|
|
23
|
-
|
|
24
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
25
|
-
|
|
26
|
-
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); }
|
|
27
|
-
|
|
28
|
-
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; }
|
|
29
|
-
|
|
30
|
-
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
31
|
-
|
|
32
|
-
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
33
|
-
|
|
34
|
-
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
35
|
-
|
|
36
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
37
|
-
|
|
38
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
39
|
-
|
|
40
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
41
|
-
|
|
42
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
43
|
-
|
|
44
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
45
|
-
|
|
46
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
47
|
-
|
|
48
|
-
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
49
|
-
|
|
50
|
-
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
|
|
51
|
-
|
|
52
|
-
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
53
|
-
|
|
54
|
-
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
55
|
-
|
|
56
|
-
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
57
|
-
|
|
58
|
-
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
59
|
-
|
|
60
|
-
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
61
|
-
|
|
62
|
-
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
63
|
-
|
|
64
|
-
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; } }
|
|
65
|
-
|
|
66
|
-
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
67
|
-
|
|
68
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
69
|
-
|
|
70
|
-
var styles = function styles(theme) {
|
|
71
|
-
return {
|
|
72
|
-
wrapper: {
|
|
73
|
-
display: 'flex',
|
|
74
|
-
flexDirection: 'column'
|
|
75
|
-
},
|
|
76
|
-
resetUndoContainer: {
|
|
77
|
-
display: 'flex',
|
|
78
|
-
alignItems: 'center',
|
|
79
|
-
justifyContent: 'center'
|
|
80
|
-
},
|
|
81
|
-
icon: {
|
|
82
|
-
width: '24px',
|
|
83
|
-
height: '24px',
|
|
84
|
-
color: 'gray',
|
|
85
|
-
marginRight: theme.spacing.unit
|
|
86
|
-
},
|
|
87
|
-
buttonContainer: {
|
|
88
|
-
display: 'flex',
|
|
89
|
-
alignItems: 'center',
|
|
90
|
-
marginLeft: theme.spacing.unit * 3,
|
|
91
|
-
marginRight: theme.spacing.unit * 3
|
|
92
|
-
}
|
|
93
|
-
};
|
|
94
|
-
};
|
|
95
|
-
/**
|
|
96
|
-
* HOC that adds undo and reset functionality for session values
|
|
97
|
-
*/
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
var withUndoReset = function withUndoReset(WrappedComponent) {
|
|
101
|
-
var WithUndoReset = /*#__PURE__*/function (_React$Component) {
|
|
102
|
-
_inherits(WithUndoReset, _React$Component);
|
|
103
|
-
|
|
104
|
-
var _super = _createSuper(WithUndoReset);
|
|
105
|
-
|
|
106
|
-
function WithUndoReset(props) {
|
|
107
|
-
var _this;
|
|
108
|
-
|
|
109
|
-
_classCallCheck(this, WithUndoReset);
|
|
110
|
-
|
|
111
|
-
_this = _super.call(this, props);
|
|
112
|
-
|
|
113
|
-
_defineProperty(_assertThisInitialized(_this), "onSessionChange", function (session) {
|
|
114
|
-
_this.setState(function (state) {
|
|
115
|
-
return {
|
|
116
|
-
session: session,
|
|
117
|
-
changes: [].concat(_toConsumableArray(state.changes), [session])
|
|
118
|
-
};
|
|
119
|
-
}, function () {
|
|
120
|
-
return _this.props.onSessionChange(session);
|
|
121
|
-
});
|
|
122
|
-
});
|
|
123
|
-
|
|
124
|
-
_defineProperty(_assertThisInitialized(_this), "onUndo", function () {
|
|
125
|
-
_this.setState(function (state) {
|
|
126
|
-
var newChanges = _toConsumableArray(state.changes);
|
|
127
|
-
|
|
128
|
-
newChanges.pop();
|
|
129
|
-
return {
|
|
130
|
-
changes: newChanges,
|
|
131
|
-
session: newChanges.length ? newChanges[newChanges.length - 1] : state.sessionInitialValues
|
|
132
|
-
};
|
|
133
|
-
}, function () {
|
|
134
|
-
return _this.props.onSessionChange(_this.state.session);
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
|
|
138
|
-
_defineProperty(_assertThisInitialized(_this), "onReset", function () {
|
|
139
|
-
_this.setState(function (state) {
|
|
140
|
-
return {
|
|
141
|
-
session: state.sessionInitialValues,
|
|
142
|
-
changes: []
|
|
143
|
-
};
|
|
144
|
-
}, function () {
|
|
145
|
-
return _this.props.onSessionChange(_this.state.sessionInitialValues);
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
|
|
149
|
-
_this.state = {
|
|
150
|
-
sessionInitialValues: JSON.parse(JSON.stringify(props.session)),
|
|
151
|
-
session: props.session,
|
|
152
|
-
changes: []
|
|
153
|
-
};
|
|
154
|
-
return _this;
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
_createClass(WithUndoReset, [{
|
|
158
|
-
key: "render",
|
|
159
|
-
value: function render() {
|
|
160
|
-
var _this$props = this.props,
|
|
161
|
-
classes = _this$props.classes,
|
|
162
|
-
rest = _objectWithoutProperties(_this$props, _excluded);
|
|
163
|
-
|
|
164
|
-
var _this$state = this.state,
|
|
165
|
-
changes = _this$state.changes,
|
|
166
|
-
session = _this$state.session;
|
|
167
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
168
|
-
className: classes.wrapper
|
|
169
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
170
|
-
className: classes.resetUndoContainer
|
|
171
|
-
}, /*#__PURE__*/React.createElement(_Button["default"], {
|
|
172
|
-
className: classes.buttonContainer,
|
|
173
|
-
color: "primary",
|
|
174
|
-
disabled: changes.length === 0,
|
|
175
|
-
onClick: this.onUndo
|
|
176
|
-
}, /*#__PURE__*/React.createElement(_Undo["default"], {
|
|
177
|
-
className: classes.icon
|
|
178
|
-
}), " Undo"), /*#__PURE__*/React.createElement(_Button["default"], {
|
|
179
|
-
className: classes.buttonContainer,
|
|
180
|
-
color: "primary",
|
|
181
|
-
disabled: changes.length === 0,
|
|
182
|
-
onClick: this.onReset
|
|
183
|
-
}, /*#__PURE__*/React.createElement(_Restore["default"], {
|
|
184
|
-
className: classes.icon
|
|
185
|
-
}), " Start Over")), /*#__PURE__*/React.createElement(WrappedComponent, _extends({}, rest, {
|
|
186
|
-
session: session,
|
|
187
|
-
onSessionChange: this.onSessionChange
|
|
188
|
-
})));
|
|
189
|
-
}
|
|
190
|
-
}]);
|
|
191
|
-
|
|
192
|
-
return WithUndoReset;
|
|
193
|
-
}(React.Component);
|
|
194
|
-
|
|
195
|
-
_defineProperty(WithUndoReset, "propTypes", {
|
|
196
|
-
classes: _propTypes["default"].object,
|
|
197
|
-
session: _propTypes["default"].object,
|
|
198
|
-
onSessionChange: _propTypes["default"].func
|
|
199
|
-
});
|
|
200
|
-
|
|
201
|
-
return (0, _styles.withStyles)(styles)(WithUndoReset);
|
|
202
|
-
};
|
|
203
|
-
|
|
204
|
-
var _default = withUndoReset;
|
|
205
|
-
exports["default"] = _default;
|
|
206
|
-
//# 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\n ? newChanges[newChanges.length - 1]\n : 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.12.6",
|
|
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.25",
|
|
15
|
-
"@pie-lib/math-rendering": "^2.4.0",
|
|
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": "15c7a1364de782a095f8387f6be54af23e45fa10"
|
|
30
|
-
}
|
|
@@ -1,68 +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
|
|
48
|
-
in={this.state.expanded}
|
|
49
|
-
timeout="auto"
|
|
50
|
-
unmountOnExit
|
|
51
|
-
className={classes.collapsible}
|
|
52
|
-
>
|
|
53
|
-
{children}
|
|
54
|
-
</Collapse>
|
|
55
|
-
</div>
|
|
56
|
-
);
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
export default withStyles(theme => ({
|
|
61
|
-
title: {
|
|
62
|
-
color: theme.palette.primary.light,
|
|
63
|
-
borderBottom: `1px dotted ${theme.palette.primary.light}`
|
|
64
|
-
},
|
|
65
|
-
collapsible: {
|
|
66
|
-
paddingTop: theme.spacing.unit * 2
|
|
67
|
-
}
|
|
68
|
-
}))(Collapsible);
|
|
@@ -1,48 +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
|
-
|
|
6
|
-
export const defaults = {
|
|
7
|
-
TEXT: 'black',
|
|
8
|
-
DISABLED: 'grey',
|
|
9
|
-
CORRECT: green[500],
|
|
10
|
-
INCORRECT: orange[500],
|
|
11
|
-
PRIMARY: indigo[500],
|
|
12
|
-
PRIMARY_LIGHT: indigo[200],
|
|
13
|
-
PRIMARY_DARK: indigo[800],
|
|
14
|
-
SECONDARY: pink.A400,
|
|
15
|
-
SECONDARY_LIGHT: pink[200],
|
|
16
|
-
SECONDARY_DARK: pink[900],
|
|
17
|
-
BACKGROUND: 'rgba(255,255,255,0)',
|
|
18
|
-
SECONDARY_BACKGROUND: 'rgba(241,241,241,1)'
|
|
19
|
-
};
|
|
20
|
-
|
|
21
|
-
Object.freeze(defaults);
|
|
22
|
-
|
|
23
|
-
export const v = prefix => (...args) => {
|
|
24
|
-
const fallback = args.pop();
|
|
25
|
-
return args.reduceRight((acc, v) => {
|
|
26
|
-
return `var(--${prefix}-${v}, ${acc})`;
|
|
27
|
-
}, fallback);
|
|
28
|
-
};
|
|
29
|
-
|
|
30
|
-
const pv = v('pie');
|
|
31
|
-
|
|
32
|
-
export const text = () => pv('text', defaults.TEXT);
|
|
33
|
-
export const disabled = () => pv('disabled', defaults.DISABLED);
|
|
34
|
-
export const correct = () => pv('correct', defaults.CORRECT);
|
|
35
|
-
export const incorrect = () => pv('incorrect', defaults.INCORRECT);
|
|
36
|
-
|
|
37
|
-
export const primary = () => pv('primary', defaults.PRIMARY);
|
|
38
|
-
export const primaryLight = () => pv('primary-light', defaults.PRIMARY_LIGHT);
|
|
39
|
-
export const primaryDark = () => pv('primary-dark', defaults.PRIMARY_DARK);
|
|
40
|
-
export const primaryText = () => pv('primary-text', 'text', defaults.TEXT);
|
|
41
|
-
|
|
42
|
-
export const secondary = () => pv('secondary', defaults.SECONDARY);
|
|
43
|
-
export const secondaryLight = () => pv('secondary-light', defaults.SECONDARY_LIGHT);
|
|
44
|
-
export const secondaryDark = () => pv('secondary-dark', defaults.SECONDARY_DARK);
|
|
45
|
-
|
|
46
|
-
export const secondaryText = () => pv('secondary-text', 'text', defaults.TEXT);
|
|
47
|
-
export const background = () => pv('background', defaults.BACKGROUND);
|
|
48
|
-
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
|
-
};
|