@pie-element/image-cloze-association 3.5.0 → 3.5.1-beta.587
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 +478 -0
- package/configure/CHANGELOG.md +390 -0
- package/configure/lib/defaults.js +16 -0
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/index.js +17 -3
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/root.js +43 -13
- package/configure/lib/root.js.map +1 -1
- package/configure/package.json +4 -3
- package/configure/src/__tests__/index.test.js +12 -15
- package/configure/src/defaults.js +20 -4
- package/configure/src/index.js +23 -3
- package/configure/src/root.jsx +41 -25
- package/controller/CHANGELOG.md +63 -0
- package/controller/lib/index.js +9 -8
- package/controller/lib/index.js.map +1 -1
- package/controller/lib/utils.js +4 -4
- package/controller/lib/utils.js.map +1 -1
- package/controller/package.json +2 -2
- package/controller/src/__tests__/index.test.js +108 -62
- package/controller/src/index.js +40 -28
- package/controller/src/utils.js +10 -10
- package/docs/config-schema.json +160 -0
- package/docs/config-schema.json.md +127 -0
- package/docs/demo/config.js +2 -2
- package/docs/demo/generate.js +30 -25
- package/docs/demo/session.js +1 -1
- package/docs/pie-schema.json +378 -0
- package/docs/pie-schema.json.md +295 -0
- package/lib/constants.js.map +1 -1
- package/lib/evaluation-icon.js.map +1 -1
- package/lib/image-container.js +13 -6
- package/lib/image-container.js.map +1 -1
- package/lib/image-drop-target.js +7 -2
- package/lib/image-drop-target.js.map +1 -1
- package/lib/index.js +4 -1
- package/lib/index.js.map +1 -1
- package/lib/interactive-section.js +1 -1
- package/lib/interactive-section.js.map +1 -1
- package/lib/possible-response.js +17 -5
- package/lib/possible-response.js.map +1 -1
- package/lib/possible-responses.js.map +1 -1
- package/lib/root.js +140 -19
- package/lib/root.js.map +1 -1
- package/lib/utils-correctness.js +33 -5
- package/lib/utils-correctness.js.map +1 -1
- package/package.json +8 -5
- package/src/__tests__/__snapshots__/{image-container-test.jsx.snap → image-container.test.jsx.snap} +20 -0
- package/src/__tests__/__snapshots__/possible-response.test.jsx.snap +5 -0
- package/src/__tests__/__snapshots__/root.test.jsx.snap +50 -0
- package/src/__tests__/{image-container-test.jsx → image-container.test.jsx} +12 -5
- package/src/__tests__/{possible-response-test.jsx → possible-response.test.jsx} +5 -3
- package/src/__tests__/{root-test.jsx → root.test.jsx} +4 -3
- package/src/__tests__/utils.test.js +207 -0
- package/src/constants.js +3 -3
- package/src/evaluation-icon.jsx +8 -17
- package/src/image-container.jsx +14 -19
- package/src/image-drop-target.jsx +45 -38
- package/src/index.js +10 -18
- package/src/interactive-section.jsx +15 -22
- package/src/possible-response.jsx +43 -23
- package/src/possible-responses.jsx +17 -25
- package/src/root.jsx +174 -100
- package/src/utils-correctness.js +44 -14
- package/src/__tests__/__snapshots__/possible-response-test.jsx.snap +0 -13
- package/src/__tests__/__snapshots__/root-test.jsx.snap +0 -38
- package/src/__tests__/utils-test.js +0 -211
package/lib/image-container.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard");
|
|
4
|
-
|
|
5
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
6
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
7
7
|
Object.defineProperty(exports, "__esModule", {
|
|
8
8
|
value: true
|
|
9
9
|
});
|
|
@@ -27,9 +27,13 @@ var _core = require("@material-ui/core");
|
|
|
27
27
|
|
|
28
28
|
var _imageDropTarget = _interopRequireDefault(require("./image-drop-target"));
|
|
29
29
|
|
|
30
|
+
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); }
|
|
31
|
+
|
|
32
|
+
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; }
|
|
33
|
+
|
|
30
34
|
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
35
|
|
|
32
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
36
|
+
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
37
|
|
|
34
38
|
var ImageContainer = /*#__PURE__*/function (_Component) {
|
|
35
39
|
(0, _inherits2["default"])(ImageContainer, _Component);
|
|
@@ -57,7 +61,8 @@ var ImageContainer = /*#__PURE__*/function (_Component) {
|
|
|
57
61
|
onAnswerSelect = _this$props.onAnswerSelect,
|
|
58
62
|
onDragAnswerBegin = _this$props.onDragAnswerBegin,
|
|
59
63
|
onDragAnswerEnd = _this$props.onDragAnswerEnd,
|
|
60
|
-
responseContainers = _this$props.responseContainers
|
|
64
|
+
responseContainers = _this$props.responseContainers,
|
|
65
|
+
showDashedBorder = _this$props.showDashedBorder;
|
|
61
66
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
62
67
|
className: classes.base
|
|
63
68
|
}, /*#__PURE__*/_react["default"].createElement("img", {
|
|
@@ -88,7 +93,8 @@ var ImageContainer = /*#__PURE__*/function (_Component) {
|
|
|
88
93
|
return onAnswerSelect(item, r.index);
|
|
89
94
|
},
|
|
90
95
|
onDragAnswerBegin: onDragAnswerBegin,
|
|
91
|
-
onDragAnswerEnd: onDragAnswerEnd
|
|
96
|
+
onDragAnswerEnd: onDragAnswerEnd,
|
|
97
|
+
showDashedBorder: showDashedBorder
|
|
92
98
|
});
|
|
93
99
|
}));
|
|
94
100
|
}
|
|
@@ -106,7 +112,8 @@ ImageContainer.propTypes = {
|
|
|
106
112
|
onAnswerSelect: _propTypes["default"].func.isRequired,
|
|
107
113
|
onDragAnswerBegin: _propTypes["default"].func.isRequired,
|
|
108
114
|
onDragAnswerEnd: _propTypes["default"].func.isRequired,
|
|
109
|
-
responseContainers: _propTypes["default"].array.isRequired
|
|
115
|
+
responseContainers: _propTypes["default"].array.isRequired,
|
|
116
|
+
showDashedBorder: _propTypes["default"].bool
|
|
110
117
|
};
|
|
111
118
|
ImageContainer.defaultProps = {
|
|
112
119
|
classes: {},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/image-container.jsx"],"names":["ImageContainer","props","answers","canDrag","classes","draggingElement","duplicateResponses","image","height","src","width","onAnswerSelect","onDragAnswerBegin","onDragAnswerEnd","responseContainers","base","map","r","i","rHeight","replace","rWidth","rLeft","x","rTop","y","answersParsed","filter","a","containerIndex","index","left","top","id","item","Component","propTypes","PropTypes","array","isRequired","bool","object","shape","func","defaultProps","styles","theme","margin","spacing","unit","position"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AAEA
|
|
1
|
+
{"version":3,"sources":["../src/image-container.jsx"],"names":["ImageContainer","props","answers","canDrag","classes","draggingElement","duplicateResponses","image","height","src","width","onAnswerSelect","onDragAnswerBegin","onDragAnswerEnd","responseContainers","showDashedBorder","base","map","r","i","rHeight","replace","rWidth","rLeft","x","rTop","y","answersParsed","filter","a","containerIndex","index","left","top","id","item","Component","propTypes","PropTypes","array","isRequired","bool","object","shape","func","defaultProps","styles","theme","margin","spacing","unit","position"],"mappings":"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","sourcesContent":["import React, { Component } from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core';\n\nimport ImageDropTarget from './image-drop-target';\n\nclass ImageContainer extends Component {\n render() {\n const {\n answers,\n canDrag,\n classes,\n draggingElement,\n duplicateResponses,\n image: { height, src, width },\n onAnswerSelect,\n onDragAnswerBegin,\n onDragAnswerEnd,\n responseContainers,\n showDashedBorder,\n } = this.props;\n\n return (\n <div className={classes.base}>\n <img src={src} height={height} width={width} />\n {responseContainers.map((r, i) => {\n const rHeight = (r.height.replace('%', '') / 100) * height;\n const rWidth = (r.width.replace('%', '') / 100) * width;\n const rLeft = (r.x / 100) * width;\n const rTop = (r.y / 100) * height;\n const answersParsed = answers.filter((a) => a.containerIndex === r.index);\n\n return (\n <ImageDropTarget\n answers={answersParsed}\n canDrag={canDrag}\n containerStyle={{\n height: rHeight,\n width: rWidth,\n left: rLeft,\n top: rTop,\n }}\n duplicateResponses={duplicateResponses}\n key={r.id + i}\n draggingElement={draggingElement}\n onDrop={(item) => onAnswerSelect(item, r.index)}\n onDragAnswerBegin={onDragAnswerBegin}\n onDragAnswerEnd={onDragAnswerEnd}\n showDashedBorder={showDashedBorder}\n />\n );\n })}\n </div>\n );\n }\n}\n\nImageContainer.propTypes = {\n answers: PropTypes.array.isRequired,\n canDrag: PropTypes.bool.isRequired,\n classes: PropTypes.object,\n draggingElement: PropTypes.shape({}).isRequired,\n duplicateResponses: PropTypes.bool,\n image: PropTypes.object.isRequired,\n onAnswerSelect: PropTypes.func.isRequired,\n onDragAnswerBegin: PropTypes.func.isRequired,\n onDragAnswerEnd: PropTypes.func.isRequired,\n responseContainers: PropTypes.array.isRequired,\n showDashedBorder: PropTypes.bool,\n};\n\nImageContainer.defaultProps = {\n classes: {},\n duplicateResponses: false,\n};\n\nconst styles = (theme) => ({\n base: {\n margin: theme.spacing.unit * 2,\n position: 'relative',\n },\n});\nexport default withStyles(styles)(ImageContainer);\n"],"file":"image-container.js"}
|
package/lib/image-drop-target.js
CHANGED
|
@@ -30,10 +30,11 @@ var ImageDropTarget = function ImageDropTarget(_ref) {
|
|
|
30
30
|
duplicateResponses = _ref.duplicateResponses,
|
|
31
31
|
onDragAnswerBegin = _ref.onDragAnswerBegin,
|
|
32
32
|
onDragAnswerEnd = _ref.onDragAnswerEnd,
|
|
33
|
+
showDashedBorder = _ref.showDashedBorder,
|
|
33
34
|
connectDropTarget = _ref.connectDropTarget,
|
|
34
35
|
isOverCurrent = _ref.isOverCurrent;
|
|
35
36
|
return connectDropTarget( /*#__PURE__*/_react["default"].createElement("div", {
|
|
36
|
-
className: "\n ".concat(classes.responseContainer, "\n ").concat(draggingElement.id ? classes.responseContainerActive : '', "\n "),
|
|
37
|
+
className: "\n ".concat(classes.responseContainer, "\n ").concat(showDashedBorder && !draggingElement.id ? classes.responseContainerDashed : '', "\n ").concat(draggingElement.id ? classes.responseContainerActive : '', "\n "),
|
|
37
38
|
style: containerStyle
|
|
38
39
|
}, isOverCurrent && !duplicateResponses ? /*#__PURE__*/_react["default"].createElement("div", {
|
|
39
40
|
className: classes.dragOverContainer
|
|
@@ -67,7 +68,8 @@ ImageDropTarget.propTypes = {
|
|
|
67
68
|
draggingElement: _propTypes["default"].object.isRequired,
|
|
68
69
|
onDragAnswerBegin: _propTypes["default"].func.isRequired,
|
|
69
70
|
onDragAnswerEnd: _propTypes["default"].func.isRequired,
|
|
70
|
-
onDrop: _propTypes["default"].func.isRequired
|
|
71
|
+
onDrop: _propTypes["default"].func.isRequired,
|
|
72
|
+
showDashedBorder: _propTypes["default"].bool
|
|
71
73
|
};
|
|
72
74
|
ImageDropTarget.defaultProps = {
|
|
73
75
|
answer: {},
|
|
@@ -91,6 +93,9 @@ var styles = function styles() {
|
|
|
91
93
|
responseContainerActive: {
|
|
92
94
|
border: "2px solid ".concat(_renderUi.color.text()),
|
|
93
95
|
backgroundColor: 'rgba(230, 242, 252, .8)'
|
|
96
|
+
},
|
|
97
|
+
responseContainerDashed: {
|
|
98
|
+
border: "2px dashed ".concat(_renderUi.color.text())
|
|
94
99
|
}
|
|
95
100
|
};
|
|
96
101
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/image-drop-target.jsx"],"names":["ImageDropTarget","answers","canDrag","classes","containerStyle","draggingElement","duplicateResponses","onDragAnswerBegin","onDragAnswerEnd","connectDropTarget","isOverCurrent","responseContainer","id","responseContainerActive","dragOverContainer","__html","value","length","map","answer","isCorrect","undefined","borderWidth","propTypes","PropTypes","object","bool","isRequired","func","onDrop","defaultProps","styles","display","flexWrap","backgroundColor","color","background","pointerEvents","width","position","border","text","Styled","tileSource","hover","props","monitor","isOver","shallow","drop","item","getItem","c","types","response","connect","dropTarget"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,eAAe,GAAG,SAAlBA,eAAkB;AAAA,MACtBC,OADsB,QACtBA,OADsB;AAAA,MAEtBC,OAFsB,QAEtBA,OAFsB;AAAA,MAGtBC,OAHsB,QAGtBA,OAHsB;AAAA,MAItBC,cAJsB,QAItBA,cAJsB;AAAA,MAKtBC,eALsB,QAKtBA,eALsB;AAAA,MAMtBC,kBANsB,QAMtBA,kBANsB;AAAA,MAOtBC,iBAPsB,QAOtBA,iBAPsB;AAAA,MAQtBC,eARsB,QAQtBA,eARsB;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/image-drop-target.jsx"],"names":["ImageDropTarget","answers","canDrag","classes","containerStyle","draggingElement","duplicateResponses","onDragAnswerBegin","onDragAnswerEnd","showDashedBorder","connectDropTarget","isOverCurrent","responseContainer","id","responseContainerDashed","responseContainerActive","dragOverContainer","__html","value","length","map","answer","isCorrect","undefined","borderWidth","propTypes","PropTypes","object","bool","isRequired","func","onDrop","defaultProps","styles","display","flexWrap","backgroundColor","color","background","pointerEvents","width","position","border","text","Styled","tileSource","hover","props","monitor","isOver","shallow","drop","item","getItem","c","types","response","connect","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DropTarget } from '@pie-lib/drag';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\n\nimport PossibleResponse from './possible-response';\nimport c from './constants';\n\nconst ImageDropTarget = ({\n answers,\n canDrag,\n classes,\n containerStyle,\n draggingElement,\n duplicateResponses,\n onDragAnswerBegin,\n onDragAnswerEnd,\n showDashedBorder,\n // dnd-related props\n connectDropTarget,\n isOverCurrent,\n}) =>\n connectDropTarget(\n <div\n className={`\n ${classes.responseContainer}\n ${showDashedBorder && !draggingElement.id ? classes.responseContainerDashed : ''}\n ${draggingElement.id ? classes.responseContainerActive : ''}\n `}\n style={containerStyle}\n >\n {/* HOVER */}\n {isOverCurrent && !duplicateResponses ? (\n <div className={classes.dragOverContainer}>\n <span dangerouslySetInnerHTML={{ __html: draggingElement.value }} />\n </div>\n ) : null}\n\n {/* EXISTING ANSWERS */}\n {(!isOverCurrent && answers.length) || (duplicateResponses && answers.length) ? (\n <div className={classes.answers}>\n {answers.map((answer) => (\n <PossibleResponse\n canDrag={canDrag}\n containerStyle={answer.isCorrect === undefined ? { borderWidth: 0 } : {}}\n key={answer.id}\n data={answer}\n onDragBegin={() => onDragAnswerBegin(answer)}\n onDragEnd={onDragAnswerEnd}\n />\n ))}\n </div>\n ) : null}\n </div>,\n );\n\nImageDropTarget.propTypes = {\n answer: PropTypes.object,\n canDrag: PropTypes.bool.isRequired,\n classes: PropTypes.object,\n containerStyle: PropTypes.object.isRequired,\n draggingElement: PropTypes.object.isRequired,\n onDragAnswerBegin: PropTypes.func.isRequired,\n onDragAnswerEnd: PropTypes.func.isRequired,\n onDrop: PropTypes.func.isRequired,\n showDashedBorder: PropTypes.bool,\n};\n\nImageDropTarget.defaultProps = {\n answer: {},\n classes: {},\n};\n\nconst styles = () => ({\n answers: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n dragOverContainer: {\n backgroundColor: color.background(),\n pointerEvents: 'none',\n width: 'fit-content',\n },\n responseContainer: {\n position: 'absolute',\n },\n responseContainerActive: {\n border: `2px solid ${color.text()}`,\n backgroundColor: 'rgba(230, 242, 252, .8)',\n },\n responseContainerDashed: {\n border: `2px dashed ${color.text()}`,\n },\n});\n\nconst Styled = withStyles(styles)(ImageDropTarget);\n\nconst tileSource = {\n hover(props, monitor) {\n monitor.isOver({ shallow: true });\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n props.onDrop(item);\n },\n};\n\nexport default DropTarget(c.types.response, tileSource, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOverCurrent: monitor.isOver({ shallow: true }),\n}))(Styled);\n"],"file":"image-drop-target.js"}
|
package/lib/index.js
CHANGED
|
@@ -31,7 +31,7 @@ var _root = _interopRequireDefault(require("./root"));
|
|
|
31
31
|
|
|
32
32
|
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); }; }
|
|
33
33
|
|
|
34
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
34
|
+
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; } }
|
|
35
35
|
|
|
36
36
|
var ImageClozeAssociation = /*#__PURE__*/function (_HTMLElement) {
|
|
37
37
|
(0, _inherits2["default"])(ImageClozeAssociation, _HTMLElement);
|
|
@@ -62,6 +62,9 @@ var ImageClozeAssociation = /*#__PURE__*/function (_HTMLElement) {
|
|
|
62
62
|
}
|
|
63
63
|
}, {
|
|
64
64
|
key: "session",
|
|
65
|
+
get: function get() {
|
|
66
|
+
return this._session;
|
|
67
|
+
},
|
|
65
68
|
set: function set(s) {
|
|
66
69
|
if (s && !s.answers) {
|
|
67
70
|
s.answers = [];
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["ImageClozeAssociation","m","_model","dispatchEvent","ModelSetEvent","tagName","toLowerCase","isComplete","_render","_session","Array","isArray","answers","length","s","data","SessionChangedEvent","el","React","createElement","ImageClozeAssociationComponent","model","session","updateAnswer","bind","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["ImageClozeAssociation","m","_model","dispatchEvent","ModelSetEvent","tagName","toLowerCase","isComplete","_render","_session","Array","isArray","answers","length","s","data","SessionChangedEvent","el","React","createElement","ImageClozeAssociationComponent","model","session","updateAnswer","bind","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;IAEqBA,qB;;;;;;;;;;;;SACnB,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;AAEA,WAAKE,aAAL,CAAmB,IAAIC,8BAAJ,CAAkB,KAAKC,OAAL,CAAaC,WAAb,EAAlB,EAA8C,KAAKC,UAAL,EAA9C,EAAiE,CAAC,CAAC,KAAKL,MAAxE,CAAnB;;AACA,WAAKM,OAAL;AACD;;;WAED,sBAAa;AACX,UAAI,CAAC,KAAKC,QAAV,EAAoB;AAClB,eAAO,KAAP;AACD;;AAED,aAAOC,KAAK,CAACC,OAAN,CAAc,KAAKF,QAAL,CAAcG,OAA5B,KAAwC,KAAKH,QAAL,CAAcG,OAAd,CAAsBC,MAAtB,GAA+B,CAA9E;AACD;;;SAWD,eAAc;AACZ,aAAO,KAAKJ,QAAZ;AACD,K;SAXD,aAAYK,CAAZ,EAAe;AACb,UAAIA,CAAC,IAAI,CAACA,CAAC,CAACF,OAAZ,EAAqB;AACnBE,QAAAA,CAAC,CAACF,OAAF,GAAY,EAAZ;AACD;;AAED,WAAKH,QAAL,GAAgBK,CAAhB;;AACA,WAAKN,OAAL;AACD;;;WAMD,sBAAaO,IAAb,EAAmB;AACjB,WAAKN,QAAL,CAAcG,OAAd,GAAwBG,IAAxB;AAEA,WAAKZ,aAAL,CAAmB,IAAIa,oCAAJ,CAAwB,KAAKX,OAAL,CAAaC,WAAb,EAAxB,EAAoD,KAAKC,UAAL,EAApD,CAAnB;;AAEA,WAAKC,OAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAED,mBAAU;AAAA;;AACR,UAAI,KAAKN,MAAL,IAAe,KAAKO,QAAxB,EAAkC;AAChC,YAAMQ,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAAoD;AAC7DC,UAAAA,KAAK,EAAE,KAAKnB,MADiD;AAE7DoB,UAAAA,OAAO,EAAE,KAAKb,QAF+C;AAG7Dc,UAAAA,YAAY,EAAE,KAAKA,YAAL,CAAkBC,IAAlB,CAAuB,IAAvB;AAH+C,SAApD,CAAX;;AAMAC,6BAASC,MAAT,CAAgBT,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,yCAAW,KAAX;AACD,SAFD;AAGD;AACF;;;kDArDgDU,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { renderMath } from '@pie-lib/math-rendering';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\n\nimport ImageClozeAssociationComponent from './root';\n\nexport default class ImageClozeAssociation extends HTMLElement {\n set model(m) {\n this._model = m;\n\n this.dispatchEvent(new ModelSetEvent(this.tagName.toLowerCase(), this.isComplete(), !!this._model));\n this._render();\n }\n\n isComplete() {\n if (!this._session) {\n return false;\n }\n\n return Array.isArray(this._session.answers) && this._session.answers.length > 0;\n }\n\n set session(s) {\n if (s && !s.answers) {\n s.answers = [];\n }\n\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n updateAnswer(data) {\n this._session.answers = data;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.isComplete()));\n\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (this._model && this._session) {\n const el = React.createElement(ImageClozeAssociationComponent, {\n model: this._model,\n session: this._session,\n updateAnswer: this.updateAnswer.bind(this),\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n }\n}\n"],"file":"index.js"}
|
|
@@ -29,7 +29,7 @@ var _evaluationIcon = _interopRequireDefault(require("./evaluation-icon"));
|
|
|
29
29
|
|
|
30
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
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 {
|
|
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
33
|
|
|
34
34
|
var InteractiveSection = /*#__PURE__*/function (_React$Component) {
|
|
35
35
|
(0, _inherits2["default"])(InteractiveSection, _React$Component);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interactive-section.jsx"],"names":["InteractiveSection","props","classes","responseCorrect","styleProp","undefined","children","classname","getClassname","evaluationStyle","display","margin","marginTop","React","Component","propTypes","PropTypes","object","oneOfType","element","array","isRequired","bool","number","defaultProps","styles","interactiveDefault","border","color","disabled","interactiveCorrect","correct","interactiveIncorrect","incorrect"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;IAEMA,kB;;;;;;;;;;;;WACJ,wBAAe;
|
|
1
|
+
{"version":3,"sources":["../src/interactive-section.jsx"],"names":["InteractiveSection","props","classes","responseCorrect","styleProp","undefined","children","classname","getClassname","evaluationStyle","display","margin","marginTop","React","Component","propTypes","PropTypes","object","oneOfType","element","array","isRequired","bool","number","defaultProps","styles","interactiveDefault","border","color","disabled","interactiveCorrect","correct","interactiveIncorrect","incorrect"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;;;;;IAEMA,kB;;;;;;;;;;;;WACJ,wBAAe;AACb,wBAAqC,KAAKC,KAA1C;AAAA,UAAQC,OAAR,eAAQA,OAAR;AAAA,UAAiBC,eAAjB,eAAiBA,eAAjB;AACA,UAAIC,SAAJ;;AAEA,cAAQD,eAAR;AACE,aAAKE,SAAL;AACED,UAAAA,SAAS,GAAG,oBAAZ;AACA;;AACF,aAAK,IAAL;AACEA,UAAAA,SAAS,GAAG,oBAAZ;AACA;;AACF;AACEA,UAAAA,SAAS,GAAG,sBAAZ;AACA;AATJ;;AAWA,aAAOF,OAAO,CAACE,SAAD,CAAd;AACD;;;WAED,kBAAS;AACP,yBAAsC,KAAKH,KAA3C;AAAA,UAAQK,QAAR,gBAAQA,QAAR;AAAA,UAAkBH,eAAlB,gBAAkBA,eAAlB;AACA,UAAMI,SAAS,GAAG,KAAKC,YAAL,EAAlB;AACA,UAAMC,eAAe,GAAG;AACtBC,QAAAA,OAAO,EAAE,MADa;AAEtBC,QAAAA,MAAM,EAAE,QAFc;AAGtBC,QAAAA,SAAS,EAAE,CAAC;AAHU,OAAxB;AAMA,0BACE;AAAK,QAAA,SAAS,EAAEL;AAAhB,sBACE,gCAAC,0BAAD;AAAgB,QAAA,cAAc,EAAEE,eAAhC;AAAiD,QAAA,MAAM,MAAvD;AAAwD,QAAA,SAAS,EAAEN;AAAnE,QADF,EAEGG,QAFH,CADF;AAMD;;;EAlC8BO,kBAAMC,S;;AAqCvCd,kBAAkB,CAACe,SAAnB,GAA+B;AAC7Bb,EAAAA,OAAO,EAAEc,sBAAUC,MADU;AAE7BX,EAAAA,QAAQ,EAAEU,sBAAUE,SAAV,CAAoB,CAACF,sBAAUG,OAAX,EAAoBH,sBAAUI,KAA9B,CAApB,EAA0DC,UAFvC;AAG7BlB,EAAAA,eAAe,EAAEa,sBAAUE,SAAV,CAAoB,CAACF,sBAAUM,IAAX,EAAiBN,sBAAUO,MAA3B,CAApB;AAHY,CAA/B;AAMAvB,kBAAkB,CAACwB,YAAnB,GAAkC;AAChCtB,EAAAA,OAAO,EAAE,EADuB;AAEhCC,EAAAA,eAAe,EAAEE;AAFe,CAAlC;;AAKA,IAAMoB,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBC,IAAAA,kBAAkB,EAAE;AAClBC,MAAAA,MAAM,sBAAeC,gBAAMC,QAAN,EAAf;AADY,KADA;AAIpBC,IAAAA,kBAAkB,EAAE;AAClBH,MAAAA,MAAM,sBAAeC,gBAAMG,OAAN,EAAf;AADY,KAJA;AAOpBC,IAAAA,oBAAoB,EAAE;AACpBL,MAAAA,MAAM,sBAAeC,gBAAMK,SAAN,EAAf;AADc;AAPF,GAAP;AAAA,CAAf;;eAYe,sBAAWR,MAAX,EAAmBzB,kBAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core';\nimport { color } from '@pie-lib/render-ui';\n\nimport EvaluationIcon from './evaluation-icon';\n\nclass InteractiveSection extends React.Component {\n getClassname() {\n const { classes, responseCorrect } = this.props;\n let styleProp;\n\n switch (responseCorrect) {\n case undefined:\n styleProp = 'interactiveDefault';\n break;\n case true:\n styleProp = 'interactiveCorrect';\n break;\n default:\n styleProp = 'interactiveIncorrect';\n break;\n }\n return classes[styleProp];\n }\n\n render() {\n const { children, responseCorrect } = this.props;\n const classname = this.getClassname();\n const evaluationStyle = {\n display: 'flex',\n margin: '0 auto',\n marginTop: -14,\n };\n\n return (\n <div className={classname}>\n <EvaluationIcon containerStyle={evaluationStyle} filled isCorrect={responseCorrect} />\n {children}\n </div>\n );\n }\n}\n\nInteractiveSection.propTypes = {\n classes: PropTypes.object,\n children: PropTypes.oneOfType([PropTypes.element, PropTypes.array]).isRequired,\n responseCorrect: PropTypes.oneOfType([PropTypes.bool, PropTypes.number]),\n};\n\nInteractiveSection.defaultProps = {\n classes: {},\n responseCorrect: undefined,\n};\n\nconst styles = () => ({\n interactiveDefault: {\n border: `1px solid ${color.disabled()}`,\n },\n interactiveCorrect: {\n border: `2px solid ${color.correct()}`,\n },\n interactiveIncorrect: {\n border: `2px solid ${color.incorrect()}`,\n },\n});\n\nexport default withStyles(styles)(InteractiveSection);\n"],"file":"interactive-section.js"}
|
package/lib/possible-response.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = void 0;
|
|
8
|
+
exports["default"] = exports.PossibleResponse = void 0;
|
|
9
9
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
|
|
@@ -31,13 +31,15 @@ var _styles = require("@material-ui/core/styles");
|
|
|
31
31
|
|
|
32
32
|
var _renderUi = require("@pie-lib/render-ui");
|
|
33
33
|
|
|
34
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
35
|
+
|
|
34
36
|
var _evaluationIcon = _interopRequireDefault(require("./evaluation-icon"));
|
|
35
37
|
|
|
36
38
|
var _constants = _interopRequireDefault(require("./constants"));
|
|
37
39
|
|
|
38
40
|
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); }; }
|
|
39
41
|
|
|
40
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
42
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
41
43
|
|
|
42
44
|
var PossibleResponse = /*#__PURE__*/function (_React$Component) {
|
|
43
45
|
(0, _inherits2["default"])(PossibleResponse, _React$Component);
|
|
@@ -89,15 +91,16 @@ var PossibleResponse = /*#__PURE__*/function (_React$Component) {
|
|
|
89
91
|
data = _this$props2.data;
|
|
90
92
|
var additionalClass = this.getClassname();
|
|
91
93
|
var evaluationStyle = {
|
|
92
|
-
alignSelf: 'center',
|
|
93
94
|
fontSize: 14,
|
|
94
|
-
|
|
95
|
+
position: 'absolute',
|
|
96
|
+
bottom: '3px',
|
|
97
|
+
right: '3px'
|
|
95
98
|
};
|
|
96
99
|
return connectDragSource( /*#__PURE__*/_react["default"].createElement("div", {
|
|
97
100
|
className: "".concat(classes.base, " ").concat(additionalClass),
|
|
98
101
|
style: containerStyle
|
|
99
102
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
100
|
-
className: classes.span,
|
|
103
|
+
className: (0, _classnames["default"])([classes.span, (0, _defineProperty2["default"])({}, classes.hiddenSpan, data.hidden)]),
|
|
101
104
|
dangerouslySetInnerHTML: {
|
|
102
105
|
__html: data.value
|
|
103
106
|
}
|
|
@@ -110,6 +113,7 @@ var PossibleResponse = /*#__PURE__*/function (_React$Component) {
|
|
|
110
113
|
return PossibleResponse;
|
|
111
114
|
}(_react["default"].Component);
|
|
112
115
|
|
|
116
|
+
exports.PossibleResponse = PossibleResponse;
|
|
113
117
|
PossibleResponse.propTypes = {
|
|
114
118
|
canDrag: _propTypes["default"].bool.isRequired,
|
|
115
119
|
classes: _propTypes["default"].object,
|
|
@@ -128,9 +132,14 @@ PossibleResponse.defaultProps = {
|
|
|
128
132
|
var styles = function styles() {
|
|
129
133
|
return {
|
|
130
134
|
base: {
|
|
135
|
+
position: 'relative',
|
|
131
136
|
backgroundColor: _renderUi.color.background(),
|
|
132
137
|
border: "1px solid ".concat(_renderUi.color.primary()),
|
|
133
138
|
display: 'flex',
|
|
139
|
+
alignItems: 'center',
|
|
140
|
+
justifyContent: 'center',
|
|
141
|
+
minHeight: '28px',
|
|
142
|
+
padding: '0 3px',
|
|
134
143
|
marginLeft: 2,
|
|
135
144
|
marginTop: 2,
|
|
136
145
|
width: 'fit-content'
|
|
@@ -143,6 +152,9 @@ var styles = function styles() {
|
|
|
143
152
|
},
|
|
144
153
|
span: {
|
|
145
154
|
backgroundColor: _renderUi.color.background()
|
|
155
|
+
},
|
|
156
|
+
hiddenSpan: {
|
|
157
|
+
visibility: 'hidden'
|
|
146
158
|
}
|
|
147
159
|
};
|
|
148
160
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/possible-response.jsx"],"names":["PossibleResponse","props","classes","isCorrect","data","styleProp","undefined","connectDragSource","containerStyle","additionalClass","getClassname","evaluationStyle","
|
|
1
|
+
{"version":3,"sources":["../src/possible-response.jsx"],"names":["PossibleResponse","props","classes","isCorrect","data","styleProp","undefined","connectDragSource","containerStyle","additionalClass","getClassname","evaluationStyle","fontSize","position","bottom","right","base","span","hiddenSpan","hidden","__html","value","React","Component","propTypes","canDrag","PropTypes","bool","isRequired","object","func","onDragBegin","onDragEnd","defaultProps","styles","backgroundColor","color","background","border","primary","display","alignItems","justifyContent","minHeight","padding","marginLeft","marginTop","width","baseCorrect","correct","baseIncorrect","incorrect","visibility","Styled","tileSource","beginDrag","id","containerIndex","endDrag","c","types","response","connect","monitor","dragSource","isDragging"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DragSource } from '@pie-lib/drag';\nimport { withStyles } from '@material-ui/core/styles';\nimport { color } from '@pie-lib/render-ui';\nimport classNames from 'classnames';\n\nimport EvaluationIcon from './evaluation-icon';\nimport c from './constants';\n\nexport class PossibleResponse extends React.Component {\n getClassname = () => {\n const {\n classes,\n data: { isCorrect },\n } = this.props;\n let styleProp;\n\n switch (isCorrect) {\n case undefined:\n styleProp = null;\n break;\n case true:\n styleProp = 'baseCorrect';\n break;\n default:\n styleProp = 'baseIncorrect';\n break;\n }\n return styleProp ? classes[styleProp] : '';\n };\n\n render() {\n const { classes, connectDragSource, containerStyle, data } = this.props;\n const additionalClass = this.getClassname();\n const evaluationStyle = {\n fontSize: 14,\n position: 'absolute',\n bottom: '3px',\n right: '3px',\n };\n\n return connectDragSource(\n <div className={`${classes.base} ${additionalClass}`} style={containerStyle}>\n <span\n className={classNames([classes.span, { [classes.hiddenSpan]: data.hidden }])}\n dangerouslySetInnerHTML={{ __html: data.value }}\n />\n <EvaluationIcon isCorrect={data.isCorrect} containerStyle={evaluationStyle} />\n </div>,\n );\n }\n}\n\nPossibleResponse.propTypes = {\n canDrag: PropTypes.bool.isRequired,\n classes: PropTypes.object,\n connectDragSource: PropTypes.func,\n containerStyle: PropTypes.object,\n data: PropTypes.object.isRequired,\n onDragBegin: PropTypes.func.isRequired,\n onDragEnd: PropTypes.func.isRequired,\n};\n\nPossibleResponse.defaultProps = {\n classes: {},\n connectDragSource: () => {},\n containerStyle: {},\n};\n\nconst styles = () => ({\n base: {\n position: 'relative',\n backgroundColor: color.background(),\n border: `1px solid ${color.primary()}`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '28px',\n padding: '0 3px',\n marginLeft: 2,\n marginTop: 2,\n width: 'fit-content',\n },\n baseCorrect: {\n border: `2px solid ${color.correct()}`,\n },\n baseIncorrect: {\n border: `2px solid ${color.incorrect()}`,\n },\n span: {\n backgroundColor: color.background(),\n },\n hiddenSpan: {\n visibility: 'hidden',\n },\n});\n\nconst Styled = withStyles(styles)(PossibleResponse);\n\nconst tileSource = {\n canDrag(props) {\n const { canDrag } = props;\n return canDrag;\n },\n beginDrag(props) {\n const {\n data,\n data: { id, value, containerIndex },\n onDragBegin,\n } = props;\n onDragBegin(data);\n return {\n id,\n value,\n containerIndex,\n };\n },\n endDrag(props) {\n props.onDragEnd();\n },\n};\n\nexport default DragSource(c.types.response, tileSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(Styled);\n"],"file":"possible-response.js"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/possible-responses.jsx"],"names":["PossibleResponses","canDrag","classes","connectDropTarget","data","isOverCurrent","onDragBegin","onDragEnd","base","active","map","item","id","propTypes","PropTypes","bool","isRequired","object","array","onAnswerRemove","func","defaultProps","styles","theme","border","color","primary","backgroundColor","background","display","flexWrap","justifyContent","padding","spacing","unit","Styled","tileSource","hover","props","monitor","isOver","shallow","drop","getItem","c","types","response","connect","dropTarget"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,iBAAiB,GAAG,SAApBA,iBAAoB;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/possible-responses.jsx"],"names":["PossibleResponses","canDrag","classes","connectDropTarget","data","isOverCurrent","onDragBegin","onDragEnd","base","active","map","item","id","propTypes","PropTypes","bool","isRequired","object","array","onAnswerRemove","func","defaultProps","styles","theme","border","color","primary","backgroundColor","background","display","flexWrap","justifyContent","padding","spacing","unit","Styled","tileSource","hover","props","monitor","isOver","shallow","drop","getItem","c","types","response","connect","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DropTarget } from '@pie-lib/drag';\nimport { withStyles } from '@material-ui/core';\nimport { color } from '@pie-lib/render-ui';\n\nimport PossibleResponse from './possible-response';\nimport c from './constants';\n\nconst PossibleResponses = ({ canDrag, classes, connectDropTarget, data, isOverCurrent, onDragBegin, onDragEnd }) =>\n connectDropTarget(\n <div className={`${classes.base} ${isOverCurrent ? classes.active : ''}`}>\n {data.map((item) => (\n <PossibleResponse canDrag={canDrag} key={item.id} data={item} onDragBegin={onDragBegin} onDragEnd={onDragEnd} />\n ))}\n </div>,\n );\n\nPossibleResponses.propTypes = {\n canDrag: PropTypes.bool.isRequired,\n classes: PropTypes.object,\n data: PropTypes.array.isRequired,\n onAnswerRemove: PropTypes.func.isRequired,\n onDragBegin: PropTypes.func.isRequired,\n onDragEnd: PropTypes.func.isRequired,\n};\n\nPossibleResponses.defaultProps = {\n classes: {},\n};\n\nconst styles = (theme) => ({\n active: {\n border: `1px solid ${color.primary()}`,\n },\n base: {\n backgroundColor: color.background(),\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center',\n padding: theme.spacing.unit * 2,\n },\n});\n\nconst Styled = withStyles(styles)(PossibleResponses);\n\nconst tileSource = {\n hover(props, monitor) {\n monitor.isOver({ shallow: true });\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n props.onAnswerRemove(item);\n },\n};\n\nexport default DropTarget(c.types.response, tileSource, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOverCurrent: monitor.isOver({ shallow: true }),\n}))(Styled);\n"],"file":"possible-responses.js"}
|