@pie-element/match-list 1.15.1-beta.0 → 1.15.1-beta.1

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/lib/answer.js DELETED
@@ -1,275 +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"] = exports.DropAnswer = exports.DragAnswer = exports.Answer = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
- var _reactDnd = require("react-dnd");
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _classnames = _interopRequireDefault(require("classnames"));
29
-
30
- var _debug = _interopRequireDefault(require("debug"));
31
-
32
- var _styles = require("@material-ui/core/styles");
33
-
34
- var _drag = require("@pie-lib/drag");
35
-
36
- var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
37
-
38
- var _renderUi = require("@pie-lib/render-ui");
39
-
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); }; }
41
-
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; } }
43
-
44
- var log = (0, _debug["default"])('pie-elements:match-title:answer');
45
- var Holder = (0, _styles.withStyles)(function () {
46
- return {
47
- number: {
48
- width: '100%',
49
- fontSize: '18px',
50
- textAlign: 'center',
51
- color: 'rgba(0,0,0,0.6)'
52
- },
53
- placeholder: {
54
- display: 'flex',
55
- padding: '0',
56
- alignItems: 'center',
57
- justifyContent: 'center',
58
- height: '40px'
59
- }
60
- };
61
- })(function (_ref) {
62
- var classes = _ref.classes,
63
- index = _ref.index,
64
- isOver = _ref.isOver,
65
- disabled = _ref.disabled;
66
- return /*#__PURE__*/_react["default"].createElement(_drag.PlaceHolder, {
67
- className: classes.placeholder,
68
- disabled: disabled,
69
- isOver: isOver
70
- }, index !== undefined && /*#__PURE__*/_react["default"].createElement("div", {
71
- className: classes.number
72
- }, index));
73
- });
74
- Holder.propTypes = {
75
- index: _propTypes["default"].number,
76
- isOver: _propTypes["default"].bool,
77
- disabled: _propTypes["default"].bool
78
- };
79
- var AnswerContent = (0, _styles.withStyles)({
80
- over: {
81
- opacity: 0.2
82
- },
83
- answerContent: {
84
- color: _renderUi.color.text(),
85
- backgroundColor: _renderUi.color.background(),
86
- border: '1px solid #c2c2c2',
87
- // TODO hardcoded color
88
- cursor: 'pointer',
89
- width: '100%',
90
- padding: '10px',
91
- boxSizing: 'border-box',
92
- overflow: 'hidden',
93
- transition: 'opacity 200ms linear',
94
- wordBreak: 'break-word'
95
- },
96
- dragging: {
97
- opacity: 0.5
98
- },
99
- disabled: {
100
- backgroundColor: _renderUi.color.background(),
101
- opacity: 0.6,
102
- cursor: 'not-allowed'
103
- },
104
- incorrect: {
105
- border: "1px solid ".concat(_renderUi.color.incorrect())
106
- },
107
- correct: {
108
- border: "1px solid ".concat(_renderUi.color.correct())
109
- }
110
- })(function (props) {
111
- var classes = props.classes,
112
- isDragging = props.isDragging,
113
- isOver = props.isOver,
114
- title = props.title,
115
- disabled = props.disabled,
116
- empty = props.empty,
117
- outcome = props.outcome,
118
- guideIndex = props.guideIndex,
119
- type = props.type;
120
-
121
- if (empty) {
122
- return /*#__PURE__*/_react["default"].createElement(Holder, {
123
- index: guideIndex,
124
- isOver: isOver,
125
- disabled: disabled,
126
- type: type
127
- });
128
- } else {
129
- var names = (0, _classnames["default"])(classes.answerContent, isDragging && !disabled && classes.dragging, isOver && !disabled && classes.over, disabled && classes.disabled, outcome && classes[outcome]);
130
- return /*#__PURE__*/_react["default"].createElement("div", {
131
- className: names,
132
- dangerouslySetInnerHTML: {
133
- __html: title
134
- }
135
- });
136
- }
137
- });
138
-
139
- var Answer = /*#__PURE__*/function (_React$Component) {
140
- (0, _inherits2["default"])(Answer, _React$Component);
141
-
142
- var _super = _createSuper(Answer);
143
-
144
- function Answer() {
145
- (0, _classCallCheck2["default"])(this, Answer);
146
- return _super.apply(this, arguments);
147
- }
148
-
149
- (0, _createClass2["default"])(Answer, [{
150
- key: "render",
151
- value: function render() {
152
- var _classNames;
153
-
154
- var _this$props = this.props,
155
- id = _this$props.id,
156
- title = _this$props.title,
157
- isDragging = _this$props.isDragging,
158
- className = _this$props.className,
159
- connectDragSource = _this$props.connectDragSource,
160
- connectDropTarget = _this$props.connectDropTarget,
161
- disabled = _this$props.disabled,
162
- classes = _this$props.classes,
163
- isOver = _this$props.isOver,
164
- type = _this$props.type,
165
- correct = _this$props.correct;
166
- log('[render], props: ', this.props);
167
- var name = (0, _classnames["default"])(className, classes.answer, (_classNames = {}, (0, _defineProperty2["default"])(_classNames, classes.correct, correct === true), (0, _defineProperty2["default"])(_classNames, classes.incorrect, correct === false), _classNames));
168
-
169
- var content = /*#__PURE__*/_react["default"].createElement("div", {
170
- className: name
171
- }, /*#__PURE__*/_react["default"].createElement(AnswerContent, {
172
- title: title,
173
- id: id,
174
- isOver: isOver,
175
- empty: (0, _isEmpty["default"])(title),
176
- isDragging: isDragging,
177
- disabled: disabled,
178
- type: type
179
- }));
180
-
181
- var droppable = connectDropTarget ? connectDropTarget(content) : content;
182
- return connectDragSource ? connectDragSource(droppable) : droppable;
183
- }
184
- }]);
185
- return Answer;
186
- }(_react["default"].Component);
187
-
188
- exports.Answer = Answer;
189
- (0, _defineProperty2["default"])(Answer, "propTypes", {
190
- className: _propTypes["default"].string,
191
- connectDragSource: _propTypes["default"].func,
192
- connectDropTarget: _propTypes["default"].func,
193
- isDragging: _propTypes["default"].bool.isRequired,
194
- id: _propTypes["default"].any,
195
- title: _propTypes["default"].string,
196
- isOver: _propTypes["default"].bool,
197
- classes: _propTypes["default"].object.isRequired,
198
- empty: _propTypes["default"].bool,
199
- type: _propTypes["default"].string,
200
- disabled: _propTypes["default"].bool,
201
- correct: _propTypes["default"].bool
202
- });
203
- var StyledAnswer = (0, _styles.withStyles)({
204
- answer: {
205
- boxSizing: 'border-box',
206
- minHeight: 40,
207
- minWidth: '100px',
208
- overflow: 'hidden',
209
- margin: '10px 0',
210
- padding: '0px',
211
- textAlign: 'center'
212
- },
213
- incorrect: {
214
- border: "1px solid var(--feedback-incorrect-bg-color, ".concat(_renderUi.color.incorrect(), ")")
215
- },
216
- correct: {
217
- border: "1px solid var(--feedback-correct-bg-color, ".concat(_renderUi.color.correct(), ")")
218
- }
219
- })(Answer);
220
- var answerTarget = {
221
- drop: function drop(props, monitor) {
222
- var draggedItem = monitor.getItem();
223
-
224
- if (draggedItem.instanceId === props.instanceId) {
225
- props.onPlaceAnswer(props.promptId, draggedItem.id);
226
- }
227
- },
228
- canDrop: function canDrop(props, monitor) {
229
- var draggedItem = monitor.getItem();
230
- return draggedItem.instanceId === props.instanceId;
231
- }
232
- };
233
- var DropAnswer = (0, _reactDnd.DropTarget)('Answer', answerTarget, function (connect, monitor) {
234
- return {
235
- connectDropTarget: connect.dropTarget(),
236
- isOver: monitor.isOver()
237
- };
238
- })(StyledAnswer);
239
- exports.DropAnswer = DropAnswer;
240
- var answerSource = {
241
- canDrag: function canDrag(props) {
242
- return props.draggable && !props.disabled;
243
- },
244
- beginDrag: function beginDrag(props) {
245
- return {
246
- id: props.id,
247
- type: props.type,
248
- instanceId: props.instanceId,
249
- promptId: props.promptId
250
- };
251
- },
252
- endDrag: function endDrag(props, monitor) {
253
- if (!monitor.didDrop()) {
254
- if (props.type === 'target') {
255
- props.onRemoveChoice(monitor.getItem());
256
- }
257
- }
258
- }
259
- };
260
- var DragAnswer = (0, _reactDnd.DragSource)('Answer', answerSource, function (connect, monitor) {
261
- return {
262
- connectDragSource: connect.dragSource(),
263
- isDragging: monitor.isDragging()
264
- };
265
- })(StyledAnswer);
266
- exports.DragAnswer = DragAnswer;
267
- var DragAndDropAnswer = (0, _reactDnd.DragSource)('Answer', answerSource, function (connect, monitor) {
268
- return {
269
- connectDragSource: connect.dragSource(),
270
- isDragging: monitor.isDragging()
271
- };
272
- })(DropAnswer);
273
- var _default = DragAndDropAnswer;
274
- exports["default"] = _default;
275
- //# sourceMappingURL=answer.js.map
package/lib/answer.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/answer.js"],"names":["log","Holder","number","width","fontSize","textAlign","color","placeholder","display","padding","alignItems","justifyContent","height","classes","index","isOver","disabled","undefined","propTypes","PropTypes","bool","AnswerContent","over","opacity","answerContent","text","backgroundColor","background","border","cursor","boxSizing","overflow","transition","wordBreak","dragging","incorrect","correct","props","isDragging","title","empty","outcome","guideIndex","type","names","__html","Answer","id","className","connectDragSource","connectDropTarget","name","answer","content","droppable","React","Component","string","func","isRequired","any","object","StyledAnswer","minHeight","minWidth","margin","answerTarget","drop","monitor","draggedItem","getItem","instanceId","onPlaceAnswer","promptId","canDrop","DropAnswer","connect","dropTarget","answerSource","canDrag","draggable","beginDrag","endDrag","didDrop","onRemoveChoice","DragAnswer","dragSource","DragAndDropAnswer"],"mappings":"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","sourcesContent":["import { DragSource, DropTarget } from 'react-dnd';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport { PlaceHolder } from '@pie-lib/drag';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-elements:match-title:answer');\n\nconst Holder = withStyles(() => ({\n number: {\n width: '100%',\n fontSize: '18px',\n textAlign: 'center',\n color: 'rgba(0,0,0,0.6)',\n },\n placeholder: {\n display: 'flex',\n padding: '0',\n alignItems: 'center',\n justifyContent: 'center',\n height: '40px',\n },\n}))(({ classes, index, isOver, disabled }) => (\n <PlaceHolder className={classes.placeholder} disabled={disabled} isOver={isOver}>\n {index !== undefined && <div className={classes.number}>{index}</div>}\n </PlaceHolder>\n));\n\nHolder.propTypes = {\n index: PropTypes.number,\n isOver: PropTypes.bool,\n disabled: PropTypes.bool,\n};\n\nconst AnswerContent = withStyles({\n over: {\n opacity: 0.2,\n },\n answerContent: {\n color: color.text(),\n backgroundColor: color.background(),\n border: '1px solid #c2c2c2', // TODO hardcoded color\n cursor: 'pointer',\n width: '100%',\n padding: '10px',\n boxSizing: 'border-box',\n overflow: 'hidden',\n transition: 'opacity 200ms linear',\n wordBreak: 'break-word',\n },\n dragging: {\n opacity: 0.5,\n },\n disabled: {\n backgroundColor: color.background(),\n opacity: 0.6,\n cursor: 'not-allowed',\n },\n incorrect: {\n border: `1px solid ${color.incorrect()}`,\n },\n correct: {\n border: `1px solid ${color.correct()}`,\n },\n})((props) => {\n const { classes, isDragging, isOver, title, disabled, empty, outcome, guideIndex, type } = props;\n\n if (empty) {\n return <Holder index={guideIndex} isOver={isOver} disabled={disabled} type={type} />;\n } else {\n const names = classNames(\n classes.answerContent,\n isDragging && !disabled && classes.dragging,\n isOver && !disabled && classes.over,\n disabled && classes.disabled,\n outcome && classes[outcome],\n );\n\n return <div className={names} dangerouslySetInnerHTML={{ __html: title }} />;\n }\n});\n\nexport class Answer extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n connectDragSource: PropTypes.func,\n connectDropTarget: PropTypes.func,\n isDragging: PropTypes.bool.isRequired,\n id: PropTypes.any,\n title: PropTypes.string,\n isOver: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n empty: PropTypes.bool,\n type: PropTypes.string,\n disabled: PropTypes.bool,\n correct: PropTypes.bool,\n };\n\n render() {\n const {\n id,\n title,\n isDragging,\n className,\n connectDragSource,\n connectDropTarget,\n disabled,\n classes,\n isOver,\n type,\n correct,\n } = this.props;\n\n log('[render], props: ', this.props);\n\n const name = classNames(className, classes.answer, {\n [classes.correct]: correct === true,\n [classes.incorrect]: correct === false,\n });\n\n const content = (\n <div className={name}>\n <AnswerContent\n title={title}\n id={id}\n isOver={isOver}\n empty={isEmpty(title)}\n isDragging={isDragging}\n disabled={disabled}\n type={type}\n />\n </div>\n );\n const droppable = connectDropTarget ? connectDropTarget(content) : content;\n\n return connectDragSource ? connectDragSource(droppable) : droppable;\n }\n}\n\nconst StyledAnswer = withStyles({\n answer: {\n boxSizing: 'border-box',\n minHeight: 40,\n minWidth: '100px',\n overflow: 'hidden',\n margin: '10px 0',\n padding: '0px',\n textAlign: 'center',\n },\n incorrect: {\n border: `1px solid var(--feedback-incorrect-bg-color, ${color.incorrect()})`,\n },\n correct: {\n border: `1px solid var(--feedback-correct-bg-color, ${color.correct()})`,\n },\n})(Answer);\n\nconst answerTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.instanceId === props.instanceId) {\n props.onPlaceAnswer(props.promptId, draggedItem.id);\n }\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n },\n};\n\nexport const DropAnswer = DropTarget('Answer', answerTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(StyledAnswer);\n\nconst answerSource = {\n canDrag(props) {\n return props.draggable && !props.disabled;\n },\n beginDrag(props) {\n return {\n id: props.id,\n type: props.type,\n instanceId: props.instanceId,\n promptId: props.promptId,\n };\n },\n endDrag(props, monitor) {\n if (!monitor.didDrop()) {\n if (props.type === 'target') {\n props.onRemoveChoice(monitor.getItem());\n }\n }\n },\n};\n\nexport const DragAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(StyledAnswer);\n\nconst DragAndDropAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(DropAnswer);\n\nexport default DragAndDropAnswer;\n"],"file":"answer.js"}
package/lib/arrow.js DELETED
@@ -1,99 +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"] = exports.Arrow = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
- var _react = _interopRequireDefault(require("react"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _classnames2 = _interopRequireDefault(require("classnames"));
27
-
28
- var _ArrowDropDown = _interopRequireDefault(require("@material-ui/icons/ArrowDropDown"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
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
-
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
-
36
- var Arrow = /*#__PURE__*/function (_React$Component) {
37
- (0, _inherits2["default"])(Arrow, _React$Component);
38
-
39
- var _super = _createSuper(Arrow);
40
-
41
- function Arrow() {
42
- (0, _classCallCheck2["default"])(this, Arrow);
43
- return _super.apply(this, arguments);
44
- }
45
-
46
- (0, _createClass2["default"])(Arrow, [{
47
- key: "render",
48
- value: function render() {
49
- var _this$props = this.props,
50
- direction = _this$props.direction,
51
- classes = _this$props.classes;
52
- var extraStyle = direction === 'left' ? {} : {
53
- transform: 'rotate(180deg)'
54
- };
55
- return /*#__PURE__*/_react["default"].createElement("div", {
56
- className: classes.arrow,
57
- style: extraStyle
58
- }, /*#__PURE__*/_react["default"].createElement(_ArrowDropDown["default"], {
59
- style: {
60
- transform: 'rotate(90deg)',
61
- color: '#979797',
62
- fontSize: 40
63
- }
64
- }), /*#__PURE__*/_react["default"].createElement("span", {
65
- className: (0, _classnames2["default"])(classes.line, (0, _defineProperty2["default"])({}, classes.right, direction !== 'left'))
66
- }));
67
- }
68
- }]);
69
- return Arrow;
70
- }(_react["default"].Component);
71
-
72
- exports.Arrow = Arrow;
73
- (0, _defineProperty2["default"])(Arrow, "propTypes", {
74
- direction: _propTypes["default"].string,
75
- classes: _propTypes["default"].object.isRequired
76
- });
77
- var styledArrow = (0, _styles.withStyles)({
78
- arrow: {
79
- display: 'inline-block',
80
- position: 'relative',
81
- width: '100%'
82
- },
83
- line: {
84
- backgroundColor: '#979797',
85
- bottom: 19,
86
- content: '""',
87
- display: 'block',
88
- height: 1,
89
- left: 20,
90
- position: 'absolute',
91
- width: '100%'
92
- },
93
- right: {
94
- bottom: 20
95
- }
96
- })(Arrow);
97
- var _default = styledArrow;
98
- exports["default"] = _default;
99
- //# sourceMappingURL=arrow.js.map
package/lib/arrow.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/arrow.js"],"names":["Arrow","props","direction","classes","extraStyle","transform","arrow","color","fontSize","line","right","React","Component","PropTypes","string","object","isRequired","styledArrow","display","position","width","backgroundColor","bottom","content","height","left"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,K;;;;;;;;;;;;WAMX,kBAAS;AACP,wBAA+B,KAAKC,KAApC;AAAA,UAAQC,SAAR,eAAQA,SAAR;AAAA,UAAmBC,OAAnB,eAAmBA,OAAnB;AAEA,UAAMC,UAAU,GACdF,SAAS,KAAK,MAAd,GACI,EADJ,GAEI;AACEG,QAAAA,SAAS,EAAE;AADb,OAHN;AAOA,0BACE;AAAK,QAAA,SAAS,EAAEF,OAAO,CAACG,KAAxB;AAA+B,QAAA,KAAK,EAAEF;AAAtC,sBACE,gCAAC,yBAAD;AACE,QAAA,KAAK,EAAE;AACLC,UAAAA,SAAS,EAAE,eADN;AAELE,UAAAA,KAAK,EAAE,SAFF;AAGLC,UAAAA,QAAQ,EAAE;AAHL;AADT,QADF,eAQE;AACE,QAAA,SAAS,EAAE,6BAAWL,OAAO,CAACM,IAAnB,uCACRN,OAAO,CAACO,KADA,EACQR,SAAS,KAAK,MADtB;AADb,QARF,CADF;AAgBD;;;EAhCwBS,kBAAMC,S;;;iCAApBZ,K,eACQ;AACjBE,EAAAA,SAAS,EAAEW,sBAAUC,MADJ;AAEjBX,EAAAA,OAAO,EAAEU,sBAAUE,MAAV,CAAiBC;AAFT,C;AAkCrB,IAAMC,WAAW,GAAG,wBAAW;AAC7BX,EAAAA,KAAK,EAAE;AACLY,IAAAA,OAAO,EAAE,cADJ;AAELC,IAAAA,QAAQ,EAAE,UAFL;AAGLC,IAAAA,KAAK,EAAE;AAHF,GADsB;AAM7BX,EAAAA,IAAI,EAAE;AACJY,IAAAA,eAAe,EAAE,SADb;AAEJC,IAAAA,MAAM,EAAE,EAFJ;AAGJC,IAAAA,OAAO,EAAE,IAHL;AAIJL,IAAAA,OAAO,EAAE,OAJL;AAKJM,IAAAA,MAAM,EAAE,CALJ;AAMJC,IAAAA,IAAI,EAAE,EANF;AAOJN,IAAAA,QAAQ,EAAE,UAPN;AAQJC,IAAAA,KAAK,EAAE;AARH,GANuB;AAgB7BV,EAAAA,KAAK,EAAE;AACLY,IAAAA,MAAM,EAAE;AADH;AAhBsB,CAAX,EAmBjBtB,KAnBiB,CAApB;eAqBeiB,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ArrowHead from '@material-ui/icons/ArrowDropDown';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport class Arrow extends React.Component {\n static propTypes = {\n direction: PropTypes.string,\n classes: PropTypes.object.isRequired,\n };\n\n render() {\n const { direction, classes } = this.props;\n\n const extraStyle =\n direction === 'left'\n ? {}\n : {\n transform: 'rotate(180deg)',\n };\n\n return (\n <div className={classes.arrow} style={extraStyle}>\n <ArrowHead\n style={{\n transform: 'rotate(90deg)',\n color: '#979797',\n fontSize: 40,\n }}\n />\n <span\n className={classnames(classes.line, {\n [classes.right]: direction !== 'left',\n })}\n />\n </div>\n );\n }\n}\n\nconst styledArrow = withStyles({\n arrow: {\n display: 'inline-block',\n position: 'relative',\n width: '100%',\n },\n line: {\n backgroundColor: '#979797',\n bottom: 19,\n content: '\"\"',\n display: 'block',\n height: 1,\n left: 20,\n position: 'absolute',\n width: '100%',\n },\n right: {\n bottom: 20,\n },\n})(Arrow);\n\nexport default styledArrow;\n"],"file":"arrow.js"}
@@ -1,136 +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"] = exports.ChoicesList = 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 _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
30
- var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
31
-
32
- var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
33
-
34
- var _find = _interopRequireDefault(require("lodash/find"));
35
-
36
- var _answer = require("./answer");
37
-
38
- var _drag = require("@pie-lib/drag");
39
-
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); }; }
41
-
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; } }
43
-
44
- var ChoicesList = /*#__PURE__*/function (_React$Component) {
45
- (0, _inherits2["default"])(ChoicesList, _React$Component);
46
-
47
- var _super = _createSuper(ChoicesList);
48
-
49
- function ChoicesList() {
50
- (0, _classCallCheck2["default"])(this, ChoicesList);
51
- return _super.apply(this, arguments);
52
- }
53
-
54
- (0, _createClass2["default"])(ChoicesList, [{
55
- key: "render",
56
- value: function render() {
57
- var _this$props = this.props,
58
- model = _this$props.model,
59
- classes = _this$props.classes,
60
- disabled = _this$props.disabled,
61
- session = _this$props.session,
62
- instanceId = _this$props.instanceId,
63
- onRemoveAnswer = _this$props.onRemoveAnswer;
64
- var config = model.config;
65
- var duplicates = config.duplicates;
66
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, _drag.MatchDroppablePlaceholder ? /*#__PURE__*/_react["default"].createElement(_drag.MatchDroppablePlaceholder, {
67
- disabled: disabled,
68
- onRemoveAnswer: onRemoveAnswer
69
- }, config.answers.filter(function (answer) {
70
- return duplicates || (0, _isEmpty["default"])(session) || !session.value || (0, _isUndefined["default"])((0, _find["default"])(session.value, function (val) {
71
- return val === answer.id;
72
- }));
73
- }).map(function (answer) {
74
- return /*#__PURE__*/_react["default"].createElement(_answer.DragAnswer, (0, _extends2["default"])({
75
- key: answer.id,
76
- instanceId: instanceId,
77
- className: classes.choice,
78
- draggable: true,
79
- disabled: disabled,
80
- session: session,
81
- type: 'choice'
82
- }, answer));
83
- })) : /*#__PURE__*/_react["default"].createElement("div", {
84
- className: classes.answersContainer
85
- }, ' ', config.answers.filter(function (answer) {
86
- return duplicates || (0, _isEmpty["default"])(session) || !session.value || (0, _isUndefined["default"])((0, _find["default"])(session.value, function (val) {
87
- return val === answer.id;
88
- }));
89
- }).map(function (answer) {
90
- return /*#__PURE__*/_react["default"].createElement(_answer.DragAnswer, (0, _extends2["default"])({
91
- key: answer.id,
92
- instanceId: instanceId,
93
- className: classes.choice,
94
- draggable: true,
95
- disabled: disabled,
96
- session: session,
97
- type: 'choice'
98
- }, answer));
99
- }), ' '));
100
- }
101
- }]);
102
- return ChoicesList;
103
- }(_react["default"].Component);
104
-
105
- exports.ChoicesList = ChoicesList;
106
- (0, _defineProperty2["default"])(ChoicesList, "propTypes", {
107
- classes: _propTypes["default"].object,
108
- session: _propTypes["default"].object.isRequired,
109
- instanceId: _propTypes["default"].string.isRequired,
110
- model: _propTypes["default"].object.isRequired,
111
- disabled: _propTypes["default"].bool.isRequired
112
- });
113
-
114
- var styles = function styles() {
115
- return {
116
- answersContainer: {
117
- alignItems: 'center',
118
- display: 'flex',
119
- flexDirection: 'row',
120
- flexWrap: 'wrap',
121
- justifyContent: 'space-between',
122
- marginTop: 50
123
- },
124
- choice: {
125
- minHeight: '40px',
126
- minWidth: '200px',
127
- height: 'initial',
128
- margin: '4px'
129
- }
130
- };
131
- };
132
-
133
- var _default = (0, _styles.withStyles)(styles)(ChoicesList);
134
-
135
- exports["default"] = _default;
136
- //# sourceMappingURL=choices-list.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/choices-list.jsx"],"names":["ChoicesList","props","model","classes","disabled","session","instanceId","onRemoveAnswer","config","duplicates","MatchDroppablePlaceholder","answers","filter","answer","value","val","id","map","choice","answersContainer","React","Component","PropTypes","object","isRequired","string","bool","styles","alignItems","display","flexDirection","flexWrap","justifyContent","marginTop","minHeight","minWidth","height","margin"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport find from 'lodash/find';\nimport { DragAnswer } from './answer';\nimport { MatchDroppablePlaceholder } from '@pie-lib/drag';\n\nexport class ChoicesList extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n disabled: PropTypes.bool.isRequired,\n };\n\n render() {\n const { model, classes, disabled, session, instanceId, onRemoveAnswer } = this.props;\n const { config } = model;\n const { duplicates } = config;\n\n return (\n <>\n {MatchDroppablePlaceholder ? (\n <MatchDroppablePlaceholder disabled={disabled} onRemoveAnswer={onRemoveAnswer}>\n {config.answers\n .filter(\n (answer) =>\n duplicates ||\n isEmpty(session) ||\n !session.value ||\n isUndefined(find(session.value, (val) => val === answer.id))\n )\n .map((answer) => (\n <DragAnswer\n key={answer.id}\n instanceId={instanceId}\n className={classes.choice}\n draggable={true}\n disabled={disabled}\n session={session}\n type={'choice'}\n {...answer}\n />\n ))}\n </MatchDroppablePlaceholder>\n ) : (\n <div className={classes.answersContainer}>\n {' '}\n {config.answers\n .filter(\n (answer) =>\n duplicates ||\n isEmpty(session) ||\n !session.value ||\n isUndefined(find(session.value, (val) => val === answer.id))\n )\n .map((answer) => (\n <DragAnswer\n key={answer.id}\n instanceId={instanceId}\n className={classes.choice}\n draggable={true}\n disabled={disabled}\n session={session}\n type={'choice'}\n {...answer}\n />\n ))}{' '}\n </div>\n )}\n </>\n );\n }\n}\n\nconst styles = () => ({\n answersContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n marginTop: 50\n },\n choice: {\n minHeight: '40px',\n minWidth: '200px',\n height: 'initial',\n margin: '4px',\n },\n});\n\nexport default withStyles(styles)(ChoicesList);\n"],"file":"choices-list.js"}