@pie-element/categorize 11.3.4-next.3 → 12.0.0-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.
Files changed (106) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/__tests__/main.test.js +100 -0
  4. package/configure/lib/__tests__/utils.js +39 -0
  5. package/configure/lib/defaults.js +3 -6
  6. package/configure/lib/defaults.js.map +1 -1
  7. package/configure/lib/design/__tests__/builder.test.js +34 -0
  8. package/configure/lib/design/__tests__/buttons.test.js +36 -0
  9. package/configure/lib/design/__tests__/header.test.js +37 -0
  10. package/configure/lib/design/__tests__/index.test.js +125 -0
  11. package/configure/lib/design/__tests__/input-header.test.js +41 -0
  12. package/configure/lib/design/builder.js +16 -34
  13. package/configure/lib/design/builder.js.map +1 -1
  14. package/configure/lib/design/buttons.js +42 -96
  15. package/configure/lib/design/buttons.js.map +1 -1
  16. package/configure/lib/design/categories/RowLabel.js +34 -47
  17. package/configure/lib/design/categories/RowLabel.js.map +1 -1
  18. package/configure/lib/design/categories/__tests__/alternateResponses.test.js +93 -0
  19. package/configure/lib/design/categories/__tests__/category.test.js +65 -0
  20. package/configure/lib/design/categories/__tests__/choice-preview.test.js +52 -0
  21. package/configure/lib/design/categories/__tests__/droppable-placeholder.test.js +63 -0
  22. package/configure/lib/design/categories/__tests__/index.test.js +91 -0
  23. package/configure/lib/design/categories/alternateResponses.js +97 -252
  24. package/configure/lib/design/categories/alternateResponses.js.map +1 -1
  25. package/configure/lib/design/categories/category.js +136 -209
  26. package/configure/lib/design/categories/category.js.map +1 -1
  27. package/configure/lib/design/categories/choice-preview.js +62 -127
  28. package/configure/lib/design/categories/choice-preview.js.map +1 -1
  29. package/configure/lib/design/categories/droppable-placeholder.js +74 -166
  30. package/configure/lib/design/categories/droppable-placeholder.js.map +1 -1
  31. package/configure/lib/design/categories/index.js +196 -385
  32. package/configure/lib/design/categories/index.js.map +1 -1
  33. package/configure/lib/design/choices/__tests__/choice.test.js +62 -0
  34. package/configure/lib/design/choices/__tests__/config.test.js +66 -0
  35. package/configure/lib/design/choices/__tests__/index.test.js +70 -0
  36. package/configure/lib/design/choices/choice.js +156 -265
  37. package/configure/lib/design/choices/choice.js.map +1 -1
  38. package/configure/lib/design/choices/config.js +43 -99
  39. package/configure/lib/design/choices/config.js.map +1 -1
  40. package/configure/lib/design/choices/index.js +149 -237
  41. package/configure/lib/design/choices/index.js.map +1 -1
  42. package/configure/lib/design/header.js +58 -112
  43. package/configure/lib/design/header.js.map +1 -1
  44. package/configure/lib/design/index.js +633 -478
  45. package/configure/lib/design/index.js.map +1 -1
  46. package/configure/lib/design/input-header.js +95 -151
  47. package/configure/lib/design/input-header.js.map +1 -1
  48. package/configure/lib/design/utils.js +5 -16
  49. package/configure/lib/design/utils.js.map +1 -1
  50. package/configure/lib/index.js +121 -184
  51. package/configure/lib/index.js.map +1 -1
  52. package/configure/lib/main.js +31 -75
  53. package/configure/lib/main.js.map +1 -1
  54. package/configure/lib/utils.js +23 -33
  55. package/configure/lib/utils.js.map +1 -1
  56. package/configure/package.json +15 -15
  57. package/controller/CHANGELOG.md +0 -11
  58. package/controller/lib/__tests__/index.test.js +526 -0
  59. package/controller/lib/defaults.js +3 -6
  60. package/controller/lib/defaults.js.map +1 -1
  61. package/controller/lib/index.js +238 -319
  62. package/controller/lib/index.js.map +1 -1
  63. package/controller/lib/utils.js +29 -66
  64. package/controller/lib/utils.js.map +1 -1
  65. package/controller/package.json +5 -5
  66. package/docs/demo/.pie/.configure/package.json +10 -0
  67. package/docs/demo/.pie/.configure/yarn.lock +2181 -0
  68. package/docs/demo/.pie/.controllers/package.json +10 -0
  69. package/docs/demo/.pie/.controllers/yarn.lock +110 -0
  70. package/docs/demo/.pie/info.entry.js +89 -0
  71. package/docs/demo/.pie/info.webpack.config.js +119 -0
  72. package/docs/demo/.pie/package.json +10 -0
  73. package/docs/demo/.pie/yarn.lock +2190 -0
  74. package/docs/demo/pie.manifest.json +11 -0
  75. package/lib/__tests__/index.test.js +197 -0
  76. package/lib/categorize/__tests__/categories.test.js +138 -0
  77. package/lib/categorize/__tests__/category.test.js +137 -0
  78. package/lib/categorize/__tests__/choice.test.js +88 -0
  79. package/lib/categorize/__tests__/choices.test.js +118 -0
  80. package/lib/categorize/__tests__/droppable-placeholder.test.js +96 -0
  81. package/lib/categorize/__tests__/grid-content.test.js +48 -0
  82. package/lib/categorize/__tests__/index.test.js +152 -0
  83. package/lib/categorize/categories.js +107 -165
  84. package/lib/categorize/categories.js.map +1 -1
  85. package/lib/categorize/category.js +74 -124
  86. package/lib/categorize/category.js.map +1 -1
  87. package/lib/categorize/choice.js +119 -246
  88. package/lib/categorize/choice.js.map +1 -1
  89. package/lib/categorize/choices.js +67 -132
  90. package/lib/categorize/choices.js.map +1 -1
  91. package/lib/categorize/droppable-placeholder.js +47 -104
  92. package/lib/categorize/droppable-placeholder.js.map +1 -1
  93. package/lib/categorize/grid-content.js +40 -88
  94. package/lib/categorize/grid-content.js.map +1 -1
  95. package/lib/categorize/index.js +342 -318
  96. package/lib/categorize/index.js.map +1 -1
  97. package/lib/index.js +286 -307
  98. package/lib/index.js.map +1 -1
  99. package/package.json +16 -14
  100. package/esm/configure.js +0 -34401
  101. package/esm/configure.js.map +0 -1
  102. package/esm/controller.js +0 -1468
  103. package/esm/controller.js.map +0 -1
  104. package/esm/element.js +0 -13134
  105. package/esm/element.js.map +0 -1
  106. package/esm/package.json +0 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/categorize/category.jsx"],"names":["CategoryType","id","PropTypes","string","isRequired","categoryId","Category","props","classes","className","choices","disabled","onDropChoice","onRemoveChoice","correct","minRowHeight","names","category","placeholderNames","placeholder","incorrect","map","c","index","React","Component","bool","object","func","styles","theme","border","color","padding","spacing","unit","borderRadius","gridColumnGap","gridRowGap","display","flexWrap","justifyContent","alignItems","alignContent","flexDirection","flex"],"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 Choice from './choice';\nimport PlaceHolder from './droppable-placeholder';\nimport { color } from '@pie-lib/render-ui';\n\nexport const CategoryType = {\n id: PropTypes.string.isRequired,\n categoryId: PropTypes.string,\n};\n\nexport class Category extends React.Component {\n static propTypes = {\n ...CategoryType,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n onDropChoice: PropTypes.func,\n onRemoveChoice: PropTypes.func,\n minRowHeight: PropTypes.string,\n };\n\n static defaultProps = {};\n\n render() {\n const {\n classes,\n className,\n choices = [],\n disabled,\n onDropChoice,\n onRemoveChoice,\n id,\n correct,\n minRowHeight,\n } = this.props;\n\n const names = classNames(classes.category, className);\n const placeholderNames = classNames(\n classes.placeholder,\n correct === false && classes.incorrect,\n correct === true && classes.correct,\n );\n\n return (\n <div className={names}>\n <PlaceHolder\n onDropChoice={onDropChoice}\n disabled={disabled}\n className={placeholderNames}\n minRowHeight={minRowHeight}\n >\n {choices.map((c, index) => (\n <Choice\n onRemoveChoice={onRemoveChoice}\n disabled={disabled}\n key={index}\n choiceIndex={index}\n categoryId={id}\n {...c}\n />\n ))}\n </PlaceHolder>\n </div>\n );\n }\n}\n\nconst styles = (theme) => ({\n incorrect: {\n border: `solid 2px ${color.incorrect()}`,\n },\n correct: {\n border: `solid 2px ${color.correct()}`,\n },\n placeholder: {\n padding: theme.spacing.unit / 2,\n borderRadius: theme.spacing.unit / 2,\n gridColumnGap: 0,\n gridRowGap: 0,\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center',\n alignContent: 'flex-start',\n },\n category: {\n display: 'flex',\n flexDirection: 'column',\n flex: 2,\n },\n});\n\nexport default withStyles(styles)(Category);\n"],"file":"category.js"}
1
+ {"version":3,"file":"category.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_renderUi","_choice","_droppablePlaceholder","CategoryType","exports","id","PropTypes","string","isRequired","categoryId","Category","React","Component","render","className","choices","disabled","onDropChoice","onRemoveChoice","correct","minRowHeight","props","default","createElement","StyledDiv","StyledPlaceHolder","map","c","index","_extends2","key","choiceIndex","_defineProperty2","bool","func","styled","theme","display","flexDirection","flex","PlaceHolder","shouldForwardProp","prop","padding","spacing","borderRadius","gridColumnGap","gridRowGap","flexWrap","justifyContent","alignItems","alignContent","border","color","incorrect","_default"],"sources":["../../src/categorize/category.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { color } from '@pie-lib/render-ui';\n\nimport Choice from './choice';\nimport PlaceHolder from './droppable-placeholder';\n\nexport const CategoryType = {\n id: PropTypes.string.isRequired,\n categoryId: PropTypes.string,\n};\n\nexport class Category extends React.Component {\n static propTypes = {\n ...CategoryType,\n className: PropTypes.string,\n disabled: PropTypes.bool,\n onDropChoice: PropTypes.func,\n onRemoveChoice: PropTypes.func,\n minRowHeight: PropTypes.string,\n };\n\n static defaultProps = {};\n\n render() {\n const {\n className,\n choices = [],\n disabled,\n onDropChoice,\n onRemoveChoice,\n id,\n correct,\n minRowHeight,\n } = this.props;\n\n return (\n <StyledDiv className={className} id={id}>\n <StyledPlaceHolder\n id={id}\n onDropChoice={onDropChoice}\n disabled={disabled}\n correct={correct}\n minRowHeight={minRowHeight}\n >\n {choices.map((c, index) => (\n <Choice\n onRemoveChoice={onRemoveChoice}\n disabled={disabled}\n key={index}\n choiceIndex={index}\n categoryId={id}\n {...c}\n />\n ))}\n </StyledPlaceHolder>\n </StyledDiv>\n );\n }\n}\n\nconst StyledDiv = styled('div')(({ theme }) => ({\n display: 'flex',\n flexDirection: 'column',\n flex: 2,\n}));\n\nconst StyledPlaceHolder = styled(PlaceHolder, {\n shouldForwardProp: (prop) => prop !== 'correct',\n})(({ theme, correct }) => ({\n padding: theme.spacing(0.5),\n borderRadius: theme.spacing(0.5),\n gridColumnGap: 0,\n gridRowGap: 0,\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'center',\n alignItems: 'center',\n alignContent: 'flex-start',\n ...(correct === false && {\n border: `solid 2px ${color.incorrect()}`,\n }),\n ...(correct === true && {\n border: `solid 2px ${color.correct()}`,\n }),\n}));\n\nexport default Category;\n"],"mappings":"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","ignoreList":[]}
@@ -1,264 +1,137 @@
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 _debug = _interopRequireDefault(require("debug"));
13
+ var _styles = require("@mui/material/styles");
14
+ var _core = require("@dnd-kit/core");
34
15
  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
-
16
+ var _Card = _interopRequireDefault(require("@mui/material/Card"));
17
+ var _CardContent = _interopRequireDefault(require("@mui/material/CardContent"));
40
18
  var _renderUi = require("@pie-lib/render-ui");
41
-
42
- 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
+ content,
62
+ isDragging,
63
+ disabled,
64
+ correct
65
+ } = this.props;
66
+ return /*#__PURE__*/_react.default.createElement(ChoiceContainer, {
67
+ isDragging: isDragging,
68
+ disabled: disabled,
69
+ correct: correct
70
+ }, /*#__PURE__*/_react.default.createElement(StyledCard, null, /*#__PURE__*/_react.default.createElement(StyledCardContent, {
71
+ dangerouslySetInnerHTML: {
72
+ __html: content
73
+ }
74
+ })));
67
75
  }
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
-
76
+ }
98
77
  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
- },
133
- dragging: {
134
- cursor: 'move'
78
+ (0, _defineProperty2.default)(Layout, "propTypes", {
79
+ ...ChoiceType,
80
+ disabled: _propTypes.default.bool,
81
+ correct: _propTypes.default.bool,
82
+ isDragging: _propTypes.default.bool
83
+ });
84
+ (0, _defineProperty2.default)(Layout, "defaultProps", {});
85
+ const DraggableChoice = ({
86
+ id,
87
+ content,
88
+ disabled,
89
+ correct,
90
+ extraStyle,
91
+ categoryId,
92
+ choiceIndex
93
+ }) => {
94
+ // Generate unique draggable ID for each instance
95
+ // If in choices board (categoryId is undefined), use 'board' suffix
96
+ // If in a category, include categoryId and choiceIndex to make it unique
97
+ const draggableId = categoryId !== undefined ? `choice-${id}-${categoryId}-${choiceIndex}` : `choice-${id}-board`;
98
+ const {
99
+ attributes,
100
+ listeners,
101
+ setNodeRef,
102
+ isDragging
103
+ } = (0, _core.useDraggable)({
104
+ id: draggableId,
105
+ data: {
106
+ id,
107
+ categoryId,
108
+ choiceIndex,
109
+ value: content,
110
+ itemType: 'categorize',
111
+ type: 'choice'
135
112
  },
136
- card: {
137
- color: _renderUi.color.text(),
138
- backgroundColor: _renderUi.color.background(),
139
- width: '100%',
140
- // Added for touch devices, for image content.
141
- // This will prevent the context menu from appearing and not allowing other interactions with the image.
142
- pointerEvents: 'none'
113
+ disabled
114
+ });
115
+ return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
116
+ ref: setNodeRef,
117
+ style: {
118
+ margin: '4px',
119
+ ...extraStyle
143
120
  }
144
- };
121
+ }, listeners, attributes), /*#__PURE__*/_react.default.createElement(Layout, {
122
+ id: id,
123
+ content: content,
124
+ disabled: disabled,
125
+ correct: correct,
126
+ isDragging: isDragging
127
+ }));
145
128
  };
146
-
147
- var Styled = (0, _styles.withStyles)(styles)(Layout);
148
-
149
- var Choice = /*#__PURE__*/function (_React$Component2) {
150
- (0, _inherits2["default"])(Choice, _React$Component2);
151
-
152
- var _super2 = _createSuper(Choice);
153
-
154
- function Choice() {
155
- var _this;
156
-
157
- (0, _classCallCheck2["default"])(this, Choice);
158
-
159
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
160
- args[_key] = arguments[_key];
161
- }
162
-
163
- _this = _super2.call.apply(_super2, [this].concat(args));
164
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleTouchStart", function (e) {
165
- e.preventDefault();
166
- });
167
- return _this;
168
- }
169
-
170
- (0, _createClass2["default"])(Choice, [{
171
- key: "componentDidMount",
172
- value: function componentDidMount() {
173
- if (this.ref) {
174
- this.ref.addEventListener('touchstart', this.handleTouchStart, {
175
- passive: false
176
- });
177
- }
178
- }
179
- }, {
180
- key: "componentWillUnmount",
181
- value: function componentWillUnmount() {
182
- if (this.ref) {
183
- this.ref.removeEventListener('touchstart', this.handleTouchStart);
184
- }
185
- }
186
- }, {
187
- key: "render",
188
- value: function render() {
189
- var _this2 = this;
190
-
191
- var _this$props2 = this.props,
192
- connectDragSource = _this$props2.connectDragSource,
193
- id = _this$props2.id,
194
- content = _this$props2.content,
195
- disabled = _this$props2.disabled,
196
- isDragging = _this$props2.isDragging,
197
- correct = _this$props2.correct,
198
- extraStyle = _this$props2.extraStyle;
199
- return connectDragSource( /*#__PURE__*/_react["default"].createElement("div", {
200
- style: _objectSpread({
201
- margin: '4px'
202
- }, extraStyle),
203
- ref: function ref(_ref) {
204
- return _this2.ref = _ref;
205
- },
206
- draggable: !disabled
207
- }, /*#__PURE__*/_react["default"].createElement(Styled, {
208
- id: id,
209
- content: content,
210
- disabled: disabled,
211
- correct: correct,
212
- isDragging: isDragging
213
- })));
214
- }
215
- }]);
216
- return Choice;
217
- }(_react["default"].Component);
218
-
219
- exports.Choice = Choice;
220
- (0, _defineProperty2["default"])(Choice, "propTypes", _objectSpread(_objectSpread({}, ChoiceType), {}, {
221
- extraStyle: _propTypes["default"].object,
222
- connectDragSource: _propTypes["default"].func.isRequired
223
- }));
224
- var spec = {
225
- canDrag: function canDrag(props) {
226
- return !props.disabled;
227
- },
228
- beginDrag: function beginDrag(props) {
229
- var out = {
230
- id: props.id,
231
- categoryId: props.categoryId,
232
- choiceIndex: props.choiceIndex,
233
- value: props.content,
234
- itemType: 'categorize'
235
- };
236
- log('[beginDrag] out:', out);
237
- return out;
238
- },
239
- endDrag: function endDrag(props, monitor) {
240
- if (!monitor.didDrop()) {
241
- var item = monitor.getItem();
242
-
243
- if (item.categoryId) {
244
- log('wasnt droppped - what to do?');
245
- props.onRemoveChoice(item);
246
- }
247
- }
248
- }
129
+ DraggableChoice.propTypes = {
130
+ ...ChoiceType,
131
+ extraStyle: _propTypes.default.object,
132
+ categoryId: _propTypes.default.string,
133
+ choiceIndex: _propTypes.default.number,
134
+ onRemoveChoice: _propTypes.default.func
249
135
  };
250
- exports.spec = spec;
251
- var DraggableChoice = (0, _reactDnd.DragSource)(function (_ref2) {
252
- var uid = _ref2.uid;
253
- return uid;
254
- }, spec, function (connect, monitor) {
255
- return {
256
- connectDragSource: connect.dragSource(),
257
- isDragging: monitor.isDragging()
258
- };
259
- })(Choice);
260
-
261
- var _default = _drag.uid.withUid(DraggableChoice);
262
-
263
- exports["default"] = _default;
264
- //# sourceMappingURL=choice.js.map
136
+ var _default = exports.default = _drag.uid.withUid(DraggableChoice);
137
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfZGVidWciLCJfc3R5bGVzIiwiX2NvcmUiLCJfZHJhZyIsIl9DYXJkIiwiX0NhcmRDb250ZW50IiwiX3JlbmRlclVpIiwibG9nIiwiZGVidWciLCJDaG9pY2VUeXBlIiwiZXhwb3J0cyIsImNvbnRlbnQiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwiaWQiLCJDaG9pY2VDb250YWluZXIiLCJzdHlsZWQiLCJzaG91bGRGb3J3YXJkUHJvcCIsInByb3AiLCJpbmNsdWRlcyIsImlzRHJhZ2dpbmciLCJkaXNhYmxlZCIsImNvcnJlY3QiLCJkaXJlY3Rpb24iLCJjdXJzb3IiLCJ3aWR0aCIsImJvcmRlclJhZGl1cyIsImJvcmRlciIsImNvbG9yIiwiaW5jb3JyZWN0IiwiU3R5bGVkQ2FyZCIsIkNhcmQiLCJ0ZXh0IiwiYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZCIsIlN0eWxlZENhcmRDb250ZW50IiwiQ2FyZENvbnRlbnQiLCJ0aGVtZSIsIndoaXRlIiwicGFkZGluZ0JvdHRvbSIsInNwYWNpbmciLCJMYXlvdXQiLCJSZWFjdCIsIkNvbXBvbmVudCIsInJlbmRlciIsInByb3BzIiwiZGVmYXVsdCIsImNyZWF0ZUVsZW1lbnQiLCJkYW5nZXJvdXNseVNldElubmVySFRNTCIsIl9faHRtbCIsIl9kZWZpbmVQcm9wZXJ0eTIiLCJib29sIiwiRHJhZ2dhYmxlQ2hvaWNlIiwiZXh0cmFTdHlsZSIsImNhdGVnb3J5SWQiLCJjaG9pY2VJbmRleCIsImRyYWdnYWJsZUlkIiwidW5kZWZpbmVkIiwiYXR0cmlidXRlcyIsImxpc3RlbmVycyIsInNldE5vZGVSZWYiLCJ1c2VEcmFnZ2FibGUiLCJkYXRhIiwidmFsdWUiLCJpdGVtVHlwZSIsInR5cGUiLCJfZXh0ZW5kczIiLCJyZWYiLCJzdHlsZSIsIm1hcmdpbiIsInByb3BUeXBlcyIsIm9iamVjdCIsIm51bWJlciIsIm9uUmVtb3ZlQ2hvaWNlIiwiZnVuYyIsIl9kZWZhdWx0IiwidWlkIiwid2l0aFVpZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jYXRlZ29yaXplL2Nob2ljZS5qc3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgZGVidWcgZnJvbSAnZGVidWcnO1xuaW1wb3J0IHsgc3R5bGVkIH0gZnJvbSAnQG11aS9tYXRlcmlhbC9zdHlsZXMnO1xuaW1wb3J0IHsgdXNlRHJhZ2dhYmxlIH0gZnJvbSAnQGRuZC1raXQvY29yZSc7XG5pbXBvcnQgeyB1aWQgfSBmcm9tICdAcGllLWxpYi9kcmFnJztcbmltcG9ydCBDYXJkIGZyb20gJ0BtdWkvbWF0ZXJpYWwvQ2FyZCc7XG5pbXBvcnQgQ2FyZENvbnRlbnQgZnJvbSAnQG11aS9tYXRlcmlhbC9DYXJkQ29udGVudCc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5cbmNvbnN0IGxvZyA9IGRlYnVnKCdAcGllLXVpOmNhdGVnb3JpemU6Y2hvaWNlJyk7XG5cbmV4cG9ydCBjb25zdCBDaG9pY2VUeXBlID0ge1xuICBjb250ZW50OiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWQsXG4gIGlkOiBQcm9wVHlwZXMuc3RyaW5nLFxufTtcblxuY29uc3QgQ2hvaWNlQ29udGFpbmVyID0gc3R5bGVkKCdkaXYnLCB7XG4gIHNob3VsZEZvcndhcmRQcm9wOiAocHJvcCkgPT4gIVsnaXNEcmFnZ2luZycsICdkaXNhYmxlZCcsICdjb3JyZWN0J10uaW5jbHVkZXMocHJvcCksXG59KSgoeyBpc0RyYWdnaW5nLCBkaXNhYmxlZCwgY29ycmVjdCB9KSA9PiAoe1xuICBkaXJlY3Rpb246ICdpbml0aWFsJyxcbiAgY3Vyc29yOiBkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiBpc0RyYWdnaW5nID8gJ21vdmUnIDogJ3BvaW50ZXInLFxuICB3aWR0aDogJzEwMCUnLFxuICBib3JkZXJSYWRpdXM6ICc2cHgnLFxuICAuLi4oY29ycmVjdCA9PT0gdHJ1ZSAmJiB7XG4gICAgYm9yZGVyOiBgc29saWQgMnB4ICR7Y29sb3IuY29ycmVjdCgpfWAsXG4gIH0pLFxuICAuLi4oY29ycmVjdCA9PT0gZmFsc2UgJiYge1xuICAgIGJvcmRlcjogYHNvbGlkIDJweCAke2NvbG9yLmluY29ycmVjdCgpfWAsXG4gIH0pLFxufSkpO1xuXG5jb25zdCBTdHlsZWRDYXJkID0gc3R5bGVkKENhcmQpKHtcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gIHdpZHRoOiAnMTAwJScsXG59KTtcblxuY29uc3QgU3R5bGVkQ2FyZENvbnRlbnQgPSBzdHlsZWQoQ2FyZENvbnRlbnQpKCh7IHRoZW1lIH0pID0+ICh7XG4gIGNvbG9yOiBjb2xvci50ZXh0KCksXG4gIGJhY2tncm91bmRDb2xvcjogY29sb3Iud2hpdGUoKSxcbiAgJyY6bGFzdC1jaGlsZCc6IHtcbiAgICBwYWRkaW5nQm90dG9tOiB0aGVtZS5zcGFjaW5nKDIpLFxuICB9LFxuICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICBib3JkZXI6ICcxcHggc29saWQnLFxufSkpO1xuXG5leHBvcnQgY2xhc3MgTGF5b3V0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICAuLi5DaG9pY2VUeXBlLFxuICAgIGRpc2FibGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgICBjb3JyZWN0OiBQcm9wVHlwZXMuYm9vbCxcbiAgICBpc0RyYWdnaW5nOiBQcm9wVHlwZXMuYm9vbCxcbiAgfTtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHt9O1xuICByZW5kZXIoKSB7XG4gICAgY29uc3QgeyBjb250ZW50LCBpc0RyYWdnaW5nLCBkaXNhYmxlZCwgY29ycmVjdCB9ID0gdGhpcy5wcm9wcztcblxuICAgIHJldHVybiAoXG4gICAgICA8Q2hvaWNlQ29udGFpbmVyIGlzRHJhZ2dpbmc9e2lzRHJhZ2dpbmd9IGRpc2FibGVkPXtkaXNhYmxlZH0gY29ycmVjdD17Y29ycmVjdH0+XG4gICAgICAgIDxTdHlsZWRDYXJkPlxuICAgICAgICAgIDxTdHlsZWRDYXJkQ29udGVudCBkYW5nZXJvdXNseVNldElubmVySFRNTD17eyBfX2h0bWw6IGNvbnRlbnQgfX0gLz5cbiAgICAgICAgPC9TdHlsZWRDYXJkPlxuICAgICAgPC9DaG9pY2VDb250YWluZXI+XG4gICAgKTtcbiAgfVxufVxuXG5jb25zdCBEcmFnZ2FibGVDaG9pY2UgPSAoeyBpZCwgY29udGVudCwgZGlzYWJsZWQsIGNvcnJlY3QsIGV4dHJhU3R5bGUsIGNhdGVnb3J5SWQsIGNob2ljZUluZGV4IH0pID0+IHtcbiAgLy8gR2VuZXJhdGUgdW5pcXVlIGRyYWdnYWJsZSBJRCBmb3IgZWFjaCBpbnN0YW5jZVxuICAvLyBJZiBpbiBjaG9pY2VzIGJvYXJkIChjYXRlZ29yeUlkIGlzIHVuZGVmaW5lZCksIHVzZSAnYm9hcmQnIHN1ZmZpeFxuICAvLyBJZiBpbiBhIGNhdGVnb3J5LCBpbmNsdWRlIGNhdGVnb3J5SWQgYW5kIGNob2ljZUluZGV4IHRvIG1ha2UgaXQgdW5pcXVlXG4gIGNvbnN0IGRyYWdnYWJsZUlkID0gY2F0ZWdvcnlJZCAhPT0gdW5kZWZpbmVkID8gYGNob2ljZS0ke2lkfS0ke2NhdGVnb3J5SWR9LSR7Y2hvaWNlSW5kZXh9YCA6IGBjaG9pY2UtJHtpZH0tYm9hcmRgO1xuXG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmLCBpc0RyYWdnaW5nIH0gPSB1c2VEcmFnZ2FibGUoe1xuICAgIGlkOiBkcmFnZ2FibGVJZCxcbiAgICBkYXRhOiB7XG4gICAgICBpZCxcbiAgICAgIGNhdGVnb3J5SWQsXG4gICAgICBjaG9pY2VJbmRleCxcbiAgICAgIHZhbHVlOiBjb250ZW50LFxuICAgICAgaXRlbVR5cGU6ICdjYXRlZ29yaXplJyxcbiAgICAgIHR5cGU6ICdjaG9pY2UnLFxuICAgIH0sXG4gICAgZGlzYWJsZWQsXG4gIH0pO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdiByZWY9e3NldE5vZGVSZWZ9IHN0eWxlPXt7IG1hcmdpbjogJzRweCcsIC4uLmV4dHJhU3R5bGUgfX0gey4uLmxpc3RlbmVyc30gey4uLmF0dHJpYnV0ZXN9PlxuICAgICAgPExheW91dCBpZD17aWR9IGNvbnRlbnQ9e2NvbnRlbnR9IGRpc2FibGVkPXtkaXNhYmxlZH0gY29ycmVjdD17Y29ycmVjdH0gaXNEcmFnZ2luZz17aXNEcmFnZ2luZ30gLz5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbkRyYWdnYWJsZUNob2ljZS5wcm9wVHlwZXMgPSB7XG4gIC4uLkNob2ljZVR5cGUsXG4gIGV4dHJhU3R5bGU6IFByb3BUeXBlcy5vYmplY3QsXG4gIGNhdGVnb3J5SWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGNob2ljZUluZGV4OiBQcm9wVHlwZXMubnVtYmVyLFxuICBvblJlbW92ZUNob2ljZTogUHJvcFR5cGVzLmZ1bmMsXG59O1xuXG5leHBvcnQgZGVmYXVsdCB1aWQud2l0aFVpZChEcmFnZ2FibGVDaG9pY2UpO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxNQUFBLEdBQUFILHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRyxPQUFBLEdBQUFILE9BQUE7QUFDQSxJQUFBSSxLQUFBLEdBQUFKLE9BQUE7QUFDQSxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFDQSxJQUFBTSxLQUFBLEdBQUFQLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBTyxZQUFBLEdBQUFSLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBUSxTQUFBLEdBQUFSLE9BQUE7QUFFQSxNQUFNUyxHQUFHLEdBQUcsSUFBQUMs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
@@ -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","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 },\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","_debug","_styles","_core","_drag","_Card","_CardContent","_renderUi","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","props","default","createElement","dangerouslySetInnerHTML","__html","_defineProperty2","bool","DraggableChoice","extraStyle","categoryId","choiceIndex","draggableId","undefined","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 debug from 'debug';\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';\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 disabled: PropTypes.bool,\n correct: PropTypes.bool,\n isDragging: PropTypes.bool,\n };\n static defaultProps = {};\n render() {\n const { content, isDragging, disabled, correct } = this.props;\n\n return (\n <ChoiceContainer isDragging={isDragging} disabled={disabled} correct={correct}>\n <StyledCard>\n <StyledCardContent dangerouslySetInnerHTML={{ __html: content }} />\n </StyledCard>\n </ChoiceContainer>\n );\n }\n}\n\nconst DraggableChoice = ({ id, content, disabled, correct, extraStyle, categoryId, choiceIndex }) => {\n // Generate unique draggable ID for each instance\n // If in choices board (categoryId is undefined), use 'board' suffix\n // If in a category, include categoryId and choiceIndex to make it unique\n const draggableId = categoryId !== undefined ? `choice-${id}-${categoryId}-${choiceIndex}` : `choice-${id}-board`;\n\n const { attributes, listeners, setNodeRef, isDragging } = useDraggable({\n id: draggableId,\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 ref={setNodeRef} style={{ margin: '4px', ...extraStyle }} {...listeners} {...attributes}>\n <Layout id={id} content={content} disabled={disabled} correct={correct} isDragging={isDragging} />\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":[]}