@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.
Files changed (137) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/{configure/node_modules/@pie-element/multiple-choice/LICENSE.md → LICENSE.md} +0 -0
  3. package/configure/CHANGELOG.md +48 -0
  4. package/configure/package.json +3 -3
  5. package/controller/CHANGELOG.md +8 -0
  6. package/controller/package.json +1 -1
  7. package/package.json +3 -3
  8. package/configure/node_modules/@pie-element/multiple-choice/CHANGELOG.json +0 -1972
  9. package/configure/node_modules/@pie-element/multiple-choice/CHANGELOG.md +0 -1793
  10. package/configure/node_modules/@pie-element/multiple-choice/PRINT.md +0 -35
  11. package/configure/node_modules/@pie-element/multiple-choice/README.md +0 -56
  12. package/configure/node_modules/@pie-element/multiple-choice/choice.png +0 -0
  13. package/configure/node_modules/@pie-element/multiple-choice/configure/CHANGELOG.json +0 -1387
  14. package/configure/node_modules/@pie-element/multiple-choice/configure/CHANGELOG.md +0 -1334
  15. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/defaults.js +0 -104
  16. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/defaults.js.map +0 -1
  17. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/index.js +0 -198
  18. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/index.js.map +0 -1
  19. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/main.js +0 -599
  20. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/main.js.map +0 -1
  21. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/utils.js +0 -18
  22. package/configure/node_modules/@pie-element/multiple-choice/configure/lib/utils.js.map +0 -1
  23. package/configure/node_modules/@pie-element/multiple-choice/configure/package.json +0 -20
  24. package/configure/node_modules/@pie-element/multiple-choice/controller/CHANGELOG.json +0 -527
  25. package/configure/node_modules/@pie-element/multiple-choice/controller/CHANGELOG.md +0 -768
  26. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/defaults.js +0 -18
  27. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/defaults.js.map +0 -1
  28. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/index.js +0 -305
  29. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/index.js.map +0 -1
  30. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/utils.js +0 -36
  31. package/configure/node_modules/@pie-element/multiple-choice/controller/lib/utils.js.map +0 -1
  32. package/configure/node_modules/@pie-element/multiple-choice/controller/package.json +0 -15
  33. package/configure/node_modules/@pie-element/multiple-choice/docs/config-schema.json +0 -353
  34. package/configure/node_modules/@pie-element/multiple-choice/docs/config-schema.json.md +0 -277
  35. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/config.js +0 -8
  36. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/generate.js +0 -52
  37. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/index.html +0 -1
  38. package/configure/node_modules/@pie-element/multiple-choice/docs/demo/session.js +0 -7
  39. package/configure/node_modules/@pie-element/multiple-choice/docs/pie-schema.json +0 -338
  40. package/configure/node_modules/@pie-element/multiple-choice/docs/pie-schema.json.md +0 -274
  41. package/configure/node_modules/@pie-element/multiple-choice/lib/choice-input.js +0 -298
  42. package/configure/node_modules/@pie-element/multiple-choice/lib/choice-input.js.map +0 -1
  43. package/configure/node_modules/@pie-element/multiple-choice/lib/choice.js +0 -157
  44. package/configure/node_modules/@pie-element/multiple-choice/lib/choice.js.map +0 -1
  45. package/configure/node_modules/@pie-element/multiple-choice/lib/feedback-tick.js +0 -174
  46. package/configure/node_modules/@pie-element/multiple-choice/lib/feedback-tick.js.map +0 -1
  47. package/configure/node_modules/@pie-element/multiple-choice/lib/index.js +0 -151
  48. package/configure/node_modules/@pie-element/multiple-choice/lib/index.js.map +0 -1
  49. package/configure/node_modules/@pie-element/multiple-choice/lib/main.js +0 -97
  50. package/configure/node_modules/@pie-element/multiple-choice/lib/main.js.map +0 -1
  51. package/configure/node_modules/@pie-element/multiple-choice/lib/multiple-choice.js +0 -254
  52. package/configure/node_modules/@pie-element/multiple-choice/lib/multiple-choice.js.map +0 -1
  53. package/configure/node_modules/@pie-element/multiple-choice/lib/print.js +0 -129
  54. package/configure/node_modules/@pie-element/multiple-choice/lib/print.js.map +0 -1
  55. package/configure/node_modules/@pie-element/multiple-choice/lib/session-updater.js +0 -35
  56. package/configure/node_modules/@pie-element/multiple-choice/lib/session-updater.js.map +0 -1
  57. package/configure/node_modules/@pie-element/multiple-choice/module/configure.js +0 -843
  58. package/configure/node_modules/@pie-element/multiple-choice/module/controller.js +0 -20686
  59. package/configure/node_modules/@pie-element/multiple-choice/module/demo.js +0 -77
  60. package/configure/node_modules/@pie-element/multiple-choice/module/element.js +0 -2019
  61. package/configure/node_modules/@pie-element/multiple-choice/module/index.html +0 -21
  62. package/configure/node_modules/@pie-element/multiple-choice/module/manifest.json +0 -14
  63. package/configure/node_modules/@pie-element/multiple-choice/module/print-demo.js +0 -115
  64. package/configure/node_modules/@pie-element/multiple-choice/module/print.html +0 -18
  65. package/configure/node_modules/@pie-element/multiple-choice/module/print.js +0 -1983
  66. package/configure/node_modules/@pie-element/multiple-choice/package.json +0 -34
  67. package/configure/node_modules/@pie-lib/math-rendering/CHANGELOG.json +0 -672
  68. package/configure/node_modules/@pie-lib/math-rendering/CHANGELOG.md +0 -427
  69. package/configure/node_modules/@pie-lib/math-rendering/LICENSE.md +0 -5
  70. package/configure/node_modules/@pie-lib/math-rendering/lib/index.js +0 -30
  71. package/configure/node_modules/@pie-lib/math-rendering/lib/index.js.map +0 -1
  72. package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/chtml.js +0 -316
  73. package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/chtml.js.map +0 -1
  74. package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/index.js +0 -23
  75. package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/index.js.map +0 -1
  76. package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/mml.js +0 -123
  77. package/configure/node_modules/@pie-lib/math-rendering/lib/mstack/mml.js.map +0 -1
  78. package/configure/node_modules/@pie-lib/math-rendering/lib/normalization.js +0 -103
  79. package/configure/node_modules/@pie-lib/math-rendering/lib/normalization.js.map +0 -1
  80. package/configure/node_modules/@pie-lib/math-rendering/lib/render-math.js +0 -275
  81. package/configure/node_modules/@pie-lib/math-rendering/lib/render-math.js.map +0 -1
  82. package/configure/node_modules/@pie-lib/math-rendering/package.json +0 -19
  83. package/configure/node_modules/@pie-lib/math-rendering/playground/demo.html +0 -872
  84. package/configure/node_modules/@pie-lib/math-rendering/playground/demo.js +0 -108
  85. package/configure/node_modules/@pie-lib/math-rendering/playground/main.html +0 -156
  86. package/configure/node_modules/@pie-lib/math-rendering/playground/main.js +0 -16
  87. package/configure/node_modules/@pie-lib/math-rendering/playground/webpack.config.js +0 -29
  88. package/configure/node_modules/@pie-lib/math-rendering/src/index.js +0 -4
  89. package/configure/node_modules/@pie-lib/math-rendering/src/mstack/chtml.js +0 -215
  90. package/configure/node_modules/@pie-lib/math-rendering/src/mstack/index.js +0 -13
  91. package/configure/node_modules/@pie-lib/math-rendering/src/mstack/mml.js +0 -24
  92. package/configure/node_modules/@pie-lib/math-rendering/src/normalization.js +0 -69
  93. package/configure/node_modules/@pie-lib/math-rendering/src/render-math.js +0 -234
  94. package/configure/node_modules/@pie-lib/render-ui/CHANGELOG.json +0 -937
  95. package/configure/node_modules/@pie-lib/render-ui/CHANGELOG.md +0 -602
  96. package/configure/node_modules/@pie-lib/render-ui/LICENSE.md +0 -5
  97. package/configure/node_modules/@pie-lib/render-ui/README.md +0 -33
  98. package/configure/node_modules/@pie-lib/render-ui/lib/collapsible/index.js +0 -146
  99. package/configure/node_modules/@pie-lib/render-ui/lib/collapsible/index.js.map +0 -1
  100. package/configure/node_modules/@pie-lib/render-ui/lib/color.js +0 -134
  101. package/configure/node_modules/@pie-lib/render-ui/lib/color.js.map +0 -1
  102. package/configure/node_modules/@pie-lib/render-ui/lib/feedback.js +0 -160
  103. package/configure/node_modules/@pie-lib/render-ui/lib/feedback.js.map +0 -1
  104. package/configure/node_modules/@pie-lib/render-ui/lib/has-text.js +0 -24
  105. package/configure/node_modules/@pie-lib/render-ui/lib/has-text.js.map +0 -1
  106. package/configure/node_modules/@pie-lib/render-ui/lib/html-and-math.js +0 -102
  107. package/configure/node_modules/@pie-lib/render-ui/lib/html-and-math.js.map +0 -1
  108. package/configure/node_modules/@pie-lib/render-ui/lib/index.js +0 -104
  109. package/configure/node_modules/@pie-lib/render-ui/lib/index.js.map +0 -1
  110. package/configure/node_modules/@pie-lib/render-ui/lib/input-container.js +0 -60
  111. package/configure/node_modules/@pie-lib/render-ui/lib/input-container.js.map +0 -1
  112. package/configure/node_modules/@pie-lib/render-ui/lib/preview-layout.js +0 -133
  113. package/configure/node_modules/@pie-lib/render-ui/lib/preview-layout.js.map +0 -1
  114. package/configure/node_modules/@pie-lib/render-ui/lib/preview-prompt.js +0 -162
  115. package/configure/node_modules/@pie-lib/render-ui/lib/preview-prompt.js.map +0 -1
  116. package/configure/node_modules/@pie-lib/render-ui/lib/purpose.js +0 -28
  117. package/configure/node_modules/@pie-lib/render-ui/lib/purpose.js.map +0 -1
  118. package/configure/node_modules/@pie-lib/render-ui/lib/readable.js +0 -28
  119. package/configure/node_modules/@pie-lib/render-ui/lib/readable.js.map +0 -1
  120. package/configure/node_modules/@pie-lib/render-ui/lib/response-indicators.js +0 -160
  121. package/configure/node_modules/@pie-lib/render-ui/lib/response-indicators.js.map +0 -1
  122. package/configure/node_modules/@pie-lib/render-ui/lib/withUndoReset.js +0 -206
  123. package/configure/node_modules/@pie-lib/render-ui/lib/withUndoReset.js.map +0 -1
  124. package/configure/node_modules/@pie-lib/render-ui/package.json +0 -30
  125. package/configure/node_modules/@pie-lib/render-ui/src/collapsible/index.jsx +0 -68
  126. package/configure/node_modules/@pie-lib/render-ui/src/color.js +0 -48
  127. package/configure/node_modules/@pie-lib/render-ui/src/feedback.jsx +0 -100
  128. package/configure/node_modules/@pie-lib/render-ui/src/has-text.js +0 -14
  129. package/configure/node_modules/@pie-lib/render-ui/src/html-and-math.js +0 -40
  130. package/configure/node_modules/@pie-lib/render-ui/src/index.js +0 -27
  131. package/configure/node_modules/@pie-lib/render-ui/src/input-container.jsx +0 -41
  132. package/configure/node_modules/@pie-lib/render-ui/src/preview-layout.jsx +0 -77
  133. package/configure/node_modules/@pie-lib/render-ui/src/preview-prompt.jsx +0 -90
  134. package/configure/node_modules/@pie-lib/render-ui/src/purpose.jsx +0 -19
  135. package/configure/node_modules/@pie-lib/render-ui/src/readable.jsx +0 -19
  136. package/configure/node_modules/@pie-lib/render-ui/src/response-indicators.jsx +0 -89
  137. 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
- };