@pie-lib/drag 2.22.2-next.0 → 2.23.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.
- package/CHANGELOG.md +8 -11
- package/lib/drag-in-the-blank-dp.js +28 -24
- package/lib/drag-in-the-blank-dp.js.map +1 -1
- package/lib/drag-provider.js +47 -0
- package/lib/drag-provider.js.map +1 -0
- package/lib/drag-type.js +2 -3
- package/lib/drag-type.js.map +1 -1
- package/lib/draggable-choice.js +87 -0
- package/lib/draggable-choice.js.map +1 -0
- package/lib/droppable-placeholder.js +33 -65
- package/lib/droppable-placeholder.js.map +1 -1
- package/lib/ica-dp.js +38 -26
- package/lib/ica-dp.js.map +1 -1
- package/lib/index.js +7 -35
- package/lib/index.js.map +1 -1
- package/lib/match-list-dp.js +38 -26
- package/lib/match-list-dp.js.map +1 -1
- package/lib/placeholder.js +77 -102
- package/lib/placeholder.js.map +1 -1
- package/lib/preview-component.js +67 -107
- package/lib/preview-component.js.map +1 -1
- package/lib/swap.js +1 -7
- package/lib/swap.js.map +1 -1
- package/lib/uid-context.js +4 -18
- package/lib/uid-context.js.map +1 -1
- package/package.json +12 -10
- package/src/drag-in-the-blank-dp.jsx +32 -15
- package/src/drag-provider.jsx +40 -0
- package/src/drag-type.js +1 -1
- package/src/draggable-choice.jsx +87 -0
- package/src/droppable-placeholder.jsx +38 -28
- package/src/ica-dp.jsx +41 -18
- package/src/index.js +4 -8
- package/src/match-list-dp.jsx +41 -18
- package/src/placeholder.jsx +64 -71
- package/src/preview-component.jsx +62 -70
- package/lib/choice.js +0 -129
- package/lib/choice.js.map +0 -1
- package/lib/with-drag-context.js +0 -59
- package/lib/with-drag-context.js.map +0 -1
- package/src/choice.jsx +0 -76
- package/src/with-drag-context.js +0 -32
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_placeholder","_interopRequireDefault","require","_draggableChoice","_dragProvider","_swap","uid","_interopRequireWildcard","exports","_matchListDp","_dragInTheBlankDp","_icaDp","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor"],"sources":["../src/index.js"],"sourcesContent":["import PlaceHolder from './placeholder';\nimport DraggableChoice from './draggable-choice';\nimport DragProvider from './drag-provider';\nimport swap from './swap';\nimport * as uid from './uid-context';\nimport MatchDroppablePlaceholder from './match-list-dp';\nimport DragDroppablePlaceholder from './drag-in-the-blank-dp';\nimport ICADroppablePlaceholder from './ica-dp';\n\nexport {\n PlaceHolder,\n MatchDroppablePlaceholder,\n DragDroppablePlaceholder,\n ICADroppablePlaceholder,\n DragProvider,\n DraggableChoice,\n swap,\n uid,\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,KAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,GAAA,GAAAC,uBAAA,CAAAL,OAAA;AAAqCM,OAAA,CAAAF,GAAA,GAAAA,GAAA;AACrC,IAAAG,YAAA,GAAAR,sBAAA,CAAAC,OAAA;AACA,IAAAQ,iBAAA,GAAAT,sBAAA,CAAAC,OAAA;AACA,IAAAS,MAAA,GAAAV,sBAAA,CAAAC,OAAA;AAA+C,SAAAK,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,wBAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,mBAAAT,CAAA,iBAAAA,CAAA,gBAAAU,OAAA,CAAAV,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,cAAAM,EAAA,IAAAd,CAAA,gBAAAc,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAhB,CAAA,EAAAc,EAAA,OAAAP,CAAA,IAAAD,CAAA,GAAAW,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAnB,CAAA,EAAAc,EAAA,OAAAP,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAM,EAAA,EAAAP,CAAA,IAAAC,CAAA,CAAAM,EAAA,IAAAd,CAAA,CAAAc,EAAA,WAAAN,CAAA,KAAAR,CAAA,EAAAC,CAAA","ignoreList":[]}
|
package/lib/match-list-dp.js
CHANGED
|
@@ -1,37 +1,49 @@
|
|
|
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.
|
|
9
|
-
|
|
10
|
-
var
|
|
11
|
-
|
|
7
|
+
exports.MatchListDroppable = MatchListDroppable;
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
10
|
+
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutProperties"));
|
|
11
|
+
var _react = _interopRequireDefault(require("react"));
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
13
|
var _droppablePlaceholder = require("./droppable-placeholder");
|
|
14
|
+
var _excluded = ["id", "children", "disabled", "onRemoveAnswer"];
|
|
15
|
+
// With @dnd-kit, the drop logic is handled in the DragProvider's onDragEnd callback
|
|
16
|
+
// This component now just wraps DroppablePlaceholder with match-list specific logic
|
|
13
17
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
18
|
+
function MatchListDroppable(_ref) {
|
|
19
|
+
var id = _ref.id,
|
|
20
|
+
children = _ref.children,
|
|
21
|
+
disabled = _ref.disabled,
|
|
22
|
+
onRemoveAnswer = _ref.onRemoveAnswer,
|
|
23
|
+
rest = (0, _objectWithoutProperties2["default"])(_ref, _excluded);
|
|
24
|
+
// The actual drop handling will be managed by the parent component
|
|
25
|
+
// through the DragProvider's onDragEnd callback
|
|
26
|
+
// The onRemoveAnswer logic should be handled in the parent's onDragEnd:
|
|
27
|
+
//
|
|
28
|
+
// const handleDragEnd = (event) => {
|
|
29
|
+
// if (event.over && event.active) {
|
|
30
|
+
// const item = event.active.data.current;
|
|
31
|
+
// if (onRemoveAnswer) {
|
|
32
|
+
// onRemoveAnswer(item.promptId);
|
|
33
|
+
// }
|
|
34
|
+
// }
|
|
35
|
+
// };
|
|
22
36
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
37
|
+
return /*#__PURE__*/_react["default"].createElement(_droppablePlaceholder.DroppablePlaceholder, (0, _extends2["default"])({
|
|
38
|
+
id: id,
|
|
39
|
+
disabled: disabled
|
|
40
|
+
}, rest), children);
|
|
41
|
+
}
|
|
42
|
+
MatchListDroppable.propTypes = {
|
|
43
|
+
id: _propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number]).isRequired,
|
|
44
|
+
children: _propTypes["default"].node,
|
|
45
|
+
disabled: _propTypes["default"].bool,
|
|
46
|
+
onRemoveAnswer: _propTypes["default"].func
|
|
27
47
|
};
|
|
28
|
-
exports
|
|
29
|
-
var WithTarget = (0, _reactDnd.DropTarget)(_dragType["default"].types.ml, spec, function (connect, monitor) {
|
|
30
|
-
return {
|
|
31
|
-
connectDropTarget: connect.dropTarget(),
|
|
32
|
-
isOver: monitor.isOver()
|
|
33
|
-
};
|
|
34
|
-
})(_droppablePlaceholder.DroppablePlaceholder);
|
|
35
|
-
var _default = WithTarget;
|
|
36
|
-
exports["default"] = _default;
|
|
48
|
+
var _default = exports["default"] = MatchListDroppable;
|
|
37
49
|
//# sourceMappingURL=match-list-dp.js.map
|
package/lib/match-list-dp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"match-list-dp.js","names":["_react","_interopRequireDefault","require","_propTypes","_droppablePlaceholder","_excluded","MatchListDroppable","_ref","id","children","disabled","onRemoveAnswer","rest","_objectWithoutProperties2","createElement","DroppablePlaceholder","_extends2","propTypes","PropTypes","oneOfType","string","number","isRequired","node","bool","func","_default","exports"],"sources":["../src/match-list-dp.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { DroppablePlaceholder } from './droppable-placeholder';\n\n// With @dnd-kit, the drop logic is handled in the DragProvider's onDragEnd callback\n// This component now just wraps DroppablePlaceholder with match-list specific logic\n\nexport function MatchListDroppable({ \n id, \n children, \n disabled, \n onRemoveAnswer,\n ...rest \n}) {\n // The actual drop handling will be managed by the parent component\n // through the DragProvider's onDragEnd callback\n // The onRemoveAnswer logic should be handled in the parent's onDragEnd:\n // \n // const handleDragEnd = (event) => {\n // if (event.over && event.active) {\n // const item = event.active.data.current;\n // if (onRemoveAnswer) {\n // onRemoveAnswer(item.promptId);\n // }\n // }\n // };\n \n return (\n <DroppablePlaceholder\n id={id}\n disabled={disabled}\n {...rest}\n >\n {children}\n </DroppablePlaceholder>\n );\n}\n\nMatchListDroppable.propTypes = {\n id: PropTypes.oneOfType([PropTypes.string, PropTypes.number]).isRequired,\n children: PropTypes.node,\n disabled: PropTypes.bool,\n onRemoveAnswer: PropTypes.func,\n};\n\nexport default MatchListDroppable;\n"],"mappings":";;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,qBAAA,GAAAF,OAAA;AAA+D,IAAAG,SAAA;AAE/D;AACA;;AAEO,SAASC,kBAAkBA,CAAAC,IAAA,EAM/B;EAAA,IALDC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IACFC,QAAQ,GAAAF,IAAA,CAARE,QAAQ;IACRC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IACRC,cAAc,GAAAJ,IAAA,CAAdI,cAAc;IACXC,IAAI,OAAAC,yBAAA,aAAAN,IAAA,EAAAF,SAAA;EAEP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,oBACEL,MAAA,YAAAc,aAAA,CAACV,qBAAA,CAAAW,oBAAoB,MAAAC,SAAA;IACnBR,EAAE,EAAEA,EAAG;IACPE,QAAQ,EAAEA;EAAS,GACfE,IAAI,GAEPH,QACmB,CAAC;AAE3B;AAEAH,kBAAkB,CAACW,SAAS,GAAG;EAC7BT,EAAE,EAAEU,qBAAS,CAACC,SAAS,CAAC,CAACD,qBAAS,CAACE,MAAM,EAAEF,qBAAS,CAACG,MAAM,CAAC,CAAC,CAACC,UAAU;EACxEb,QAAQ,EAAES,qBAAS,CAACK,IAAI;EACxBb,QAAQ,EAAEQ,qBAAS,CAACM,IAAI;EACxBb,cAAc,EAAEO,qBAAS,CAACO;AAC5B,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEarB,kBAAkB","ignoreList":[]}
|
package/lib/placeholder.js
CHANGED
|
@@ -1,75 +1,112 @@
|
|
|
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
7
|
exports["default"] = exports.PlaceHolder = void 0;
|
|
9
|
-
|
|
10
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
11
|
-
|
|
12
9
|
var _react = _interopRequireDefault(require("react"));
|
|
13
|
-
|
|
14
|
-
var _styles = require("@material-ui/core/styles");
|
|
15
|
-
|
|
10
|
+
var _styles = require("@mui/material/styles");
|
|
16
11
|
var _classnames = _interopRequireDefault(require("classnames"));
|
|
17
|
-
|
|
18
12
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
19
|
-
|
|
20
|
-
var _grey = _interopRequireDefault(require("@material-ui/core/colors/grey"));
|
|
21
|
-
|
|
22
13
|
var _renderUi = require("@pie-lib/render-ui");
|
|
23
|
-
|
|
24
|
-
function ownKeys(
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
14
|
+
var _colors = require("@mui/material/colors");
|
|
15
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
16
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
17
|
+
var StyledPlaceholder = (0, _styles.styled)('div')(function (_ref) {
|
|
18
|
+
var theme = _ref.theme;
|
|
19
|
+
return {
|
|
20
|
+
WebkitTouchCallout: 'none',
|
|
21
|
+
WebkitUserSelect: 'none',
|
|
22
|
+
KhtmlUserSelect: 'none',
|
|
23
|
+
MozUserSelect: 'none',
|
|
24
|
+
MsUserSelect: 'none',
|
|
25
|
+
userSelect: 'none',
|
|
26
|
+
width: '100%',
|
|
27
|
+
height: '100%',
|
|
28
|
+
background: _renderUi.color.white(),
|
|
29
|
+
transition: 'background-color 200ms linear, border-color 200ms linear',
|
|
30
|
+
boxSizing: 'border-box',
|
|
31
|
+
display: 'grid',
|
|
32
|
+
gridRowGap: "".concat(theme.spacing(1), "px"),
|
|
33
|
+
gridColumnGap: "".concat(theme.spacing(1), "px"),
|
|
34
|
+
padding: theme.spacing(1),
|
|
35
|
+
border: "2px dashed ".concat(_renderUi.color.black()),
|
|
36
|
+
'&.disabled': {
|
|
37
|
+
boxShadow: 'none',
|
|
38
|
+
background: theme.palette.background.paper
|
|
39
|
+
},
|
|
40
|
+
'&.over': {
|
|
41
|
+
border: "1px solid ".concat(_colors.grey[500]),
|
|
42
|
+
backgroundColor: "".concat(_colors.grey[300])
|
|
43
|
+
},
|
|
44
|
+
'&.board': {
|
|
45
|
+
padding: theme.spacing(1),
|
|
46
|
+
display: 'flex',
|
|
47
|
+
flexWrap: 'wrap',
|
|
48
|
+
alignItems: 'center',
|
|
49
|
+
minHeight: '100px',
|
|
50
|
+
justifyContent: 'center',
|
|
51
|
+
overflow: 'hidden',
|
|
52
|
+
touchAction: 'none',
|
|
53
|
+
backgroundColor: _renderUi.color.backgroundDark()
|
|
54
|
+
},
|
|
55
|
+
'&.categorizeBoard': {
|
|
56
|
+
padding: theme.spacing(0.5),
|
|
57
|
+
display: 'flex',
|
|
58
|
+
flexWrap: 'wrap',
|
|
59
|
+
alignItems: 'center',
|
|
60
|
+
minHeight: '100px',
|
|
61
|
+
justifyContent: 'center',
|
|
62
|
+
overflow: 'hidden',
|
|
63
|
+
touchAction: 'none',
|
|
64
|
+
backgroundColor: _renderUi.color.backgroundDark()
|
|
65
|
+
},
|
|
66
|
+
'&.verticalPool': {
|
|
67
|
+
display: 'flex',
|
|
68
|
+
flexFlow: 'column wrap'
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
var PlaceHolder = exports.PlaceHolder = function PlaceHolder(props) {
|
|
29
73
|
var children = props.children,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var names = (0, _classnames["default"])(classes.placeholder, disabled && classes.disabled, isOver && classes.over, classes[type], className);
|
|
74
|
+
className = props.className,
|
|
75
|
+
isOver = props.isOver,
|
|
76
|
+
type = props.type,
|
|
77
|
+
grid = props.grid,
|
|
78
|
+
disabled = props.disabled,
|
|
79
|
+
choiceBoard = props.choiceBoard,
|
|
80
|
+
isCategorize = props.isCategorize,
|
|
81
|
+
isVerticalPool = props.isVerticalPool,
|
|
82
|
+
minHeight = props.minHeight;
|
|
83
|
+
var names = (0, _classnames["default"])('placeholder', disabled && 'disabled', isOver && 'over', type, className);
|
|
41
84
|
var style = {};
|
|
42
|
-
|
|
43
85
|
if (grid && grid.columns) {
|
|
44
86
|
style.gridTemplateColumns = "repeat(".concat(grid.columns, ", 1fr)");
|
|
45
87
|
}
|
|
46
|
-
|
|
47
88
|
if (grid && grid.rows) {
|
|
48
89
|
var repeatValue = grid.rowsRepeatValue || '1fr';
|
|
49
90
|
style.gridTemplateRows = "repeat(".concat(grid.rows, ", ").concat(repeatValue, ")");
|
|
50
|
-
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
// The "type" is only sent through placement-ordering / placeholder
|
|
51
94
|
// It can be "choice" or "target"
|
|
52
95
|
// We apply a different style for the "choice" type
|
|
53
96
|
// For any other type, use a dashed black border and a white fill
|
|
54
|
-
|
|
55
|
-
|
|
56
97
|
if (type === 'choice') {
|
|
57
98
|
style.border = "1px solid ".concat(_renderUi.color.borderLight());
|
|
58
99
|
style.background = _renderUi.color.backgroundDark();
|
|
59
100
|
}
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
101
|
+
var boardStyle = isCategorize ? 'categorizeBoard' : 'board';
|
|
102
|
+
return /*#__PURE__*/_react["default"].createElement(StyledPlaceholder, {
|
|
63
103
|
style: _objectSpread(_objectSpread({}, style), {}, {
|
|
64
104
|
minHeight: minHeight
|
|
65
105
|
}),
|
|
66
|
-
className: (0, _classnames["default"])(
|
|
106
|
+
className: (0, _classnames["default"])(choiceBoard ? boardStyle : names, isVerticalPool && 'verticalPool')
|
|
67
107
|
}, children);
|
|
68
108
|
};
|
|
69
|
-
|
|
70
|
-
exports.PlaceHolder = PlaceHolder;
|
|
71
109
|
PlaceHolder.propTypes = {
|
|
72
|
-
classes: _propTypes["default"].object.isRequired,
|
|
73
110
|
choiceBoard: _propTypes["default"].bool,
|
|
74
111
|
grid: _propTypes["default"].shape({
|
|
75
112
|
columns: _propTypes["default"].number,
|
|
@@ -87,67 +124,5 @@ PlaceHolder.propTypes = {
|
|
|
87
124
|
isVerticalPool: _propTypes["default"].bool,
|
|
88
125
|
minHeight: _propTypes["default"].number
|
|
89
126
|
};
|
|
90
|
-
|
|
91
|
-
var styles = function styles(theme) {
|
|
92
|
-
return {
|
|
93
|
-
noSelectStyles: {
|
|
94
|
-
WebkitTouchCallout: 'none',
|
|
95
|
-
WebkitUserSelect: 'none',
|
|
96
|
-
KhtmlUserSelect: 'none',
|
|
97
|
-
MozUserSelect: 'none',
|
|
98
|
-
MsUserSelect: 'none',
|
|
99
|
-
userSelect: 'none'
|
|
100
|
-
},
|
|
101
|
-
placeholder: {
|
|
102
|
-
width: '100%',
|
|
103
|
-
height: '100%',
|
|
104
|
-
background: _renderUi.color.white(),
|
|
105
|
-
transition: 'background-color 200ms linear, border-color 200ms linear',
|
|
106
|
-
boxSizing: 'border-box',
|
|
107
|
-
display: 'grid',
|
|
108
|
-
gridRowGap: "".concat(theme.spacing.unit, "px"),
|
|
109
|
-
gridColumnGap: "".concat(theme.spacing.unit, "px"),
|
|
110
|
-
padding: theme.spacing.unit * 1,
|
|
111
|
-
border: "2px dashed ".concat(_renderUi.color.black())
|
|
112
|
-
},
|
|
113
|
-
disabled: {
|
|
114
|
-
boxShadow: 'none',
|
|
115
|
-
background: theme.palette.background.paper
|
|
116
|
-
},
|
|
117
|
-
over: {
|
|
118
|
-
border: "1px solid ".concat(_grey["default"][500]),
|
|
119
|
-
backgroundColor: "".concat(_grey["default"][300])
|
|
120
|
-
},
|
|
121
|
-
board: {
|
|
122
|
-
padding: theme.spacing.unit,
|
|
123
|
-
display: 'flex',
|
|
124
|
-
flexWrap: 'wrap',
|
|
125
|
-
alignItems: 'center',
|
|
126
|
-
minHeight: '100px',
|
|
127
|
-
justifyContent: 'center',
|
|
128
|
-
overflow: 'hidden',
|
|
129
|
-
touchAction: 'none',
|
|
130
|
-
backgroundColor: _renderUi.color.backgroundDark()
|
|
131
|
-
},
|
|
132
|
-
categorizeBoard: {
|
|
133
|
-
padding: theme.spacing.unit / 2,
|
|
134
|
-
display: 'flex',
|
|
135
|
-
flexWrap: 'wrap',
|
|
136
|
-
alignItems: 'center',
|
|
137
|
-
minHeight: '100px',
|
|
138
|
-
justifyContent: 'center',
|
|
139
|
-
overflow: 'hidden',
|
|
140
|
-
touchAction: 'none',
|
|
141
|
-
backgroundColor: _renderUi.color.backgroundDark()
|
|
142
|
-
},
|
|
143
|
-
verticalPool: {
|
|
144
|
-
display: 'flex',
|
|
145
|
-
flexFlow: 'column wrap'
|
|
146
|
-
}
|
|
147
|
-
};
|
|
148
|
-
};
|
|
149
|
-
|
|
150
|
-
var _default = (0, _styles.withStyles)(styles)(PlaceHolder);
|
|
151
|
-
|
|
152
|
-
exports["default"] = _default;
|
|
127
|
+
var _default = exports["default"] = PlaceHolder;
|
|
153
128
|
//# sourceMappingURL=placeholder.js.map
|
package/lib/placeholder.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"placeholder.js","names":["_react","_interopRequireDefault","require","_styles","_classnames","_propTypes","_renderUi","_colors","ownKeys","e","r","t","Object","keys","getOwnPropertySymbols","o","filter","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","StyledPlaceholder","styled","_ref","theme","WebkitTouchCallout","WebkitUserSelect","KhtmlUserSelect","MozUserSelect","MsUserSelect","userSelect","width","height","background","color","white","transition","boxSizing","display","gridRowGap","concat","spacing","gridColumnGap","padding","border","black","boxShadow","palette","paper","grey","backgroundColor","flexWrap","alignItems","minHeight","justifyContent","overflow","touchAction","backgroundDark","flexFlow","PlaceHolder","exports","props","children","className","isOver","type","grid","disabled","choiceBoard","isCategorize","isVerticalPool","names","classNames","style","columns","gridTemplateColumns","rows","repeatValue","rowsRepeatValue","gridTemplateRows","borderLight","boardStyle","createElement","propTypes","PropTypes","bool","shape","number","string","oneOfType","arrayOf","node","isRequired","index","_default"],"sources":["../src/placeholder.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { grey } from '@mui/material/colors';\n\nconst StyledPlaceholder = styled('div')(({ theme }) => ({\n WebkitTouchCallout: 'none',\n WebkitUserSelect: 'none',\n KhtmlUserSelect: 'none',\n MozUserSelect: 'none',\n MsUserSelect: 'none',\n userSelect: 'none',\n width: '100%',\n height: '100%',\n background: color.white(),\n transition: 'background-color 200ms linear, border-color 200ms linear',\n boxSizing: 'border-box',\n display: 'grid',\n gridRowGap: `${theme.spacing(1)}px`,\n gridColumnGap: `${theme.spacing(1)}px`,\n padding: theme.spacing(1),\n border: `2px dashed ${color.black()}`,\n '&.disabled': {\n boxShadow: 'none',\n background: theme.palette.background.paper,\n },\n '&.over': {\n border: `1px solid ${grey[500]}`,\n backgroundColor: `${grey[300]}`,\n },\n '&.board': {\n padding: theme.spacing(1),\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n minHeight: '100px',\n justifyContent: 'center',\n overflow: 'hidden',\n touchAction: 'none',\n backgroundColor: color.backgroundDark(),\n },\n '&.categorizeBoard': {\n padding: theme.spacing(0.5),\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center',\n minHeight: '100px',\n justifyContent: 'center',\n overflow: 'hidden',\n touchAction: 'none',\n backgroundColor: color.backgroundDark(),\n },\n '&.verticalPool': {\n display: 'flex',\n flexFlow: 'column wrap',\n },\n}));\n\nexport const PlaceHolder = (props) => {\n const {\n children,\n className,\n isOver,\n type,\n grid,\n disabled,\n choiceBoard,\n isCategorize,\n isVerticalPool,\n minHeight,\n } = props;\n\n const names = classNames(\n 'placeholder',\n disabled && 'disabled',\n isOver && 'over',\n type,\n className,\n );\n\n const style = {};\n\n if (grid && grid.columns) {\n style.gridTemplateColumns = `repeat(${grid.columns}, 1fr)`;\n }\n\n if (grid && grid.rows) {\n const repeatValue = grid.rowsRepeatValue || '1fr';\n\n style.gridTemplateRows = `repeat(${grid.rows}, ${repeatValue})`;\n }\n\n // The \"type\" is only sent through placement-ordering / placeholder\n // It can be \"choice\" or \"target\"\n // We apply a different style for the \"choice\" type\n // For any other type, use a dashed black border and a white fill\n if (type === 'choice') {\n style.border = `1px solid ${color.borderLight()}`;\n style.background = color.backgroundDark();\n }\n\n const boardStyle = isCategorize ? 'categorizeBoard' : 'board';\n\n return (\n <StyledPlaceholder\n style={{ ...style, minHeight: minHeight }}\n className={classNames(\n choiceBoard ? boardStyle : names,\n isVerticalPool && 'verticalPool',\n )}\n >\n {children}\n </StyledPlaceholder>\n );\n};\n\nPlaceHolder.propTypes = {\n choiceBoard: PropTypes.bool,\n grid: PropTypes.shape({\n columns: PropTypes.number,\n rows: PropTypes.number,\n // if a different value then 1fr is wanted\n rowsRepeatValue: PropTypes.string,\n }),\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n className: PropTypes.string,\n isOver: PropTypes.bool,\n index: PropTypes.number,\n type: PropTypes.string,\n disabled: PropTypes.bool,\n isCategorize: PropTypes.bool,\n isVerticalPool: PropTypes.bool,\n minHeight: PropTypes.number,\n};\n\nexport default PlaceHolder;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/preview-component.js
CHANGED
|
@@ -1,34 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
10
8
|
exports["default"] = void 0;
|
|
11
|
-
|
|
12
9
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
13
|
-
|
|
14
10
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
|
|
16
11
|
var _react = _interopRequireWildcard(require("react"));
|
|
17
|
-
|
|
18
|
-
var _reactDndMultiBackend = require("react-dnd-multi-backend");
|
|
19
|
-
|
|
12
|
+
var _core = require("@dnd-kit/core");
|
|
20
13
|
var _renderUi = require("@pie-lib/render-ui");
|
|
21
|
-
|
|
22
14
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
23
|
-
|
|
24
|
-
function
|
|
25
|
-
|
|
26
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
|
-
|
|
28
|
-
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; }
|
|
29
|
-
|
|
30
|
-
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; }
|
|
31
|
-
|
|
15
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
|
|
16
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
17
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
32
18
|
var styles = {
|
|
33
19
|
maskBlank: {
|
|
34
20
|
// this style is applied only on small screens and for touch devices when dragging, for drag-in-the-blank.
|
|
@@ -79,116 +65,90 @@ var styles = {
|
|
|
79
65
|
backgroundColor: _renderUi.color.background()
|
|
80
66
|
}
|
|
81
67
|
};
|
|
68
|
+
var getPrompt = function getPrompt(dragData) {
|
|
69
|
+
var _dragData$choice;
|
|
70
|
+
if (!dragData) return undefined;
|
|
71
|
+
|
|
72
|
+
// Handle different drag data structures based on the component type
|
|
73
|
+
if (dragData.choiceId) {
|
|
74
|
+
// DraggableChoice format
|
|
75
|
+
return dragData.value;
|
|
76
|
+
}
|
|
82
77
|
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
switch (itemType) {
|
|
87
|
-
// DRAG-IN-THE-BLANK
|
|
78
|
+
// Legacy format support
|
|
79
|
+
switch (dragData.itemType) {
|
|
88
80
|
case 'MaskBlank':
|
|
89
|
-
return
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
case 'react-dnd-response':
|
|
93
|
-
return item === null || item === void 0 ? void 0 : item.value;
|
|
94
|
-
// MATCH-LIST
|
|
95
|
-
|
|
81
|
+
return (_dragData$choice = dragData.choice) === null || _dragData$choice === void 0 ? void 0 : _dragData$choice.value;
|
|
82
|
+
case 'dnd-kit-response':
|
|
83
|
+
return dragData.value;
|
|
96
84
|
case 'Answer':
|
|
97
|
-
return
|
|
98
|
-
// PLACEMENT-ORDERING
|
|
99
|
-
|
|
85
|
+
return dragData.value;
|
|
100
86
|
case 'Tile':
|
|
101
|
-
return
|
|
102
|
-
|
|
87
|
+
return dragData.value;
|
|
88
|
+
case 'categorize':
|
|
89
|
+
return dragData.value;
|
|
103
90
|
default:
|
|
104
|
-
return
|
|
91
|
+
return dragData.value;
|
|
105
92
|
}
|
|
106
93
|
};
|
|
94
|
+
var getCustomStyle = function getCustomStyle(dragData) {
|
|
95
|
+
if (!dragData) return {};
|
|
96
|
+
var baseStyle = {
|
|
97
|
+
cursor: 'grabbing',
|
|
98
|
+
opacity: 0.8,
|
|
99
|
+
transform: 'rotate(5deg)' // Slight rotation for visual feedback
|
|
100
|
+
};
|
|
101
|
+
|
|
102
|
+
// Apply specific styles based on item type
|
|
103
|
+
if (dragData.itemType === 'MaskBlank') {
|
|
104
|
+
return _objectSpread(_objectSpread({}, baseStyle), styles.maskBlank);
|
|
105
|
+
}
|
|
106
|
+
if (dragData.itemType === 'categorize') {
|
|
107
|
+
return _objectSpread(_objectSpread({}, baseStyle), styles.categorize);
|
|
108
|
+
}
|
|
109
|
+
if (dragData.itemType === 'Answer') {
|
|
110
|
+
return _objectSpread(_objectSpread({}, baseStyle), styles.matchList);
|
|
111
|
+
}
|
|
112
|
+
if (dragData.itemType === 'Tile') {
|
|
113
|
+
return _objectSpread(_objectSpread({}, baseStyle), styles.placementOrdering);
|
|
114
|
+
}
|
|
115
|
+
if (dragData.itemType === 'dnd-kit-response') {
|
|
116
|
+
return _objectSpread(_objectSpread({}, baseStyle), styles.ica);
|
|
117
|
+
}
|
|
107
118
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
var top = (style === null || style === void 0 ? void 0 : style.top) || 0;
|
|
111
|
-
var left = (style === null || style === void 0 ? void 0 : style.left) || 0;
|
|
112
|
-
var position = (style === null || style === void 0 ? void 0 : style.position) || 'fixed';
|
|
113
|
-
return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
114
|
-
position: position,
|
|
115
|
-
top: top,
|
|
116
|
-
left: left,
|
|
117
|
-
transform: transform
|
|
118
|
-
}, itemType === 'MaskBlank' ? styles.maskBlank : {}), (item === null || item === void 0 ? void 0 : item.itemType) === 'categorize' ? styles.categorize : {}), itemType === 'Answer' ? styles.matchList : {}), itemType === 'Tile' ? styles.placementOrdering : {}), itemType === 'react-dnd-response' ? styles.ica : {});
|
|
119
|
+
// Default style for choice items
|
|
120
|
+
return _objectSpread(_objectSpread({}, baseStyle), styles.categorize);
|
|
119
121
|
};
|
|
120
|
-
|
|
121
122
|
var PreviewComponent = function PreviewComponent() {
|
|
122
|
-
var
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
var
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
var _useState = (0, _react.useState)({
|
|
131
|
-
x: 0,
|
|
132
|
-
y: 0
|
|
133
|
-
}),
|
|
134
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
135
|
-
touchPosition = _useState2[0],
|
|
136
|
-
setTouchPosition = _useState2[1];
|
|
137
|
-
|
|
138
|
-
var _useState3 = (0, _react.useState)(1),
|
|
139
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
140
|
-
zoomLevel = _useState4[0],
|
|
141
|
-
setZoomLevel = _useState4[1];
|
|
142
|
-
|
|
143
|
-
var handleTouchMove = (0, _react.useCallback)(function (event) {
|
|
144
|
-
if (event.touches.length > 0) {
|
|
145
|
-
var touch = event.touches[0];
|
|
146
|
-
var touchOffset = 1;
|
|
147
|
-
setTouchPosition({
|
|
148
|
-
x: (touch.clientX + touchOffset) / zoomLevel,
|
|
149
|
-
y: (touch.clientY + touchOffset) / zoomLevel
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
}, [zoomLevel]);
|
|
123
|
+
var _active$data;
|
|
124
|
+
var _useDndContext = (0, _core.useDndContext)(),
|
|
125
|
+
active = _useDndContext.active;
|
|
126
|
+
var _useState = (0, _react.useState)(1),
|
|
127
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
128
|
+
zoomLevel = _useState2[0],
|
|
129
|
+
setZoomLevel = _useState2[1];
|
|
153
130
|
var root = (0, _react.useRef)(null);
|
|
131
|
+
var dragData = active === null || active === void 0 || (_active$data = active.data) === null || _active$data === void 0 ? void 0 : _active$data.current;
|
|
132
|
+
var isActive = !!active;
|
|
154
133
|
(0, _react.useEffect)(function () {
|
|
155
|
-
if (
|
|
156
|
-
(0, _mathRendering.renderMath)(root.current);
|
|
134
|
+
if (isActive && root.current) {
|
|
135
|
+
(0, _mathRendering.renderMath)(root.current);
|
|
157
136
|
|
|
137
|
+
// Adjusted for precise zoom level calculation in Online Testing, targeting the specific class pattern .asmt-zoomable.asmt-zoom-NR .asmt-question .padding
|
|
158
138
|
var zoomAffectedElement = document.querySelector('.padding') || document.body;
|
|
159
139
|
setZoomLevel(parseFloat(getComputedStyle(zoomAffectedElement).zoom) || 1);
|
|
160
140
|
}
|
|
161
|
-
}, [
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
};
|
|
166
|
-
|
|
167
|
-
if (display) {
|
|
168
|
-
window.addEventListener('touchmove', touchMoveListener);
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
return function () {
|
|
172
|
-
window.removeEventListener('touchmove', touchMoveListener);
|
|
173
|
-
};
|
|
174
|
-
}, [display, handleTouchMove]);
|
|
175
|
-
|
|
176
|
-
if (!display) {
|
|
177
|
-
return null;
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
var customStyle = getCustomStyle(itemType, item, touchPosition, style);
|
|
181
|
-
var prompt = getPrompt(itemType, item);
|
|
182
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
141
|
+
}, [isActive, dragData]);
|
|
142
|
+
var customStyle = getCustomStyle(dragData);
|
|
143
|
+
var prompt = getPrompt(dragData);
|
|
144
|
+
return /*#__PURE__*/_react["default"].createElement(_core.DragOverlay, null, isActive && prompt && /*#__PURE__*/_react["default"].createElement("div", {
|
|
183
145
|
ref: root,
|
|
184
146
|
style: customStyle
|
|
185
147
|
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
186
148
|
className: "label",
|
|
187
149
|
prompt: prompt,
|
|
188
150
|
tagName: "span"
|
|
189
|
-
}));
|
|
151
|
+
})));
|
|
190
152
|
};
|
|
191
|
-
|
|
192
|
-
var _default = PreviewComponent;
|
|
193
|
-
exports["default"] = _default;
|
|
153
|
+
var _default = exports["default"] = PreviewComponent;
|
|
194
154
|
//# sourceMappingURL=preview-component.js.map
|