@pie-lib/render-ui 4.15.9 → 4.16.1-beta.0

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 (58) hide show
  1. package/CHANGELOG.md +20 -52
  2. package/NEXT.CHANGELOG.json +1 -0
  3. package/package.json +6 -4
  4. package/src/__tests__/__snapshots__/html-and-math.test.js.snap +11 -0
  5. package/src/__tests__/__snapshots__/preview-prompt.test.jsx.snap +37 -0
  6. package/src/__tests__/__snapshots__/purpose.test.jsx.snap +42 -0
  7. package/src/__tests__/__snapshots__/readable.test.jsx.snap +64 -0
  8. package/src/__tests__/__snapshots__/response-indicators.test.jsx.snap +95 -0
  9. package/src/__tests__/color.test.js +12 -0
  10. package/src/__tests__/has-media.test.js +20 -0
  11. package/src/__tests__/has-text.test.js +21 -0
  12. package/src/__tests__/html-and-math.test.js +46 -0
  13. package/src/__tests__/preview-prompt.test.jsx +56 -0
  14. package/src/__tests__/purpose.test.jsx +47 -0
  15. package/src/__tests__/readable.test.jsx +64 -0
  16. package/src/__tests__/response-indicators.test.jsx +16 -0
  17. package/src/__tests__/ui-layout.test.jsx +34 -0
  18. package/src/__tests__/withUndoReset.test.jsx +254 -0
  19. package/src/append-css-rules.js +51 -0
  20. package/src/assets/enableAudioAutoplayImage.js +1 -0
  21. package/src/collapsible/__tests__/__snapshots__/index.test.jsx.snap +18 -0
  22. package/src/collapsible/__tests__/index.test.jsx +13 -0
  23. package/src/collapsible/index.jsx +1 -0
  24. package/src/color.js +40 -0
  25. package/src/feedback.jsx +0 -1
  26. package/src/has-media.js +16 -0
  27. package/src/has-text.js +5 -1
  28. package/src/index.js +8 -0
  29. package/src/preview-layout.jsx +14 -3
  30. package/src/preview-prompt.jsx +150 -26
  31. package/src/ui-layout.jsx +66 -0
  32. package/README.md +0 -33
  33. package/lib/collapsible/index.js +0 -134
  34. package/lib/collapsible/index.js.map +0 -1
  35. package/lib/color.js +0 -157
  36. package/lib/color.js.map +0 -1
  37. package/lib/feedback.js +0 -151
  38. package/lib/feedback.js.map +0 -1
  39. package/lib/has-text.js +0 -24
  40. package/lib/has-text.js.map +0 -1
  41. package/lib/html-and-math.js +0 -90
  42. package/lib/html-and-math.js.map +0 -1
  43. package/lib/index.js +0 -104
  44. package/lib/index.js.map +0 -1
  45. package/lib/input-container.js +0 -60
  46. package/lib/input-container.js.map +0 -1
  47. package/lib/preview-layout.js +0 -133
  48. package/lib/preview-layout.js.map +0 -1
  49. package/lib/preview-prompt.js +0 -206
  50. package/lib/preview-prompt.js.map +0 -1
  51. package/lib/purpose.js +0 -28
  52. package/lib/purpose.js.map +0 -1
  53. package/lib/readable.js +0 -28
  54. package/lib/readable.js.map +0 -1
  55. package/lib/response-indicators.js +0 -151
  56. package/lib/response-indicators.js.map +0 -1
  57. package/lib/withUndoReset.js +0 -181
  58. package/lib/withUndoReset.js.map +0 -1
@@ -1,133 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
17
-
18
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
19
-
20
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
21
-
22
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _styles = require("@material-ui/core/styles");
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
31
-
32
- 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; } }
33
-
34
- var PreviewLayout = /*#__PURE__*/function (_React$Component) {
35
- (0, _inherits2["default"])(PreviewLayout, _React$Component);
36
-
37
- var _super = _createSuper(PreviewLayout);
38
-
39
- function PreviewLayout() {
40
- (0, _classCallCheck2["default"])(this, PreviewLayout);
41
- return _super.apply(this, arguments);
42
- }
43
-
44
- (0, _createClass2["default"])(PreviewLayout, [{
45
- key: "render",
46
- value: function render() {
47
- var _this$props = this.props,
48
- children = _this$props.children,
49
- classes = _this$props.classes,
50
- ariaLabel = _this$props.ariaLabel,
51
- role = _this$props.role;
52
- var accessibility = ariaLabel ? {
53
- 'aria-label': ariaLabel,
54
- role: role
55
- } : {};
56
- return /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({
57
- className: classes.container
58
- }, accessibility), children);
59
- }
60
- }]);
61
- return PreviewLayout;
62
- }(_react["default"].Component);
63
-
64
- (0, _defineProperty2["default"])(PreviewLayout, "propTypes", {
65
- ariaLabel: _propTypes["default"].string,
66
- children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
67
- classes: _propTypes["default"].object,
68
- role: _propTypes["default"].string
69
- });
70
-
71
- var styles = function styles() {
72
- return {
73
- container: {
74
- display: 'flex',
75
- flexDirection: 'column',
76
- position: 'relative'
77
- }
78
- };
79
- };
80
-
81
- var theme = (0, _styles.createMuiTheme)({
82
- typography: {
83
- useNextVariants: true
84
- },
85
- palette: {
86
- action: {
87
- disabled: 'rgba(0, 0, 0, 0.54);'
88
- }
89
- },
90
- overrides: {
91
- MuiRadio: {
92
- root: {
93
- '&$checked': {
94
- color: '#3f51b5 !important'
95
- }
96
- }
97
- },
98
- MuiCheckbox: {
99
- root: {
100
- '&$checked': {
101
- color: '#3f51b5 !important'
102
- }
103
- }
104
- },
105
- MuiTabs: {
106
- root: {
107
- borderBottom: '1px solid #eee'
108
- }
109
- },
110
- MuiSwitch: {
111
- root: {
112
- '&$checked': {
113
- color: '#3f51b5 !important',
114
- '& + $bar': {
115
- backgroundColor: '#3f51b5 !important',
116
- opacity: 0.5
117
- }
118
- }
119
- }
120
- }
121
- }
122
- });
123
- var Styled = (0, _styles.withStyles)(styles)(PreviewLayout);
124
-
125
- var RootElem = function RootElem(props) {
126
- return /*#__PURE__*/_react["default"].createElement(_styles.MuiThemeProvider, {
127
- theme: theme
128
- }, /*#__PURE__*/_react["default"].createElement(Styled, props));
129
- };
130
-
131
- var _default = RootElem;
132
- exports["default"] = _default;
133
- //# sourceMappingURL=preview-layout.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/preview-layout.jsx"],"names":["PreviewLayout","props","children","classes","ariaLabel","role","accessibility","container","React","Component","PropTypes","string","oneOfType","arrayOf","node","isRequired","object","styles","display","flexDirection","position","theme","typography","useNextVariants","palette","action","disabled","overrides","MuiRadio","root","color","MuiCheckbox","MuiTabs","borderBottom","MuiSwitch","backgroundColor","opacity","Styled","RootElem"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;IAEMA,a;;;;;;;;;;;;WAQJ,kBAAS;AACP,wBAA+C,KAAKC,KAApD;AAAA,UAAQC,QAAR,eAAQA,QAAR;AAAA,UAAkBC,OAAlB,eAAkBA,OAAlB;AAAA,UAA2BC,SAA3B,eAA2BA,SAA3B;AAAA,UAAsCC,IAAtC,eAAsCA,IAAtC;AACA,UAAMC,aAAa,GAAGF,SAAS,GAAG;AAAE,sBAAcA,SAAhB;AAA2BC,QAAAA,IAAI,EAAJA;AAA3B,OAAH,GAAuC,EAAtE;AAEA,0BACE;AAAK,QAAA,SAAS,EAAEF,OAAO,CAACI;AAAxB,SAAuCD,aAAvC,GACGJ,QADH,CADF;AAKD;;;EAjByBM,kBAAMC,S;;iCAA5BT,a,eACe;AACjBI,EAAAA,SAAS,EAAEM,sBAAUC,MADJ;AAEjBT,EAAAA,QAAQ,EAAEQ,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,OAAV,CAAkBH,sBAAUI,IAA5B,CAAD,EAAoCJ,sBAAUI,IAA9C,CAApB,EAAyEC,UAFlE;AAGjBZ,EAAAA,OAAO,EAAEO,sBAAUM,MAHF;AAIjBX,EAAAA,IAAI,EAAEK,sBAAUC;AAJC,C;;AAmBrB,IAAMM,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBV,IAAAA,SAAS,EAAE;AACTW,MAAAA,OAAO,EAAE,MADA;AAETC,MAAAA,aAAa,EAAE,QAFN;AAGTC,MAAAA,QAAQ,EAAE;AAHD;AADS,GAAP;AAAA,CAAf;;AAQA,IAAMC,KAAK,GAAG,4BAAe;AAC3BC,EAAAA,UAAU,EAAE;AACVC,IAAAA,eAAe,EAAE;AADP,GADe;AAI3BC,EAAAA,OAAO,EAAE;AACPC,IAAAA,MAAM,EAAE;AACNC,MAAAA,QAAQ,EAAE;AADJ;AADD,GAJkB;AAS3BC,EAAAA,SAAS,EAAE;AACTC,IAAAA,QAAQ,EAAE;AACRC,MAAAA,IAAI,EAAE;AACJ,qBAAa;AACXC,UAAAA,KAAK,EAAE;AADI;AADT;AADE,KADD;AAQTC,IAAAA,WAAW,EAAE;AACXF,MAAAA,IAAI,EAAE;AACJ,qBAAa;AACXC,UAAAA,KAAK,EAAE;AADI;AADT;AADK,KARJ;AAeTE,IAAAA,OAAO,EAAE;AACPH,MAAAA,IAAI,EAAE;AACJI,QAAAA,YAAY,EAAE;AADV;AADC,KAfA;AAoBTC,IAAAA,SAAS,EAAE;AACTL,MAAAA,IAAI,EAAE;AACJ,qBAAa;AACXC,UAAAA,KAAK,EAAE,oBADI;AAEX,sBAAY;AACVK,YAAAA,eAAe,EAAE,oBADP;AAEVC,YAAAA,OAAO,EAAE;AAFC;AAFD;AADT;AADG;AApBF;AATgB,CAAf,CAAd;AA2CA,IAAMC,MAAM,GAAG,wBAAWpB,MAAX,EAAmBjB,aAAnB,CAAf;;AAEA,IAAMsC,QAAQ,GAAG,SAAXA,QAAW,CAACrC,KAAD;AAAA,sBACf,gCAAC,wBAAD;AAAkB,IAAA,KAAK,EAAEoB;AAAzB,kBACE,gCAAC,MAAD,EAAYpB,KAAZ,CADF,CADe;AAAA,CAAjB;;eAMeqC,Q","sourcesContent":["import React from 'react';\nimport { withStyles, createMuiTheme, MuiThemeProvider } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\n\nclass PreviewLayout extends React.Component {\n static propTypes = {\n ariaLabel: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n classes: PropTypes.object,\n role: PropTypes.string,\n };\n\n render() {\n const { children, classes, ariaLabel, role } = this.props;\n const accessibility = ariaLabel ? { 'aria-label': ariaLabel, role } : {};\n\n return (\n <div className={classes.container} {...accessibility}>\n {children}\n </div>\n );\n }\n}\n\nconst styles = () => ({\n container: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n});\n\nconst theme = createMuiTheme({\n typography: {\n useNextVariants: true,\n },\n palette: {\n action: {\n disabled: 'rgba(0, 0, 0, 0.54);',\n },\n },\n overrides: {\n MuiRadio: {\n root: {\n '&$checked': {\n color: '#3f51b5 !important',\n },\n },\n },\n MuiCheckbox: {\n root: {\n '&$checked': {\n color: '#3f51b5 !important',\n },\n },\n },\n MuiTabs: {\n root: {\n borderBottom: '1px solid #eee',\n },\n },\n MuiSwitch: {\n root: {\n '&$checked': {\n color: '#3f51b5 !important',\n '& + $bar': {\n backgroundColor: '#3f51b5 !important',\n opacity: 0.5,\n },\n },\n },\n },\n },\n});\n\nconst Styled = withStyles(styles)(PreviewLayout);\n\nconst RootElem = (props) => (\n <MuiThemeProvider theme={theme}>\n <Styled {...props} />\n </MuiThemeProvider>\n);\n\nexport default RootElem;\n"],"file":"preview-layout.js"}
@@ -1,206 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = exports.PreviewPrompt = void 0;
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireWildcard(require("react"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
30
- var _propTypes = _interopRequireDefault(require("prop-types"));
31
-
32
- var color = _interopRequireWildcard(require("./color"));
33
-
34
- 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); }
35
-
36
- 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; }
37
-
38
- function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
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 _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; }
43
-
44
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
45
-
46
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
-
48
- //Used these below to replace \\embed{newLine} with \\newline from prompt which will get parsed in MathJax
49
- var NEWLINE_BLOCK_REGEX = /\\embed\{newLine\}\[\]/g;
50
- var NEWLINE_LATEX = '\\newline ';
51
-
52
- var PreviewPrompt = /*#__PURE__*/function (_Component) {
53
- (0, _inherits2["default"])(PreviewPrompt, _Component);
54
-
55
- var _super = _createSuper(PreviewPrompt);
56
-
57
- function PreviewPrompt() {
58
- var _this;
59
-
60
- (0, _classCallCheck2["default"])(this, PreviewPrompt);
61
-
62
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
63
- args[_key] = arguments[_key];
64
- }
65
-
66
- _this = _super.call.apply(_super, [this].concat(args));
67
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "parsedText", function (text) {
68
- // fix imported audio content for Safari PD-1419
69
- var div = document.createElement('div');
70
- div.innerHTML = text;
71
- var audio = div.querySelector('audio');
72
-
73
- if (audio) {
74
- var source = document.createElement('source');
75
- source.setAttribute('type', 'audio/mp3');
76
- source.setAttribute('src', audio.getAttribute('src'));
77
- audio.removeAttribute('src');
78
- audio.appendChild(source);
79
- }
80
-
81
- return div.innerHTML;
82
- });
83
- return _this;
84
- }
85
-
86
- (0, _createClass2["default"])(PreviewPrompt, [{
87
- key: "componentDidUpdate",
88
- value: function componentDidUpdate() {
89
- // set image parent style so it can be horizontally aligned
90
- var previewPrompt = document.querySelector('#preview-prompt');
91
- var images = previewPrompt && previewPrompt.getElementsByTagName('img');
92
-
93
- if (images && images.length) {
94
- var _iterator = _createForOfIteratorHelper(images),
95
- _step;
96
-
97
- try {
98
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
99
- var image = _step.value;
100
-
101
- // check if alignment property was set
102
- if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {
103
- var parentNode = image.parentElement; // check if div is not already added to dom and replace current image with wrapped image
104
-
105
- if (!(parentNode.tagName === 'DIV' && parentNode.style.display === 'flex' && parentNode.style.width === '100%')) {
106
- var div = document.createElement('div');
107
- div.style.display = 'flex';
108
- div.style.width = '100%';
109
- var copyImage = image.cloneNode(true);
110
- div.appendChild(copyImage);
111
- parentNode.replaceChild(div, image);
112
- }
113
- }
114
- }
115
- } catch (err) {
116
- _iterator.e(err);
117
- } finally {
118
- _iterator.f();
119
- }
120
- }
121
- }
122
- }, {
123
- key: "render",
124
- value: function render() {
125
- var _this$props = this.props,
126
- prompt = _this$props.prompt,
127
- classes = _this$props.classes,
128
- tagName = _this$props.tagName,
129
- className = _this$props.className,
130
- onClick = _this$props.onClick,
131
- defaultClassName = _this$props.defaultClassName;
132
- var CustomTag = tagName || 'div'; // legend tag was added once with accessibility tasks, wee need extra style to make it work with images alignment
133
-
134
- var legendClass = tagName === 'legend' ? 'legend' : '';
135
- var customClasses = "".concat(classes.promptTable, " ").concat(classes[className] || '', " ").concat(defaultClassName || '', " ").concat(classes[legendClass] || '');
136
- return /*#__PURE__*/_react["default"].createElement(CustomTag, {
137
- id: 'preview-prompt',
138
- onClick: onClick,
139
- className: customClasses,
140
- dangerouslySetInnerHTML: {
141
- __html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX)
142
- }
143
- });
144
- }
145
- }]);
146
- return PreviewPrompt;
147
- }(_react.Component);
148
-
149
- exports.PreviewPrompt = PreviewPrompt;
150
- (0, _defineProperty2["default"])(PreviewPrompt, "propTypes", {
151
- classes: _propTypes["default"].object,
152
- prompt: _propTypes["default"].string,
153
- tagName: _propTypes["default"].string,
154
- className: _propTypes["default"].string,
155
- onClick: _propTypes["default"].func,
156
- defaultClassName: _propTypes["default"].string
157
- });
158
- (0, _defineProperty2["default"])(PreviewPrompt, "defaultProps", {
159
- onClick: function onClick() {}
160
- });
161
-
162
- var styles = function styles(theme) {
163
- return {
164
- prompt: {
165
- verticalAlign: 'middle',
166
- color: color.text()
167
- },
168
- legend: {
169
- width: '100%',
170
- fontSize: 'inherit !important'
171
- },
172
- rationale: {
173
- paddingLeft: theme.spacing.unit * 4,
174
- paddingBottom: theme.spacing.unit
175
- },
176
- label: {
177
- color: "".concat(color.text(), " !important"),
178
- //'var(--choice-input-color, black)',
179
- display: 'inline-block',
180
- verticalAlign: 'middle',
181
- cursor: 'pointer',
182
- '& > p': {
183
- margin: '0 0 0 0 !important'
184
- }
185
- },
186
- promptTable: {
187
- '&:not(.MathJax) > table': {
188
- borderCollapse: 'collapse'
189
- },
190
- '&:not(.MathJax) > table tr': {
191
- '&:nth-child(2n)': {
192
- backgroundColor: '#f6f8fa'
193
- }
194
- },
195
- '&:not(.MathJax) > table td, &:not(.MathJax) > table th': {
196
- padding: '.6em 1em',
197
- textAlign: 'center'
198
- }
199
- }
200
- };
201
- };
202
-
203
- var _default = (0, _styles.withStyles)(styles)(PreviewPrompt);
204
-
205
- exports["default"] = _default;
206
- //# sourceMappingURL=preview-prompt.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/preview-prompt.jsx"],"names":["NEWLINE_BLOCK_REGEX","NEWLINE_LATEX","PreviewPrompt","text","div","document","createElement","innerHTML","audio","querySelector","source","setAttribute","getAttribute","removeAttribute","appendChild","previewPrompt","images","getElementsByTagName","length","image","attributes","alignment","value","parentNode","parentElement","tagName","style","display","width","copyImage","cloneNode","replaceChild","props","prompt","classes","className","onClick","defaultClassName","CustomTag","legendClass","customClasses","promptTable","__html","parsedText","replace","Component","PropTypes","object","string","func","styles","theme","verticalAlign","color","legend","fontSize","rationale","paddingLeft","spacing","unit","paddingBottom","label","cursor","margin","borderCollapse","backgroundColor","padding","textAlign"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport PropTypes from 'prop-types';\nimport * as color from './color';\n\n//Used these below to replace \\\\embed{newLine} with \\\\newline from prompt which will get parsed in MathJax\nconst NEWLINE_BLOCK_REGEX = /\\\\embed\\{newLine\\}\\[\\]/g;\nconst NEWLINE_LATEX = '\\\\newline ';\n\nexport class PreviewPrompt extends Component {\n static propTypes = {\n classes: PropTypes.object,\n prompt: PropTypes.string,\n tagName: PropTypes.string,\n className: PropTypes.string,\n onClick: PropTypes.func,\n defaultClassName: PropTypes.string,\n };\n\n static defaultProps = {\n onClick: () => {},\n };\n\n parsedText = (text) => {\n // fix imported audio content for Safari PD-1419\n const div = document.createElement('div');\n div.innerHTML = text;\n\n const audio = div.querySelector('audio');\n if (audio) {\n const source = document.createElement('source');\n\n source.setAttribute('type', 'audio/mp3');\n source.setAttribute('src', audio.getAttribute('src'));\n\n audio.removeAttribute('src');\n audio.appendChild(source);\n }\n\n return div.innerHTML;\n };\n\n componentDidUpdate() {\n // set image parent style so it can be horizontally aligned\n const previewPrompt = document.querySelector('#preview-prompt');\n const images = previewPrompt && previewPrompt.getElementsByTagName('img');\n\n if (images && images.length) {\n for (let image of images) {\n // check if alignment property was set\n if (image.attributes && image.attributes.alignment && image.attributes.alignment.value) {\n const parentNode = image.parentElement;\n\n // check if div is not already added to dom and replace current image with wrapped image\n if (\n !(parentNode.tagName === 'DIV' && parentNode.style.display === 'flex' && parentNode.style.width === '100%')\n ) {\n const div = document.createElement('div');\n div.style.display = 'flex';\n div.style.width = '100%';\n\n const copyImage = image.cloneNode(true);\n div.appendChild(copyImage);\n parentNode.replaceChild(div, image);\n }\n }\n }\n }\n }\n\n render() {\n const { prompt, classes, tagName, className, onClick, defaultClassName } = this.props;\n const CustomTag = tagName || 'div';\n // legend tag was added once with accessibility tasks, wee need extra style to make it work with images alignment\n const legendClass = tagName === 'legend' ? 'legend' : '';\n const customClasses = `${classes.promptTable} ${classes[className] || ''} ${defaultClassName || ''} ${classes[\n legendClass\n ] || ''}`;\n\n return (\n <CustomTag\n id={'preview-prompt'}\n onClick={onClick}\n className={customClasses}\n dangerouslySetInnerHTML={{\n __html: this.parsedText(prompt || '').replace(NEWLINE_BLOCK_REGEX, NEWLINE_LATEX),\n }}\n />\n );\n }\n}\n\nconst styles = (theme) => ({\n prompt: {\n verticalAlign: 'middle',\n color: color.text(),\n },\n legend: {\n width: '100%',\n fontSize: 'inherit !important',\n },\n rationale: {\n paddingLeft: theme.spacing.unit * 4,\n paddingBottom: theme.spacing.unit,\n },\n label: {\n color: `${color.text()} !important`, //'var(--choice-input-color, black)',\n display: 'inline-block',\n verticalAlign: 'middle',\n cursor: 'pointer',\n '& > p': {\n margin: '0 0 0 0 !important',\n },\n },\n promptTable: {\n '&:not(.MathJax) > table': {\n borderCollapse: 'collapse',\n },\n '&:not(.MathJax) > table tr': {\n '&:nth-child(2n)': {\n backgroundColor: '#f6f8fa',\n },\n },\n '&:not(.MathJax) > table td, &:not(.MathJax) > table th': {\n padding: '.6em 1em',\n textAlign: 'center',\n },\n },\n});\nexport default withStyles(styles)(PreviewPrompt);\n"],"file":"preview-prompt.js"}
package/lib/purpose.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var Purpose = function Purpose(props) {
15
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _react["default"].Children.map(props.children, function (child) {
16
- return /*#__PURE__*/_react["default"].cloneElement(child, {
17
- 'data-pie-purpose': props.purpose
18
- });
19
- }));
20
- };
21
-
22
- Purpose.propTypes = {
23
- children: _propTypes["default"].node,
24
- purpose: _propTypes["default"].string
25
- };
26
- var _default = Purpose;
27
- exports["default"] = _default;
28
- //# sourceMappingURL=purpose.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/purpose.jsx"],"names":["Purpose","props","React","Children","map","children","child","cloneElement","purpose","propTypes","PropTypes","node","string"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD,EAAW;AACzB,sBACE,kEACGC,kBAAMC,QAAN,CAAeC,GAAf,CAAmBH,KAAK,CAACI,QAAzB,EAAmC,UAACC,KAAD;AAAA,wBAAWJ,kBAAMK,YAAN,CAAmBD,KAAnB,EAA0B;AAAE,0BAAoBL,KAAK,CAACO;AAA5B,KAA1B,CAAX;AAAA,GAAnC,CADH,CADF;AAKD,CAND;;AAQAR,OAAO,CAACS,SAAR,GAAoB;AAClBJ,EAAAA,QAAQ,EAAEK,sBAAUC,IADF;AAElBH,EAAAA,OAAO,EAAEE,sBAAUE;AAFD,CAApB;eAKeZ,O","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst Purpose = (props) => {\n return (\n <>\n {React.Children.map(props.children, (child) => React.cloneElement(child, { 'data-pie-purpose': props.purpose }))}\n </>\n );\n};\n\nPurpose.propTypes = {\n children: PropTypes.node,\n purpose: PropTypes.string,\n};\n\nexport default Purpose;\n"],"file":"purpose.js"}
package/lib/readable.js DELETED
@@ -1,28 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = void 0;
9
-
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
-
12
- var _react = _interopRequireDefault(require("react"));
13
-
14
- var Readable = function Readable(props) {
15
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _react["default"].Children.map(props.children, function (child) {
16
- return /*#__PURE__*/_react["default"].cloneElement(child, {
17
- 'data-pie-readable': props["false"] === undefined
18
- });
19
- }));
20
- };
21
-
22
- Readable.propTypes = {
23
- children: _propTypes["default"].node,
24
- "false": _propTypes["default"].bool
25
- };
26
- var _default = Readable;
27
- exports["default"] = _default;
28
- //# sourceMappingURL=readable.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/readable.jsx"],"names":["Readable","props","React","Children","map","children","child","cloneElement","undefined","propTypes","PropTypes","node","bool"],"mappings":";;;;;;;;;AAAA;;AACA;;AAEA,IAAMA,QAAQ,GAAG,SAAXA,QAAW,CAACC,KAAD,EAAW;AAC1B,sBACE,kEACGC,kBAAMC,QAAN,CAAeC,GAAf,CAAmBH,KAAK,CAACI,QAAzB,EAAmC,UAACC,KAAD;AAAA,wBAClCJ,kBAAMK,YAAN,CAAmBD,KAAnB,EAA0B;AAAE,2BAAqBL,KAAK,SAAL,KAAgBO;AAAvC,KAA1B,CADkC;AAAA,GAAnC,CADH,CADF;AAOD,CARD;;AAUAR,QAAQ,CAACS,SAAT,GAAqB;AACnBJ,EAAAA,QAAQ,EAAEK,sBAAUC,IADD;AAEnB,WAAOD,sBAAUE;AAFE,CAArB;eAKeZ,Q","sourcesContent":["import PropTypes from 'prop-types';\nimport React from 'react';\n\nconst Readable = (props) => {\n return (\n <>\n {React.Children.map(props.children, (child) =>\n React.cloneElement(child, { 'data-pie-readable': props.false === undefined }),\n )}\n </>\n );\n};\n\nReadable.propTypes = {\n children: PropTypes.node,\n false: PropTypes.bool,\n};\n\nexport default Readable;\n"],"file":"readable.js"}
@@ -1,151 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports.PartiallyCorrect = exports.NothingSubmitted = exports.Incorrect = exports.Correct = void 0;
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var icons = _interopRequireWildcard(require("@pie-lib/icons"));
31
-
32
- var _Popover = _interopRequireDefault(require("@material-ui/core/Popover"));
33
-
34
- var _styles = require("@material-ui/core/styles");
35
-
36
- var _feedback = _interopRequireDefault(require("./feedback"));
37
-
38
- var _debug = _interopRequireDefault(require("debug"));
39
-
40
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
-
44
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
45
-
46
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
47
-
48
- var log = (0, _debug["default"])('pie-libs:render-ui:response-indicators');
49
-
50
- var styles = function styles() {
51
- return {
52
- responseIndicator: {
53
- cursor: 'pointer'
54
- },
55
- paper: {
56
- padding: '0',
57
- borderRadius: '4px'
58
- },
59
- popover: {
60
- cursor: 'pointer'
61
- },
62
- popperClose: {
63
- cursor: 'pointer'
64
- }
65
- };
66
- };
67
-
68
- var BuildIndicator = function BuildIndicator(Icon, correctness) {
69
- var RawIndicator = /*#__PURE__*/function (_React$Component) {
70
- (0, _inherits2["default"])(RawIndicator, _React$Component);
71
-
72
- var _super = _createSuper(RawIndicator);
73
-
74
- function RawIndicator(props) {
75
- var _this;
76
-
77
- (0, _classCallCheck2["default"])(this, RawIndicator);
78
- _this = _super.call(this, props);
79
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlePopoverOpen", function (event) {
80
- log('[handlePopoverOpen]', event.target);
81
-
82
- _this.setState({
83
- anchorEl: event.target
84
- });
85
- });
86
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handlePopoverClose", function () {
87
- _this.setState({
88
- anchorEl: null
89
- });
90
- });
91
- _this.state = {};
92
- return _this;
93
- }
94
-
95
- (0, _createClass2["default"])(RawIndicator, [{
96
- key: "render",
97
- value: function render() {
98
- var _this2 = this;
99
-
100
- var _this$props = this.props,
101
- feedback = _this$props.feedback,
102
- classes = _this$props.classes;
103
- var anchorEl = this.state.anchorEl;
104
- return /*#__PURE__*/_react["default"].createElement("div", {
105
- className: feedback && classes.responseIndicator
106
- }, /*#__PURE__*/_react["default"].createElement("span", {
107
- ref: function ref(r) {
108
- return _this2.icon = r;
109
- },
110
- onClick: this.handlePopoverOpen
111
- }, /*#__PURE__*/_react["default"].createElement(Icon, null)), feedback && /*#__PURE__*/_react["default"].createElement(_Popover["default"], {
112
- className: classes.popover,
113
- classes: {
114
- paper: classes.paper
115
- },
116
- open: !!anchorEl,
117
- anchorEl: anchorEl,
118
- anchorOrigin: {
119
- vertical: 'bottom',
120
- horizontal: 'left'
121
- },
122
- transformOrigin: {
123
- vertical: 'top',
124
- horizontal: 'left'
125
- },
126
- onClose: this.handlePopoverClose
127
- }, /*#__PURE__*/_react["default"].createElement(_feedback["default"], {
128
- feedback: feedback,
129
- correctness: correctness
130
- })));
131
- }
132
- }]);
133
- return RawIndicator;
134
- }(_react["default"].Component);
135
-
136
- RawIndicator.propTypes = {
137
- feedback: _propTypes["default"].string,
138
- classes: _propTypes["default"].object.isRequired
139
- };
140
- return (0, _styles.withStyles)(styles)(RawIndicator);
141
- };
142
-
143
- var Correct = BuildIndicator(icons.Correct, 'correct');
144
- exports.Correct = Correct;
145
- var Incorrect = BuildIndicator(icons.Incorrect, 'incorrect');
146
- exports.Incorrect = Incorrect;
147
- var PartiallyCorrect = BuildIndicator(icons.PartiallyCorrect, 'partially-correct');
148
- exports.PartiallyCorrect = PartiallyCorrect;
149
- var NothingSubmitted = BuildIndicator(icons.NothingSubmitted, 'nothing-submitted');
150
- exports.NothingSubmitted = NothingSubmitted;
151
- //# sourceMappingURL=response-indicators.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/response-indicators.jsx"],"names":["log","styles","responseIndicator","cursor","paper","padding","borderRadius","popover","popperClose","BuildIndicator","Icon","correctness","RawIndicator","props","event","target","setState","anchorEl","state","feedback","classes","r","icon","handlePopoverOpen","vertical","horizontal","handlePopoverClose","React","Component","propTypes","PropTypes","string","object","isRequired","Correct","icons","Incorrect","PartiallyCorrect","NothingSubmitted"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,wCAAN,CAAZ;;AAEA,IAAMC,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBC,IAAAA,iBAAiB,EAAE;AACjBC,MAAAA,MAAM,EAAE;AADS,KADC;AAIpBC,IAAAA,KAAK,EAAE;AACLC,MAAAA,OAAO,EAAE,GADJ;AAELC,MAAAA,YAAY,EAAE;AAFT,KAJa;AAQpBC,IAAAA,OAAO,EAAE;AACPJ,MAAAA,MAAM,EAAE;AADD,KARW;AAWpBK,IAAAA,WAAW,EAAE;AACXL,MAAAA,MAAM,EAAE;AADG;AAXO,GAAP;AAAA,CAAf;;AAgBA,IAAMM,cAAc,GAAG,SAAjBA,cAAiB,CAACC,IAAD,EAAOC,WAAP,EAAuB;AAAA,MACtCC,YADsC;AAAA;;AAAA;;AAE1C,0BAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,gCAAMA,KAAN;AADiB,4GAKC,UAACC,KAAD,EAAW;AAC7Bd,QAAAA,GAAG,CAAC,qBAAD,EAAwBc,KAAK,CAACC,MAA9B,CAAH;;AACA,cAAKC,QAAL,CAAc;AAAEC,UAAAA,QAAQ,EAAEH,KAAK,CAACC;AAAlB,SAAd;AACD,OARkB;AAAA,6GAUE,YAAM;AACzB,cAAKC,QAAL,CAAc;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SAAd;AACD,OAZkB;AAEjB,YAAKC,KAAL,GAAa,EAAb;AAFiB;AAGlB;;AALyC;AAAA;AAAA,aAgB1C,kBAAS;AAAA;;AACP,0BAA8B,KAAKL,KAAnC;AAAA,YAAQM,QAAR,eAAQA,QAAR;AAAA,YAAkBC,OAAlB,eAAkBA,OAAlB;AACA,YAAQH,QAAR,GAAqB,KAAKC,KAA1B,CAAQD,QAAR;AACA,4BACE;AAAK,UAAA,SAAS,EAAEE,QAAQ,IAAIC,OAAO,CAAClB;AAApC,wBACE;AAAM,UAAA,GAAG,EAAE,aAACmB,CAAD;AAAA,mBAAQ,MAAI,CAACC,IAAL,GAAYD,CAApB;AAAA,WAAX;AAAmC,UAAA,OAAO,EAAE,KAAKE;AAAjD,wBACE,gCAAC,IAAD,OADF,CADF,EAKGJ,QAAQ,iBACP,gCAAC,mBAAD;AACE,UAAA,SAAS,EAAEC,OAAO,CAACb,OADrB;AAEE,UAAA,OAAO,EAAE;AACPH,YAAAA,KAAK,EAAEgB,OAAO,CAAChB;AADR,WAFX;AAKE,UAAA,IAAI,EAAE,CAAC,CAACa,QALV;AAME,UAAA,QAAQ,EAAEA,QANZ;AAOE,UAAA,YAAY,EAAE;AACZO,YAAAA,QAAQ,EAAE,QADE;AAEZC,YAAAA,UAAU,EAAE;AAFA,WAPhB;AAWE,UAAA,eAAe,EAAE;AACfD,YAAAA,QAAQ,EAAE,KADK;AAEfC,YAAAA,UAAU,EAAE;AAFG,WAXnB;AAeE,UAAA,OAAO,EAAE,KAAKC;AAfhB,wBAiBE,gCAAC,oBAAD;AAAU,UAAA,QAAQ,EAAEP,QAApB;AAA8B,UAAA,WAAW,EAAER;AAA3C,UAjBF,CANJ,CADF;AA6BD;AAhDyC;AAAA;AAAA,IACjBgB,kBAAMC,SADW;;AAmD5ChB,EAAAA,YAAY,CAACiB,SAAb,GAAyB;AACvBV,IAAAA,QAAQ,EAAEW,sBAAUC,MADG;AAEvBX,IAAAA,OAAO,EAAEU,sBAAUE,MAAV,CAAiBC;AAFH,GAAzB;AAKA,SAAO,wBAAWhC,MAAX,EAAmBW,YAAnB,CAAP;AACD,CAzDD;;AA2DO,IAAMsB,OAAO,GAAGzB,cAAc,CAAC0B,KAAK,CAACD,OAAP,EAAgB,SAAhB,CAA9B;;AACA,IAAME,SAAS,GAAG3B,cAAc,CAAC0B,KAAK,CAACC,SAAP,EAAkB,WAAlB,CAAhC;;AACA,IAAMC,gBAAgB,GAAG5B,cAAc,CAAC0B,KAAK,CAACE,gBAAP,EAAyB,mBAAzB,CAAvC;;AACA,IAAMC,gBAAgB,GAAG7B,cAAc,CAAC0B,KAAK,CAACG,gBAAP,EAAyB,mBAAzB,CAAvC","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"}