@pie-element/categorize 11.1.0 → 11.2.0-mui-update.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 (67) hide show
  1. package/CHANGELOG.md +73 -0
  2. package/configure/CHANGELOG.md +66 -0
  3. package/configure/lib/defaults.js +2 -5
  4. package/configure/lib/defaults.js.map +1 -1
  5. package/configure/lib/design/builder.js +15 -33
  6. package/configure/lib/design/builder.js.map +1 -1
  7. package/configure/lib/design/buttons.js +44 -95
  8. package/configure/lib/design/buttons.js.map +1 -1
  9. package/configure/lib/design/categories/RowLabel.js +32 -45
  10. package/configure/lib/design/categories/RowLabel.js.map +1 -1
  11. package/configure/lib/design/categories/alternateResponses.js +102 -251
  12. package/configure/lib/design/categories/alternateResponses.js.map +1 -1
  13. package/configure/lib/design/categories/category.js +138 -208
  14. package/configure/lib/design/categories/category.js.map +1 -1
  15. package/configure/lib/design/categories/choice-preview.js +59 -126
  16. package/configure/lib/design/categories/choice-preview.js.map +1 -1
  17. package/configure/lib/design/categories/droppable-placeholder.js +76 -165
  18. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -1
  19. package/configure/lib/design/categories/index.js +199 -384
  20. package/configure/lib/design/categories/index.js.map +1 -1
  21. package/configure/lib/design/choices/choice.js +160 -263
  22. package/configure/lib/design/choices/choice.js.map +1 -1
  23. package/configure/lib/design/choices/config.js +46 -98
  24. package/configure/lib/design/choices/config.js.map +1 -1
  25. package/configure/lib/design/choices/index.js +152 -236
  26. package/configure/lib/design/choices/index.js.map +1 -1
  27. package/configure/lib/design/header.js +62 -111
  28. package/configure/lib/design/header.js.map +1 -1
  29. package/configure/lib/design/index.js +632 -476
  30. package/configure/lib/design/index.js.map +1 -1
  31. package/configure/lib/design/input-header.js +97 -149
  32. package/configure/lib/design/input-header.js.map +1 -1
  33. package/configure/lib/design/utils.js +4 -15
  34. package/configure/lib/design/utils.js.map +1 -1
  35. package/configure/lib/index.js +120 -183
  36. package/configure/lib/index.js.map +1 -1
  37. package/configure/lib/main.js +31 -74
  38. package/configure/lib/main.js.map +1 -1
  39. package/configure/lib/utils.js +22 -32
  40. package/configure/lib/utils.js.map +1 -1
  41. package/configure/package.json +15 -14
  42. package/controller/CHANGELOG.md +54 -0
  43. package/controller/lib/defaults.js +2 -5
  44. package/controller/lib/defaults.js.map +1 -1
  45. package/controller/lib/index.js +238 -315
  46. package/controller/lib/index.js.map +1 -1
  47. package/controller/lib/utils.js +40 -31
  48. package/controller/lib/utils.js.map +1 -1
  49. package/controller/package.json +5 -5
  50. package/lib/categorize/categories.js +110 -164
  51. package/lib/categorize/categories.js.map +1 -1
  52. package/lib/categorize/category.js +72 -122
  53. package/lib/categorize/category.js.map +1 -1
  54. package/lib/categorize/choice.js +116 -245
  55. package/lib/categorize/choice.js.map +1 -1
  56. package/lib/categorize/choices.js +66 -131
  57. package/lib/categorize/choices.js.map +1 -1
  58. package/lib/categorize/droppable-placeholder.js +49 -103
  59. package/lib/categorize/droppable-placeholder.js.map +1 -1
  60. package/lib/categorize/grid-content.js +39 -87
  61. package/lib/categorize/grid-content.js.map +1 -1
  62. package/lib/categorize/index.js +341 -316
  63. package/lib/categorize/index.js.map +1 -1
  64. package/lib/index.js +286 -271
  65. package/lib/index.js.map +1 -1
  66. package/package.json +16 -13
  67. package/LICENSE.md +0 -5
@@ -1,265 +1,136 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports.spec = exports["default"] = exports.Layout = exports.ChoiceType = exports.Choice = void 0;
9
-
10
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
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
-
7
+ exports.default = exports.Layout = exports.ChoiceType = void 0;
8
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
22
9
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
10
  var _react = _interopRequireDefault(require("react"));
25
-
26
11
  var _propTypes = _interopRequireDefault(require("prop-types"));
27
-
28
- var _styles = require("@material-ui/core/styles");
29
-
30
- var _classnames = _interopRequireDefault(require("classnames"));
31
-
32
- var _reactDnd = require("react-dnd");
33
-
12
+ var _styles = require("@mui/material/styles");
13
+ var _core = require("@dnd-kit/core");
34
14
  var _drag = require("@pie-lib/drag");
35
-
36
- var _Card = _interopRequireDefault(require("@material-ui/core/Card"));
37
-
38
- var _CardContent = _interopRequireDefault(require("@material-ui/core/CardContent"));
39
-
15
+ var _Card = _interopRequireDefault(require("@mui/material/Card"));
16
+ var _CardContent = _interopRequireDefault(require("@mui/material/CardContent"));
40
17
  var _renderUi = require("@pie-lib/render-ui");
41
-
42
18
  var _debug = _interopRequireDefault(require("debug"));
43
-
44
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
-
46
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
-
48
- 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); }; }
49
-
50
- 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; } }
51
-
52
- var log = (0, _debug["default"])('@pie-ui:categorize:choice');
53
- var ChoiceType = {
54
- content: _propTypes["default"].string.isRequired,
55
- id: _propTypes["default"].string
19
+ const log = (0, _debug.default)('@pie-ui:categorize:choice');
20
+ const ChoiceType = exports.ChoiceType = {
21
+ content: _propTypes.default.string.isRequired,
22
+ id: _propTypes.default.string
56
23
  };
57
- exports.ChoiceType = ChoiceType;
58
-
59
- var Layout = /*#__PURE__*/function (_React$Component) {
60
- (0, _inherits2["default"])(Layout, _React$Component);
61
-
62
- var _super = _createSuper(Layout);
63
-
64
- function Layout() {
65
- (0, _classCallCheck2["default"])(this, Layout);
66
- return _super.apply(this, arguments);
24
+ const ChoiceContainer = (0, _styles.styled)('div', {
25
+ shouldForwardProp: prop => !['isDragging', 'disabled', 'correct'].includes(prop)
26
+ })(({
27
+ isDragging,
28
+ disabled,
29
+ correct
30
+ }) => ({
31
+ direction: 'initial',
32
+ cursor: disabled ? 'not-allowed' : isDragging ? 'move' : 'pointer',
33
+ width: '100%',
34
+ borderRadius: '6px',
35
+ ...(correct === true && {
36
+ border: `solid 2px ${_renderUi.color.correct()}`
37
+ }),
38
+ ...(correct === false && {
39
+ border: `solid 2px ${_renderUi.color.incorrect()}`
40
+ })
41
+ }));
42
+ const StyledCard = (0, _styles.styled)(_Card.default)({
43
+ color: _renderUi.color.text(),
44
+ backgroundColor: _renderUi.color.background(),
45
+ width: '100%'
46
+ });
47
+ const StyledCardContent = (0, _styles.styled)(_CardContent.default)(({
48
+ theme
49
+ }) => ({
50
+ color: _renderUi.color.text(),
51
+ backgroundColor: _renderUi.color.white(),
52
+ '&:last-child': {
53
+ paddingBottom: theme.spacing(2)
54
+ },
55
+ borderRadius: '4px',
56
+ border: '1px solid'
57
+ }));
58
+ class Layout extends _react.default.Component {
59
+ render() {
60
+ const {
61
+ className,
62
+ content,
63
+ isDragging,
64
+ disabled,
65
+ correct
66
+ } = this.props;
67
+ return /*#__PURE__*/_react.default.createElement(ChoiceContainer, {
68
+ className: className,
69
+ isDragging: isDragging,
70
+ disabled: disabled,
71
+ correct: correct
72
+ }, /*#__PURE__*/_react.default.createElement(StyledCard, null, /*#__PURE__*/_react.default.createElement(StyledCardContent, {
73
+ dangerouslySetInnerHTML: {
74
+ __html: content
75
+ }
76
+ })));
67
77
  }
68
-
69
- (0, _createClass2["default"])(Layout, [{
70
- key: "render",
71
- value: function render() {
72
- var _this$props = this.props,
73
- classes = _this$props.classes,
74
- className = _this$props.className,
75
- content = _this$props.content,
76
- isDragging = _this$props.isDragging,
77
- disabled = _this$props.disabled,
78
- correct = _this$props.correct;
79
- var rootNames = (0, _classnames["default"])(correct === true && 'correct', correct === false && 'incorrect', classes.choice, isDragging && classes.dragging, disabled && classes.disabled, className);
80
- var cardNames = (0, _classnames["default"])(classes.card);
81
- return /*#__PURE__*/_react["default"].createElement("div", {
82
- className: rootNames
83
- }, /*#__PURE__*/_react["default"].createElement(_Card["default"], {
84
- className: cardNames
85
- }, /*#__PURE__*/_react["default"].createElement(_CardContent["default"], {
86
- classes: {
87
- root: classes.cardRoot
88
- },
89
- dangerouslySetInnerHTML: {
90
- __html: content
91
- }
92
- })));
93
- }
94
- }]);
95
- return Layout;
96
- }(_react["default"].Component);
97
-
78
+ }
98
79
  exports.Layout = Layout;
99
- (0, _defineProperty2["default"])(Layout, "propTypes", _objectSpread(_objectSpread({}, ChoiceType), {}, {
100
- classes: _propTypes["default"].object.isRequired,
101
- className: _propTypes["default"].string,
102
- disabled: _propTypes["default"].bool,
103
- correct: _propTypes["default"].bool
104
- }));
105
- (0, _defineProperty2["default"])(Layout, "defaultProps", {});
106
-
107
- var styles = function styles(theme) {
108
- return {
109
- choice: {
110
- direction: 'initial',
111
- cursor: 'pointer',
112
- width: '100%',
113
- '&.correct': {
114
- border: "solid 2px ".concat(_renderUi.color.correct())
115
- },
116
- '&.incorrect': {
117
- border: "solid 2px ".concat(_renderUi.color.incorrect())
118
- },
119
- borderRadius: '6px'
120
- },
121
- cardRoot: {
122
- color: _renderUi.color.text(),
123
- backgroundColor: _renderUi.color.white(),
124
- '&:last-child': {
125
- paddingBottom: theme.spacing.unit * 2
126
- },
127
- borderRadius: '4px',
128
- border: '1px solid'
129
- },
130
- disabled: {
131
- cursor: 'not-allowed',
132
- opacity: '0.6'
133
- },
134
- dragging: {
135
- cursor: 'move'
80
+ (0, _defineProperty2.default)(Layout, "propTypes", {
81
+ ...ChoiceType,
82
+ className: _propTypes.default.string,
83
+ disabled: _propTypes.default.bool,
84
+ correct: _propTypes.default.bool,
85
+ isDragging: _propTypes.default.bool
86
+ });
87
+ (0, _defineProperty2.default)(Layout, "defaultProps", {});
88
+ const DraggableChoice = ({
89
+ id,
90
+ content,
91
+ disabled,
92
+ correct,
93
+ extraStyle,
94
+ categoryId,
95
+ choiceIndex
96
+ }) => {
97
+ const {
98
+ attributes,
99
+ listeners,
100
+ setNodeRef,
101
+ isDragging
102
+ } = (0, _core.useDraggable)({
103
+ id: `choice-${id}`,
104
+ data: {
105
+ id,
106
+ categoryId,
107
+ choiceIndex,
108
+ value: content,
109
+ itemType: 'categorize',
110
+ type: 'choice'
136
111
  },
137
- card: {
138
- color: _renderUi.color.text(),
139
- backgroundColor: _renderUi.color.background(),
140
- width: '100%',
141
- // Added for touch devices, for image content.
142
- // This will prevent the context menu from appearing and not allowing other interactions with the image.
143
- pointerEvents: 'none'
112
+ disabled
113
+ });
114
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
115
+ ref: setNodeRef,
116
+ style: {
117
+ margin: '4px',
118
+ ...extraStyle
144
119
  }
145
- };
120
+ }, listeners, attributes), /*#__PURE__*/_react.default.createElement(Layout, {
121
+ id: id,
122
+ content: content,
123
+ disabled: disabled,
124
+ correct: correct,
125
+ isDragging: isDragging
126
+ }));
146
127
  };
147
-
148
- var Styled = (0, _styles.withStyles)(styles)(Layout);
149
-
150
- var Choice = /*#__PURE__*/function (_React$Component2) {
151
- (0, _inherits2["default"])(Choice, _React$Component2);
152
-
153
- var _super2 = _createSuper(Choice);
154
-
155
- function Choice() {
156
- var _this;
157
-
158
- (0, _classCallCheck2["default"])(this, Choice);
159
-
160
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
161
- args[_key] = arguments[_key];
162
- }
163
-
164
- _this = _super2.call.apply(_super2, [this].concat(args));
165
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleTouchStart", function (e) {
166
- e.preventDefault();
167
- });
168
- return _this;
169
- }
170
-
171
- (0, _createClass2["default"])(Choice, [{
172
- key: "componentDidMount",
173
- value: function componentDidMount() {
174
- if (this.ref) {
175
- this.ref.addEventListener('touchstart', this.handleTouchStart, {
176
- passive: false
177
- });
178
- }
179
- }
180
- }, {
181
- key: "componentWillUnmount",
182
- value: function componentWillUnmount() {
183
- if (this.ref) {
184
- this.ref.removeEventListener('touchstart', this.handleTouchStart);
185
- }
186
- }
187
- }, {
188
- key: "render",
189
- value: function render() {
190
- var _this2 = this;
191
-
192
- var _this$props2 = this.props,
193
- connectDragSource = _this$props2.connectDragSource,
194
- id = _this$props2.id,
195
- content = _this$props2.content,
196
- disabled = _this$props2.disabled,
197
- isDragging = _this$props2.isDragging,
198
- correct = _this$props2.correct,
199
- extraStyle = _this$props2.extraStyle;
200
- return connectDragSource( /*#__PURE__*/_react["default"].createElement("div", {
201
- style: _objectSpread({
202
- margin: '4px'
203
- }, extraStyle),
204
- ref: function ref(_ref) {
205
- return _this2.ref = _ref;
206
- },
207
- draggable: !disabled
208
- }, /*#__PURE__*/_react["default"].createElement(Styled, {
209
- id: id,
210
- content: content,
211
- disabled: disabled,
212
- correct: correct,
213
- isDragging: isDragging
214
- })));
215
- }
216
- }]);
217
- return Choice;
218
- }(_react["default"].Component);
219
-
220
- exports.Choice = Choice;
221
- (0, _defineProperty2["default"])(Choice, "propTypes", _objectSpread(_objectSpread({}, ChoiceType), {}, {
222
- extraStyle: _propTypes["default"].object,
223
- connectDragSource: _propTypes["default"].func.isRequired
224
- }));
225
- var spec = {
226
- canDrag: function canDrag(props) {
227
- return !props.disabled;
228
- },
229
- beginDrag: function beginDrag(props) {
230
- var out = {
231
- id: props.id,
232
- categoryId: props.categoryId,
233
- choiceIndex: props.choiceIndex,
234
- value: props.content,
235
- itemType: 'categorize'
236
- };
237
- log('[beginDrag] out:', out);
238
- return out;
239
- },
240
- endDrag: function endDrag(props, monitor) {
241
- if (!monitor.didDrop()) {
242
- var item = monitor.getItem();
243
-
244
- if (item.categoryId) {
245
- log('wasnt droppped - what to do?');
246
- props.onRemoveChoice(item);
247
- }
248
- }
249
- }
128
+ DraggableChoice.propTypes = {
129
+ ...ChoiceType,
130
+ extraStyle: _propTypes.default.object,
131
+ categoryId: _propTypes.default.string,
132
+ choiceIndex: _propTypes.default.number,
133
+ onRemoveChoice: _propTypes.default.func
250
134
  };
251
- exports.spec = spec;
252
- var DraggableChoice = (0, _reactDnd.DragSource)(function (_ref2) {
253
- var uid = _ref2.uid;
254
- return uid;
255
- }, spec, function (connect, monitor) {
256
- return {
257
- connectDragSource: connect.dragSource(),
258
- isDragging: monitor.isDragging()
259
- };
260
- })(Choice);
261
-
262
- var _default = _drag.uid.withUid(DraggableChoice);
263
-
264
- exports["default"] = _default;
135
+ var _default = exports.default = _drag.uid.withUid(DraggableChoice);
265
136
  //# sourceMappingURL=choice.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/categorize/choice.jsx"],"names":["log","ChoiceType","content","PropTypes","string","isRequired","id","Layout","props","classes","className","isDragging","disabled","correct","rootNames","choice","dragging","cardNames","card","root","cardRoot","__html","React","Component","object","bool","styles","theme","direction","cursor","width","border","color","incorrect","borderRadius","text","backgroundColor","white","paddingBottom","spacing","unit","opacity","background","pointerEvents","Styled","Choice","e","preventDefault","ref","addEventListener","handleTouchStart","passive","removeEventListener","connectDragSource","extraStyle","margin","func","spec","canDrag","beginDrag","out","categoryId","choiceIndex","value","itemType","endDrag","monitor","didDrop","item","getItem","onRemoveChoice","DraggableChoice","uid","connect","dragSource","withUid"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { DragSource } from 'react-dnd';\nimport { uid } from '@pie-lib/drag';\nimport Card from '@material-ui/core/Card';\nimport CardContent from '@material-ui/core/CardContent';\nimport { color } from '@pie-lib/render-ui';\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:categorize:choice');\n\nexport const ChoiceType = {\n content: PropTypes.string.isRequired,\n id: PropTypes.string,\n};\n\nexport class Layout extends React.Component {\n static propTypes = {\n ...ChoiceType,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correct: PropTypes.bool,\n };\n static defaultProps = {};\n render() {\n const { classes, className, content, isDragging, disabled, correct } = this.props;\n\n const rootNames = classNames(\n correct === true && 'correct',\n correct === false && 'incorrect',\n classes.choice,\n isDragging && classes.dragging,\n disabled && classes.disabled,\n className,\n );\n const cardNames = classNames(classes.card);\n return (\n <div className={rootNames}>\n <Card className={cardNames}>\n <CardContent classes={{ root: classes.cardRoot }} dangerouslySetInnerHTML={{ __html: content }} />\n </Card>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n choice: {\n direction: 'initial',\n cursor: 'pointer',\n width: '100%',\n '&.correct': {\n border: `solid 2px ${color.correct()}`,\n },\n '&.incorrect': {\n border: `solid 2px ${color.incorrect()}`,\n },\n borderRadius: '6px',\n },\n cardRoot: {\n color: color.text(),\n backgroundColor: color.white(),\n '&:last-child': {\n paddingBottom: theme.spacing.unit * 2,\n },\n borderRadius: '4px',\n border: '1px solid',\n },\n disabled: {\n cursor: 'not-allowed',\n opacity: '0.6',\n },\n dragging: {\n cursor: 'move',\n },\n card: {\n color: color.text(),\n backgroundColor: color.background(),\n width: '100%',\n // Added for touch devices, for image content.\n // This will prevent the context menu from appearing and not allowing other interactions with the image.\n pointerEvents: 'none',\n },\n});\n\nconst Styled = withStyles(styles)(Layout);\n\nexport class Choice extends React.Component {\n static propTypes = {\n ...ChoiceType,\n extraStyle: PropTypes.object,\n connectDragSource: PropTypes.func.isRequired,\n };\n\n componentDidMount() {\n if (this.ref) {\n this.ref.addEventListener('touchstart', this.handleTouchStart, { passive: false });\n }\n }\n\n componentWillUnmount() {\n if (this.ref) {\n this.ref.removeEventListener('touchstart', this.handleTouchStart);\n }\n }\n\n handleTouchStart = (e) => {\n e.preventDefault();\n };\n\n render() {\n const { connectDragSource, id, content, disabled, isDragging, correct, extraStyle } = this.props;\n\n return connectDragSource(\n <div style={{ margin: '4px', ...extraStyle }} ref={(ref) => (this.ref = ref)} draggable={!disabled}>\n <Styled id={id} content={content} disabled={disabled} correct={correct} isDragging={isDragging} />\n </div>,\n );\n }\n}\n\nexport const spec = {\n canDrag: (props) => !props.disabled,\n beginDrag: (props) => {\n const out = {\n id: props.id,\n categoryId: props.categoryId,\n choiceIndex: props.choiceIndex,\n value: props.content,\n itemType: 'categorize',\n };\n log('[beginDrag] out:', out);\n return out;\n },\n endDrag: (props, monitor) => {\n if (!monitor.didDrop()) {\n const item = monitor.getItem();\n if (item.categoryId) {\n log('wasnt droppped - what to do?');\n props.onRemoveChoice(item);\n }\n }\n },\n};\n\nconst DraggableChoice = DragSource(\n ({ uid }) => uid,\n spec,\n (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n }),\n)(Choice);\n\nexport default uid.withUid(DraggableChoice);\n"],"file":"choice.js"}
1
+ {"version":3,"file":"choice.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_core","_drag","_Card","_CardContent","_renderUi","_debug","log","debug","ChoiceType","exports","content","PropTypes","string","isRequired","id","ChoiceContainer","styled","shouldForwardProp","prop","includes","isDragging","disabled","correct","direction","cursor","width","borderRadius","border","color","incorrect","StyledCard","Card","text","backgroundColor","background","StyledCardContent","CardContent","theme","white","paddingBottom","spacing","Layout","React","Component","render","className","props","default","createElement","dangerouslySetInnerHTML","__html","_defineProperty2","bool","DraggableChoice","extraStyle","categoryId","choiceIndex","attributes","listeners","setNodeRef","useDraggable","data","value","itemType","type","_extends2","ref","style","margin","propTypes","object","number","onRemoveChoice","func","_default","uid","withUid"],"sources":["../../src/categorize/choice.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { useDraggable } from '@dnd-kit/core';\nimport { uid } from '@pie-lib/drag';\nimport Card from '@mui/material/Card';\nimport CardContent from '@mui/material/CardContent';\nimport { color } from '@pie-lib/render-ui';\nimport debug from 'debug';\n\nconst log = debug('@pie-ui:categorize:choice');\n\nexport const ChoiceType = {\n content: PropTypes.string.isRequired,\n id: PropTypes.string,\n};\n\nconst ChoiceContainer = styled('div', {\n shouldForwardProp: (prop) => !['isDragging', 'disabled', 'correct'].includes(prop),\n})(({ isDragging, disabled, correct }) => ({\n direction: 'initial',\n cursor: disabled ? 'not-allowed' : isDragging ? 'move' : 'pointer',\n width: '100%',\n borderRadius: '6px',\n ...(correct === true && {\n border: `solid 2px ${color.correct()}`,\n }),\n ...(correct === false && {\n border: `solid 2px ${color.incorrect()}`,\n }),\n}));\n\nconst StyledCard = styled(Card)({\n color: color.text(),\n backgroundColor: color.background(),\n width: '100%',\n});\n\nconst StyledCardContent = styled(CardContent)(({ theme }) => ({\n color: color.text(),\n backgroundColor: color.white(),\n '&:last-child': {\n paddingBottom: theme.spacing(2),\n },\n borderRadius: '4px',\n border: '1px solid',\n}));\n\nexport class Layout extends React.Component {\n static propTypes = {\n ...ChoiceType,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n correct: PropTypes.bool,\n isDragging: PropTypes.bool\n };\n static defaultProps = {};\n render() {\n const { className, content, isDragging, disabled, correct } = this.props;\n\n return (\n <ChoiceContainer\n className={className}\n isDragging={isDragging}\n disabled={disabled}\n correct={correct}\n >\n <StyledCard>\n <StyledCardContent dangerouslySetInnerHTML={{ __html: content }} />\n </StyledCard>\n </ChoiceContainer>\n );\n }\n}\n\nconst DraggableChoice = ({\n id,\n content,\n disabled,\n correct,\n extraStyle,\n categoryId,\n choiceIndex,\n}) => {\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id: `choice-${id}`,\n data: {\n id,\n categoryId,\n choiceIndex,\n value: content,\n itemType: 'categorize',\n type: 'choice',\n },\n disabled,\n });\n\n return (\n <div\n ref={setNodeRef}\n style={{ margin: '4px', ...extraStyle }}\n {...listeners}\n {...attributes}\n >\n <Layout\n id={id}\n content={content}\n disabled={disabled}\n correct={correct}\n isDragging={isDragging}\n />\n </div>\n );\n};\n\nDraggableChoice.propTypes = {\n ...ChoiceType,\n extraStyle: PropTypes.object,\n categoryId: PropTypes.string,\n choiceIndex: PropTypes.number,\n onRemoveChoice: PropTypes.func,\n};\n\nexport default uid.withUid(DraggableChoice);\n"],"mappings":"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","ignoreList":[]}