@pie-lib/drag 2.8.0 → 2.10.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 CHANGED
@@ -3,7 +3,7 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
- # [2.8.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.8.0) (2025-07-31)
6
+ # [2.10.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.10.0) (2025-07-31)
7
7
 
8
8
  **Note:** Version bump only for package @pie-lib/drag
9
9
 
@@ -11,30 +11,26 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline
11
11
 
12
12
 
13
13
 
14
- # [2.7.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.7.0) (2025-07-31)
14
+ # [2.9.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.9.0) (2025-07-31)
15
15
 
16
16
  **Note:** Version bump only for package @pie-lib/drag
17
17
 
18
+ # [2.8.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.8.0) (2025-07-31)
18
19
 
20
+ **Note:** Version bump only for package @pie-lib/drag
19
21
 
22
+ # [2.7.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.7.0) (2025-07-31)
20
23
 
24
+ **Note:** Version bump only for package @pie-lib/drag
21
25
 
22
26
  # [2.6.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.6.0) (2025-07-31)
23
27
 
24
28
  **Note:** Version bump only for package @pie-lib/drag
25
29
 
26
-
27
-
28
-
29
-
30
30
  # [2.5.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.5.0) (2025-07-31)
31
31
 
32
32
  **Note:** Version bump only for package @pie-lib/drag
33
33
 
34
-
35
-
36
-
37
-
38
34
  # [2.7.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/drag@2.2.9...@pie-lib/drag@2.7.0) (2025-07-31)
39
35
 
40
36
  **Note:** Version bump only for package @pie-lib/drag
package/lib/choice.js ADDED
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.DRAG_TYPE = exports.Choice = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _propTypes = _interopRequireDefault(require("prop-types"));
25
+
26
+ var _styles = require("@material-ui/core/styles");
27
+
28
+ var _classnames = _interopRequireDefault(require("classnames"));
29
+
30
+ var _grey = _interopRequireDefault(require("@material-ui/core/colors/grey"));
31
+
32
+ var _reactDnd = require("react-dnd");
33
+
34
+ var _uidContext = require("./uid-context");
35
+
36
+ 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); }; }
37
+
38
+ 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; } }
39
+
40
+ var DRAG_TYPE = 'CHOICE';
41
+ exports.DRAG_TYPE = DRAG_TYPE;
42
+
43
+ var Choice = /*#__PURE__*/function (_React$Component) {
44
+ (0, _inherits2["default"])(Choice, _React$Component);
45
+
46
+ var _super = _createSuper(Choice);
47
+
48
+ function Choice() {
49
+ (0, _classCallCheck2["default"])(this, Choice);
50
+ return _super.apply(this, arguments);
51
+ }
52
+
53
+ (0, _createClass2["default"])(Choice, [{
54
+ key: "render",
55
+ value: function render() {
56
+ var _this$props = this.props,
57
+ classes = _this$props.classes,
58
+ className = _this$props.className,
59
+ children = _this$props.children,
60
+ connectDragSource = _this$props.connectDragSource;
61
+ return connectDragSource( /*#__PURE__*/_react["default"].createElement("div", {
62
+ className: (0, _classnames["default"])(classes.choice, className)
63
+ }, children));
64
+ }
65
+ }]);
66
+ return Choice;
67
+ }(_react["default"].Component);
68
+
69
+ exports.Choice = Choice;
70
+ (0, _defineProperty2["default"])(Choice, "propTypes", {
71
+ classes: _propTypes["default"].object.isRequired,
72
+ className: _propTypes["default"].string,
73
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]),
74
+ connectDragSource: _propTypes["default"].func.isRequired
75
+ });
76
+ (0, _defineProperty2["default"])(Choice, "defaultProps", {});
77
+
78
+ var styles = function styles(theme) {
79
+ return {
80
+ choice: {
81
+ backgroundColor: theme.palette.background.paper,
82
+ border: "solid 1px ".concat(_grey["default"][400]),
83
+ padding: theme.spacing.unit,
84
+ minHeight: '30px',
85
+ minWidth: theme.spacing.unit * 20,
86
+ maxWidth: theme.spacing.unit * 75
87
+ }
88
+ };
89
+ };
90
+
91
+ var choiceSource = {
92
+ canDrag: function canDrag(props) {
93
+ return !props.disabled;
94
+ },
95
+ beginDrag: function beginDrag(props) {
96
+ var out = {
97
+ choiceId: props.choice.id,
98
+ from: props.category.id,
99
+ alternateResponseIndex: props.alternateResponseIndex,
100
+ choiceIndex: props.choiceIndex
101
+ };
102
+ return out;
103
+ },
104
+ endDrag: function endDrag(props, monitor) {
105
+ if (!monitor.didDrop()) {
106
+ var item = monitor.getItem();
107
+
108
+ if (item.from) {
109
+ props.onRemoveChoice(item);
110
+ }
111
+ }
112
+ }
113
+ };
114
+ var styledChoice = (0, _styles.withStyles)(styles)(Choice);
115
+ var DraggableChoice = (0, _reactDnd.DragSource)(function (_ref) {
116
+ var uid = _ref.uid;
117
+ return uid;
118
+ }, choiceSource, function (connect, monitor) {
119
+ return {
120
+ connectDragSource: connect.dragSource(),
121
+ connectDragPreview: connect.dragPreview(),
122
+ isDragging: monitor.isDragging()
123
+ };
124
+ })(styledChoice);
125
+
126
+ var _default = (0, _uidContext.withUid)(DraggableChoice);
127
+
128
+ exports["default"] = _default;
129
+ //# sourceMappingURL=choice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/choice.jsx"],"names":["DRAG_TYPE","Choice","props","classes","className","children","connectDragSource","choice","React","Component","PropTypes","object","isRequired","string","oneOfType","arrayOf","node","func","styles","theme","backgroundColor","palette","background","paper","border","grey","padding","spacing","unit","minHeight","minWidth","maxWidth","choiceSource","canDrag","disabled","beginDrag","out","choiceId","id","from","category","alternateResponseIndex","choiceIndex","endDrag","monitor","didDrop","item","getItem","onRemoveChoice","styledChoice","DraggableChoice","uid","connect","dragSource","connectDragPreview","dragPreview","isDragging"],"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 grey from '@material-ui/core/colors/grey';\n\nimport { DragSource } from 'react-dnd';\nimport { withUid } from './uid-context';\n\nexport const DRAG_TYPE = 'CHOICE';\n\nexport class Choice extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),\n connectDragSource: PropTypes.func.isRequired,\n };\n\n static defaultProps = {};\n\n render() {\n const { classes, className, children, connectDragSource } = this.props;\n\n return connectDragSource(<div className={classNames(classes.choice, className)}>{children}</div>);\n }\n}\n\nconst styles = (theme) => ({\n choice: {\n backgroundColor: theme.palette.background.paper,\n border: `solid 1px ${grey[400]}`,\n padding: theme.spacing.unit,\n minHeight: '30px',\n minWidth: theme.spacing.unit * 20,\n maxWidth: theme.spacing.unit * 75,\n },\n});\n\nconst choiceSource = {\n canDrag(props) {\n return !props.disabled;\n },\n beginDrag(props) {\n const out = {\n choiceId: props.choice.id,\n from: props.category.id,\n alternateResponseIndex: props.alternateResponseIndex,\n choiceIndex: props.choiceIndex,\n };\n return out;\n },\n\n endDrag: (props, monitor) => {\n if (!monitor.didDrop()) {\n const item = monitor.getItem();\n if (item.from) {\n props.onRemoveChoice(item);\n }\n }\n },\n};\n\nconst styledChoice = withStyles(styles)(Choice);\n\nconst DraggableChoice = DragSource(\n ({ uid }) => uid,\n choiceSource,\n (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n connectDragPreview: connect.dragPreview(),\n isDragging: monitor.isDragging(),\n }),\n)(styledChoice);\n\nexport default withUid(DraggableChoice);\n"],"file":"choice.js"}
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.spec = exports["default"] = void 0;
9
+
10
+ var _reactDnd = require("react-dnd");
11
+
12
+ var _droppablePlaceholder = require("./droppable-placeholder");
13
+
14
+ var _dragType = _interopRequireDefault(require("./drag-type"));
15
+
16
+ var spec = {
17
+ canDrop: function canDrop(props) {
18
+ return !props.disabled;
19
+ },
20
+ drop: function drop() {
21
+ return {
22
+ dropped: true
23
+ };
24
+ }
25
+ };
26
+ exports.spec = spec;
27
+ var WithTarget = (0, _reactDnd.DropTarget)(_dragType["default"].types.db, spec, function (connect, monitor) {
28
+ return {
29
+ connectDropTarget: connect.dropTarget(),
30
+ isOver: monitor.isOver()
31
+ };
32
+ })(_droppablePlaceholder.DroppablePlaceholder);
33
+ var _default = WithTarget;
34
+ exports["default"] = _default;
35
+ //# sourceMappingURL=drag-in-the-blank-dp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drag-in-the-blank-dp.jsx"],"names":["spec","canDrop","props","disabled","drop","dropped","WithTarget","dragType","types","db","connect","monitor","connectDropTarget","dropTarget","isOver","DroppablePlaceholder"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,IAAI,GAAG;AAClBC,EAAAA,OAAO,EAAE,iBAACC,KAAD,EAAW;AAClB,WAAO,CAACA,KAAK,CAACC,QAAd;AACD,GAHiB;AAIlBC,EAAAA,IAAI,EAAE;AAAA,WAAO;AACXC,MAAAA,OAAO,EAAE;AADE,KAAP;AAAA;AAJY,CAAb;;AASP,IAAMC,UAAU,GAAG,0BAAWC,qBAASC,KAAT,CAAeC,EAA1B,EAA8BT,IAA9B,EAAoC,UAACU,OAAD,EAAUC,OAAV;AAAA,SAAuB;AAC5EC,IAAAA,iBAAiB,EAAEF,OAAO,CAACG,UAAR,EADyD;AAE5EC,IAAAA,MAAM,EAAEH,OAAO,CAACG,MAAR;AAFoE,GAAvB;AAAA,CAApC,EAGfC,0CAHe,CAAnB;eAKeT,U","sourcesContent":["import { DropTarget } from 'react-dnd';\nimport { DroppablePlaceholder } from './droppable-placeholder';\nimport dragType from './drag-type';\n\nexport const spec = {\n canDrop: (props) => {\n return !props.disabled;\n },\n drop: () => ({\n dropped: true,\n }),\n};\n\nconst WithTarget = DropTarget(dragType.types.db, spec, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(DroppablePlaceholder);\n\nexport default WithTarget;\n"],"file":"drag-in-the-blank-dp.js"}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports["default"] = void 0;
7
+ var _default = {
8
+ types: {
9
+ ica: 'react-dnd-response',
10
+ ml: 'Answer',
11
+ db: 'MaskBlank'
12
+ }
13
+ };
14
+ exports["default"] = _default;
15
+ //# sourceMappingURL=drag-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/drag-type.js"],"names":["types","ica","ml","db"],"mappings":";;;;;;eAAe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,GAAG,EAAE,oBADA;AAELC,IAAAA,EAAE,EAAE,QAFC;AAGLC,IAAAA,EAAE,EAAE;AAHC;AADM,C","sourcesContent":["export default {\n types: {\n ica: 'react-dnd-response',\n ml: 'Answer',\n db: 'MaskBlank',\n },\n};\n"],"file":"drag-type.js"}
@@ -0,0 +1,82 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.DroppablePlaceholder = void 0;
9
+
10
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
+
12
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
+
14
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
+
16
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
+
18
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
+
20
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
+
22
+ var _react = _interopRequireDefault(require("react"));
23
+
24
+ var _placeholder = _interopRequireDefault(require("./placeholder"));
25
+
26
+ var _propTypes = _interopRequireDefault(require("prop-types"));
27
+
28
+ 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); }; }
29
+
30
+ 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; } }
31
+
32
+ var preventInteractionStyle = {
33
+ flex: 1
34
+ };
35
+
36
+ var DroppablePlaceholder = /*#__PURE__*/function (_React$Component) {
37
+ (0, _inherits2["default"])(DroppablePlaceholder, _React$Component);
38
+
39
+ var _super = _createSuper(DroppablePlaceholder);
40
+
41
+ function DroppablePlaceholder() {
42
+ (0, _classCallCheck2["default"])(this, DroppablePlaceholder);
43
+ return _super.apply(this, arguments);
44
+ }
45
+
46
+ (0, _createClass2["default"])(DroppablePlaceholder, [{
47
+ key: "render",
48
+ value: function render() {
49
+ var _this$props = this.props,
50
+ children = _this$props.children,
51
+ connectDropTarget = _this$props.connectDropTarget,
52
+ isOver = _this$props.isOver,
53
+ disabled = _this$props.disabled,
54
+ classes = _this$props.classes,
55
+ isVerticalPool = _this$props.isVerticalPool,
56
+ minHeight = _this$props.minHeight;
57
+ return connectDropTarget( /*#__PURE__*/_react["default"].createElement("div", {
58
+ style: preventInteractionStyle
59
+ }, /*#__PURE__*/_react["default"].createElement(_placeholder["default"], {
60
+ disabled: disabled,
61
+ isOver: isOver,
62
+ choiceBoard: true,
63
+ className: classes,
64
+ isVerticalPool: isVerticalPool,
65
+ minHeight: minHeight
66
+ }, children)));
67
+ }
68
+ }]);
69
+ return DroppablePlaceholder;
70
+ }(_react["default"].Component);
71
+
72
+ exports.DroppablePlaceholder = DroppablePlaceholder;
73
+ (0, _defineProperty2["default"])(DroppablePlaceholder, "propTypes", {
74
+ classes: _propTypes["default"].object,
75
+ connectDropTarget: _propTypes["default"].func.isRequired,
76
+ isOver: _propTypes["default"].bool,
77
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
78
+ disabled: _propTypes["default"].bool,
79
+ isVerticalPool: _propTypes["default"].bool,
80
+ minHeight: _propTypes["default"].number
81
+ });
82
+ //# sourceMappingURL=droppable-placeholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/droppable-placeholder.jsx"],"names":["preventInteractionStyle","flex","DroppablePlaceholder","props","children","connectDropTarget","isOver","disabled","classes","isVerticalPool","minHeight","React","Component","PropTypes","object","func","isRequired","bool","oneOfType","arrayOf","node","number"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;;;;;AAEA,IAAMA,uBAAuB,GAAG;AAC9BC,EAAAA,IAAI,EAAE;AADwB,CAAhC;;IAIaC,oB;;;;;;;;;;;;WAWX,kBAAS;AACP,wBAA8F,KAAKC,KAAnG;AAAA,UAAQC,QAAR,eAAQA,QAAR;AAAA,UAAkBC,iBAAlB,eAAkBA,iBAAlB;AAAA,UAAqCC,MAArC,eAAqCA,MAArC;AAAA,UAA6CC,QAA7C,eAA6CA,QAA7C;AAAA,UAAuDC,OAAvD,eAAuDA,OAAvD;AAAA,UAAgEC,cAAhE,eAAgEA,cAAhE;AAAA,UAAgFC,SAAhF,eAAgFA,SAAhF;AAEA,aAAOL,iBAAiB,eACtB;AAAK,QAAA,KAAK,EAAEL;AAAZ,sBACE,gCAAC,uBAAD;AACE,QAAA,QAAQ,EAAEO,QADZ;AAEE,QAAA,MAAM,EAAED,MAFV;AAGE,QAAA,WAAW,EAAE,IAHf;AAIE,QAAA,SAAS,EAAEE,OAJb;AAKE,QAAA,cAAc,EAAEC,cALlB;AAME,QAAA,SAAS,EAAEC;AANb,SAQGN,QARH,CADF,CADsB,CAAxB;AAcD;;;EA5BuCO,kBAAMC,S;;;iCAAnCV,oB,eACQ;AACjBM,EAAAA,OAAO,EAAEK,sBAAUC,MADF;AAEjBT,EAAAA,iBAAiB,EAAEQ,sBAAUE,IAAV,CAAeC,UAFjB;AAGjBV,EAAAA,MAAM,EAAEO,sBAAUI,IAHD;AAIjBb,EAAAA,QAAQ,EAAES,sBAAUK,SAAV,CAAoB,CAACL,sBAAUM,OAAV,CAAkBN,sBAAUO,IAA5B,CAAD,EAAoCP,sBAAUO,IAA9C,CAApB,EAAyEJ,UAJlE;AAKjBT,EAAAA,QAAQ,EAAEM,sBAAUI,IALH;AAMjBR,EAAAA,cAAc,EAAEI,sBAAUI,IANT;AAOjBP,EAAAA,SAAS,EAAEG,sBAAUQ;AAPJ,C","sourcesContent":["import React from 'react';\nimport PlaceHolder from './placeholder';\nimport PropTypes from 'prop-types';\n\nconst preventInteractionStyle = {\n flex: 1,\n};\n\nexport class DroppablePlaceholder extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n connectDropTarget: PropTypes.func.isRequired,\n isOver: PropTypes.bool,\n children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,\n disabled: PropTypes.bool,\n isVerticalPool: PropTypes.bool,\n minHeight: PropTypes.number,\n };\n\n render() {\n const { children, connectDropTarget, isOver, disabled, classes, isVerticalPool, minHeight } = this.props;\n\n return connectDropTarget(\n <div style={preventInteractionStyle}>\n <PlaceHolder\n disabled={disabled}\n isOver={isOver}\n choiceBoard={true}\n className={classes}\n isVerticalPool={isVerticalPool}\n minHeight={minHeight}\n >\n {children}\n </PlaceHolder>\n </div>,\n );\n }\n}\n"],"file":"droppable-placeholder.js"}
package/lib/ica-dp.js ADDED
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.spec = exports["default"] = void 0;
9
+
10
+ var _reactDnd = require("react-dnd");
11
+
12
+ var _droppablePlaceholder = require("./droppable-placeholder");
13
+
14
+ var _dragType = _interopRequireDefault(require("./drag-type"));
15
+
16
+ var spec = {
17
+ canDrop: function canDrop(props) {
18
+ return !props.disabled;
19
+ },
20
+ drop: function drop(props, monitor) {
21
+ var item = monitor.getItem();
22
+
23
+ if (props.onRemoveAnswer) {
24
+ props.onRemoveAnswer(item);
25
+ }
26
+ }
27
+ };
28
+ exports.spec = spec;
29
+ var WithTarget = (0, _reactDnd.DropTarget)(_dragType["default"].types.ica, 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;
37
+ //# sourceMappingURL=ica-dp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/ica-dp.jsx"],"names":["spec","canDrop","props","disabled","drop","monitor","item","getItem","onRemoveAnswer","WithTarget","dragType","types","ica","connect","connectDropTarget","dropTarget","isOver","DroppablePlaceholder"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,IAAI,GAAG;AAClBC,EAAAA,OAAO,EAAE,iBAACC,KAAD,EAAW;AAClB,WAAO,CAACA,KAAK,CAACC,QAAd;AACD,GAHiB;AAIlBC,EAAAA,IAAI,EAAE,cAACF,KAAD,EAAQG,OAAR,EAAoB;AACxB,QAAMC,IAAI,GAAGD,OAAO,CAACE,OAAR,EAAb;;AAEA,QAAIL,KAAK,CAACM,cAAV,EAA0B;AACxBN,MAAAA,KAAK,CAACM,cAAN,CAAqBF,IAArB;AACD;AACF;AAViB,CAAb;;AAaP,IAAMG,UAAU,GAAG,0BAAWC,qBAASC,KAAT,CAAeC,GAA1B,EAA+BZ,IAA/B,EAAqC,UAACa,OAAD,EAAUR,OAAV;AAAA,SAAuB;AAC7ES,IAAAA,iBAAiB,EAAED,OAAO,CAACE,UAAR,EAD0D;AAE7EC,IAAAA,MAAM,EAAEX,OAAO,CAACW,MAAR;AAFqE,GAAvB;AAAA,CAArC,EAGfC,0CAHe,CAAnB;eAKeR,U","sourcesContent":["import { DropTarget } from 'react-dnd';\nimport { DroppablePlaceholder } from './droppable-placeholder';\nimport dragType from './drag-type';\n\nexport const spec = {\n canDrop: (props) => {\n return !props.disabled;\n },\n drop: (props, monitor) => {\n const item = monitor.getItem();\n\n if (props.onRemoveAnswer) {\n props.onRemoveAnswer(item);\n }\n },\n};\n\nconst WithTarget = DropTarget(dragType.types.ica, spec, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(DroppablePlaceholder);\n\nexport default WithTarget;\n"],"file":"ica-dp.js"}
package/lib/index.js ADDED
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ Object.defineProperty(exports, "Choice", {
11
+ enumerable: true,
12
+ get: function get() {
13
+ return _choice["default"];
14
+ }
15
+ });
16
+ Object.defineProperty(exports, "DragDroppablePlaceholder", {
17
+ enumerable: true,
18
+ get: function get() {
19
+ return _dragInTheBlankDp["default"];
20
+ }
21
+ });
22
+ Object.defineProperty(exports, "DragSource", {
23
+ enumerable: true,
24
+ get: function get() {
25
+ return _reactDnd.DragSource;
26
+ }
27
+ });
28
+ Object.defineProperty(exports, "DropTarget", {
29
+ enumerable: true,
30
+ get: function get() {
31
+ return _reactDnd.DropTarget;
32
+ }
33
+ });
34
+ Object.defineProperty(exports, "ICADroppablePlaceholder", {
35
+ enumerable: true,
36
+ get: function get() {
37
+ return _icaDp["default"];
38
+ }
39
+ });
40
+ Object.defineProperty(exports, "MatchDroppablePlaceholder", {
41
+ enumerable: true,
42
+ get: function get() {
43
+ return _matchListDp["default"];
44
+ }
45
+ });
46
+ Object.defineProperty(exports, "PlaceHolder", {
47
+ enumerable: true,
48
+ get: function get() {
49
+ return _placeholder["default"];
50
+ }
51
+ });
52
+ Object.defineProperty(exports, "swap", {
53
+ enumerable: true,
54
+ get: function get() {
55
+ return _swap["default"];
56
+ }
57
+ });
58
+ exports.uid = void 0;
59
+ Object.defineProperty(exports, "withDragContext", {
60
+ enumerable: true,
61
+ get: function get() {
62
+ return _withDragContext["default"];
63
+ }
64
+ });
65
+
66
+ var _reactDnd = require("react-dnd");
67
+
68
+ var _placeholder = _interopRequireDefault(require("./placeholder"));
69
+
70
+ var _choice = _interopRequireDefault(require("./choice"));
71
+
72
+ var _withDragContext = _interopRequireDefault(require("./with-drag-context"));
73
+
74
+ var _swap = _interopRequireDefault(require("./swap"));
75
+
76
+ var uid = _interopRequireWildcard(require("./uid-context"));
77
+
78
+ exports.uid = uid;
79
+
80
+ var _matchListDp = _interopRequireDefault(require("./match-list-dp"));
81
+
82
+ var _dragInTheBlankDp = _interopRequireDefault(require("./drag-in-the-blank-dp"));
83
+
84
+ var _icaDp = _interopRequireDefault(require("./ica-dp"));
85
+
86
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
87
+
88
+ 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; }
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAEA;;AACA;;AACA;;AACA;;AACA;;;;AACA;;AACA;;AACA","sourcesContent":["import { DragSource, DropTarget } from 'react-dnd';\n\nimport PlaceHolder from './placeholder';\nimport Choice from './choice';\nimport withDragContext from './with-drag-context';\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 withDragContext,\n Choice,\n swap,\n uid,\n DragSource,\n DropTarget,\n};\n"],"file":"index.js"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.spec = exports["default"] = void 0;
9
+
10
+ var _reactDnd = require("react-dnd");
11
+
12
+ var _droppablePlaceholder = require("./droppable-placeholder");
13
+
14
+ var _dragType = _interopRequireDefault(require("./drag-type"));
15
+
16
+ var spec = {
17
+ canDrop: function canDrop(props) {
18
+ return !props.disabled;
19
+ },
20
+ drop: function drop(props, monitor) {
21
+ var item = monitor.getItem();
22
+
23
+ if (props.onRemoveAnswer) {
24
+ props.onRemoveAnswer(item.promptId);
25
+ }
26
+ }
27
+ };
28
+ exports.spec = spec;
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;
37
+ //# sourceMappingURL=match-list-dp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/match-list-dp.jsx"],"names":["spec","canDrop","props","disabled","drop","monitor","item","getItem","onRemoveAnswer","promptId","WithTarget","dragType","types","ml","connect","connectDropTarget","dropTarget","isOver","DroppablePlaceholder"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEO,IAAMA,IAAI,GAAG;AAClBC,EAAAA,OAAO,EAAE,iBAACC,KAAD,EAAW;AAClB,WAAO,CAACA,KAAK,CAACC,QAAd;AACD,GAHiB;AAIlBC,EAAAA,IAAI,EAAE,cAACF,KAAD,EAAQG,OAAR,EAAoB;AACxB,QAAMC,IAAI,GAAGD,OAAO,CAACE,OAAR,EAAb;;AAEA,QAAIL,KAAK,CAACM,cAAV,EAA0B;AACxBN,MAAAA,KAAK,CAACM,cAAN,CAAqBF,IAAI,CAACG,QAA1B;AACD;AACF;AAViB,CAAb;;AAaP,IAAMC,UAAU,GAAG,0BAAWC,qBAASC,KAAT,CAAeC,EAA1B,EAA8Bb,IAA9B,EAAoC,UAACc,OAAD,EAAUT,OAAV;AAAA,SAAuB;AAC5EU,IAAAA,iBAAiB,EAAED,OAAO,CAACE,UAAR,EADyD;AAE5EC,IAAAA,MAAM,EAAEZ,OAAO,CAACY,MAAR;AAFoE,GAAvB;AAAA,CAApC,EAGfC,0CAHe,CAAnB;eAKeR,U","sourcesContent":["import { DropTarget } from 'react-dnd';\nimport { DroppablePlaceholder } from './droppable-placeholder';\nimport dragType from './drag-type';\n\nexport const spec = {\n canDrop: (props) => {\n return !props.disabled;\n },\n drop: (props, monitor) => {\n const item = monitor.getItem();\n\n if (props.onRemoveAnswer) {\n props.onRemoveAnswer(item.promptId);\n }\n },\n};\n\nconst WithTarget = DropTarget(dragType.types.ml, spec, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n}))(DroppablePlaceholder);\n\nexport default WithTarget;\n"],"file":"match-list-dp.js"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = exports.PlaceHolder = void 0;
9
+
10
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styles = require("@material-ui/core/styles");
15
+
16
+ var _classnames = _interopRequireDefault(require("classnames"));
17
+
18
+ var _propTypes = _interopRequireDefault(require("prop-types"));
19
+
20
+ var _grey = _interopRequireDefault(require("@material-ui/core/colors/grey"));
21
+
22
+ var _renderUi = require("@pie-lib/render-ui");
23
+
24
+ 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; }
25
+
26
+ 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; }
27
+
28
+ var PlaceHolder = function PlaceHolder(props) {
29
+ var children = props.children,
30
+ classes = props.classes,
31
+ className = props.className,
32
+ isOver = props.isOver,
33
+ type = props.type,
34
+ grid = props.grid,
35
+ disabled = props.disabled,
36
+ choiceBoard = props.choiceBoard,
37
+ isCategorize = props.isCategorize,
38
+ isVerticalPool = props.isVerticalPool,
39
+ minHeight = props.minHeight;
40
+ var names = (0, _classnames["default"])(classes.placeholder, disabled && classes.disabled, isOver && classes.over, classes[type], className);
41
+ var style = {};
42
+
43
+ if (grid && grid.columns) {
44
+ style.gridTemplateColumns = "repeat(".concat(grid.columns, ", 1fr)");
45
+ }
46
+
47
+ if (grid && grid.rows) {
48
+ var repeatValue = grid.rowsRepeatValue || '1fr';
49
+ style.gridTemplateRows = "repeat(".concat(grid.rows, ", ").concat(repeatValue, ")");
50
+ } // The "type" is only sent through placement-ordering / placeholder
51
+ // It can be "choice" or "target"
52
+ // We apply a different style for the "choice" type
53
+ // For any other type, use a dashed black border and a white fill
54
+
55
+
56
+ if (type === 'choice') {
57
+ style.border = "1px solid ".concat(_renderUi.color.borderLight());
58
+ style.background = _renderUi.color.backgroundDark();
59
+ }
60
+
61
+ var boardStyle = isCategorize ? classes.categorizeBoard : classes.board;
62
+ return /*#__PURE__*/_react["default"].createElement("div", {
63
+ style: _objectSpread(_objectSpread({}, style), {}, {
64
+ minHeight: minHeight
65
+ }),
66
+ className: (0, _classnames["default"])(classes.noSelectStyles, choiceBoard ? boardStyle : names, isVerticalPool && classes.verticalPool)
67
+ }, children);
68
+ };
69
+
70
+ exports.PlaceHolder = PlaceHolder;
71
+ PlaceHolder.propTypes = {
72
+ classes: _propTypes["default"].object.isRequired,
73
+ choiceBoard: _propTypes["default"].bool,
74
+ grid: _propTypes["default"].shape({
75
+ columns: _propTypes["default"].number,
76
+ rows: _propTypes["default"].number,
77
+ // if a different value then 1fr is wanted
78
+ rowsRepeatValue: _propTypes["default"].string
79
+ }),
80
+ children: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].node), _propTypes["default"].node]).isRequired,
81
+ className: _propTypes["default"].string,
82
+ isOver: _propTypes["default"].bool,
83
+ index: _propTypes["default"].number,
84
+ type: _propTypes["default"].string,
85
+ disabled: _propTypes["default"].bool,
86
+ isCategorize: _propTypes["default"].bool,
87
+ isVerticalPool: _propTypes["default"].bool,
88
+ minHeight: _propTypes["default"].number
89
+ };
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;
153
+ //# sourceMappingURL=placeholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/placeholder.jsx"],"names":["PlaceHolder","props","children","classes","className","isOver","type","grid","disabled","choiceBoard","isCategorize","isVerticalPool","minHeight","names","placeholder","over","style","columns","gridTemplateColumns","rows","repeatValue","rowsRepeatValue","gridTemplateRows","border","color","borderLight","background","backgroundDark","boardStyle","categorizeBoard","board","noSelectStyles","verticalPool","propTypes","PropTypes","object","isRequired","bool","shape","number","string","oneOfType","arrayOf","node","index","styles","theme","WebkitTouchCallout","WebkitUserSelect","KhtmlUserSelect","MozUserSelect","MsUserSelect","userSelect","width","height","white","transition","boxSizing","display","gridRowGap","spacing","unit","gridColumnGap","padding","black","boxShadow","palette","paper","grey","backgroundColor","flexWrap","alignItems","justifyContent","overflow","touchAction","flexFlow"],"mappings":"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","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport PropTypes from 'prop-types';\nimport grey from '@material-ui/core/colors/grey';\nimport { color } from '@pie-lib/render-ui';\n\nexport const PlaceHolder = (props) => {\n const {\n children,\n classes,\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 classes.placeholder,\n disabled && classes.disabled,\n isOver && classes.over,\n classes[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 ? classes.categorizeBoard : classes.board;\n\n return (\n <div\n style={{ ...style, minHeight: minHeight }}\n className={classNames(\n classes.noSelectStyles,\n choiceBoard ? boardStyle : names,\n isVerticalPool && classes.verticalPool,\n )}\n >\n {children}\n </div>\n );\n};\n\nPlaceHolder.propTypes = {\n classes: PropTypes.object.isRequired,\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\nconst styles = (theme) => ({\n noSelectStyles: {\n WebkitTouchCallout: 'none',\n WebkitUserSelect: 'none',\n KhtmlUserSelect: 'none',\n MozUserSelect: 'none',\n MsUserSelect: 'none',\n userSelect: 'none',\n },\n placeholder: {\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.unit}px`,\n gridColumnGap: `${theme.spacing.unit}px`,\n padding: theme.spacing.unit * 1,\n border: `2px dashed ${color.black()}`,\n },\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.unit,\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.unit / 2,\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 default withStyles(styles)(PlaceHolder);\n"],"file":"placeholder.js"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
13
+
14
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
15
+
16
+ var _react = _interopRequireWildcard(require("react"));
17
+
18
+ var _reactDndMultiBackend = require("react-dnd-multi-backend");
19
+
20
+ var _renderUi = require("@pie-lib/render-ui");
21
+
22
+ var _mathRendering = require("@pie-lib/math-rendering");
23
+
24
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
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
+
32
+ var styles = {
33
+ maskBlank: {
34
+ // this style is applied only on small screens and for touch devices when dragging, for drag-in-the-blank.
35
+ // It is styled to be identical to the drag-in-the-blank chip
36
+ backgroundColor: _renderUi.color.white(),
37
+ border: "1px solid ".concat(_renderUi.color.text()),
38
+ color: _renderUi.color.text(),
39
+ alignItems: 'center',
40
+ display: 'inline-flex',
41
+ height: 'initial',
42
+ minHeight: '32px',
43
+ fontSize: 'inherit',
44
+ whiteSpace: 'pre-wrap',
45
+ maxWidth: '374px',
46
+ borderRadius: '3px',
47
+ padding: '12px'
48
+ },
49
+ ica: {
50
+ backgroundColor: _renderUi.color.background(),
51
+ border: "1px solid ".concat(_renderUi.color.borderDark()),
52
+ display: 'flex',
53
+ alignItems: 'center',
54
+ justifyContent: 'center',
55
+ minHeight: '28px',
56
+ padding: '0 3px',
57
+ marginLeft: 2,
58
+ marginTop: 2,
59
+ width: 'fit-content'
60
+ },
61
+ categorize: {
62
+ color: _renderUi.color.text(),
63
+ backgroundColor: _renderUi.color.background(),
64
+ padding: '16px',
65
+ borderRadius: '4px',
66
+ border: '1px solid'
67
+ },
68
+ matchList: {
69
+ color: _renderUi.color.text(),
70
+ backgroundColor: _renderUi.color.background(),
71
+ padding: '10px',
72
+ boxSizing: 'border-box',
73
+ border: '1px solid #D1D1D1'
74
+ },
75
+ placementOrdering: {
76
+ padding: '10px',
77
+ boxSizing: 'border-box',
78
+ border: '1px solid #D1D1D1',
79
+ backgroundColor: _renderUi.color.background()
80
+ }
81
+ };
82
+
83
+ var getPrompt = function getPrompt(itemType, item) {
84
+ var _item$choice;
85
+
86
+ switch (itemType) {
87
+ // DRAG-IN-THE-BLANK
88
+ case 'MaskBlank':
89
+ return item === null || item === void 0 ? void 0 : (_item$choice = item.choice) === null || _item$choice === void 0 ? void 0 : _item$choice.value;
90
+ // IMAGE-CLOZE-ASSOCIATION
91
+
92
+ case 'react-dnd-response':
93
+ return item === null || item === void 0 ? void 0 : item.value;
94
+ // MATCH-LIST
95
+
96
+ case 'Answer':
97
+ return item === null || item === void 0 ? void 0 : item.value;
98
+ // PLACEMENT-ORDERING
99
+
100
+ case 'Tile':
101
+ return item === null || item === void 0 ? void 0 : item.value;
102
+
103
+ default:
104
+ return (item === null || item === void 0 ? void 0 : item.itemType) === 'categorize' ? item === null || item === void 0 ? void 0 : item.value : undefined;
105
+ }
106
+ };
107
+
108
+ var getCustomStyle = function getCustomStyle(itemType, item, touchPosition, style) {
109
+ var transform = "translate(".concat(touchPosition.x, "px, ").concat(touchPosition.y, "px)");
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
+ };
120
+
121
+ var PreviewComponent = function PreviewComponent() {
122
+ var _item$choice2;
123
+
124
+ var preview = (0, _reactDndMultiBackend.usePreview)();
125
+ var itemType = preview.itemType,
126
+ item = preview.item,
127
+ style = preview.style,
128
+ display = preview.display;
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]);
153
+ var root = (0, _react.useRef)(null);
154
+ (0, _react.useEffect)(function () {
155
+ if (display && root.current) {
156
+ (0, _mathRendering.renderMath)(root.current); // Adjusted for precise zoom level calculation in Online Testing, targeting the specific class pattern .asmt-zoomable.asmt-zoom-NR .asmt-question .padding
157
+
158
+ var zoomAffectedElement = document.querySelector('.padding') || document.body;
159
+ setZoomLevel(parseFloat(getComputedStyle(zoomAffectedElement).zoom) || 1);
160
+ }
161
+ }, [display, item === null || item === void 0 ? void 0 : (_item$choice2 = item.choice) === null || _item$choice2 === void 0 ? void 0 : _item$choice2.value, item === null || item === void 0 ? void 0 : item.value, itemType, item]);
162
+ (0, _react.useEffect)(function () {
163
+ var touchMoveListener = function touchMoveListener(event) {
164
+ return handleTouchMove(event);
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", {
183
+ ref: root,
184
+ style: customStyle
185
+ }, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
186
+ className: "label",
187
+ prompt: prompt,
188
+ tagName: "span"
189
+ }));
190
+ };
191
+
192
+ var _default = PreviewComponent;
193
+ exports["default"] = _default;
194
+ //# sourceMappingURL=preview-component.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/preview-component.jsx"],"names":["styles","maskBlank","backgroundColor","color","white","border","text","alignItems","display","height","minHeight","fontSize","whiteSpace","maxWidth","borderRadius","padding","ica","background","borderDark","justifyContent","marginLeft","marginTop","width","categorize","matchList","boxSizing","placementOrdering","getPrompt","itemType","item","choice","value","undefined","getCustomStyle","touchPosition","style","transform","x","y","top","left","position","PreviewComponent","preview","setTouchPosition","zoomLevel","setZoomLevel","handleTouchMove","event","touches","length","touch","touchOffset","clientX","clientY","root","current","zoomAffectedElement","document","querySelector","body","parseFloat","getComputedStyle","zoom","touchMoveListener","window","addEventListener","removeEventListener","customStyle","prompt"],"mappings":"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","sourcesContent":["import React, { useEffect, useRef, useState, useCallback } from 'react';\nimport { usePreview } from 'react-dnd-multi-backend';\nimport { PreviewPrompt, color } from '@pie-lib/render-ui';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst styles = {\n maskBlank: {\n // this style is applied only on small screens and for touch devices when dragging, for drag-in-the-blank.\n // It is styled to be identical to the drag-in-the-blank chip\n backgroundColor: color.white(),\n border: `1px solid ${color.text()}`,\n color: color.text(),\n alignItems: 'center',\n display: 'inline-flex',\n height: 'initial',\n minHeight: '32px',\n fontSize: 'inherit',\n whiteSpace: 'pre-wrap',\n maxWidth: '374px',\n borderRadius: '3px',\n padding: '12px',\n },\n ica: {\n backgroundColor: color.background(),\n border: `1px solid ${color.borderDark()}`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n minHeight: '28px',\n padding: '0 3px',\n marginLeft: 2,\n marginTop: 2,\n width: 'fit-content',\n },\n categorize: {\n color: color.text(),\n backgroundColor: color.background(),\n padding: '16px',\n borderRadius: '4px',\n border: '1px solid',\n },\n matchList: {\n color: color.text(),\n backgroundColor: color.background(),\n padding: '10px',\n boxSizing: 'border-box',\n border: '1px solid #D1D1D1',\n },\n placementOrdering: {\n padding: '10px',\n boxSizing: 'border-box',\n border: '1px solid #D1D1D1',\n backgroundColor: color.background(),\n },\n};\n\nconst getPrompt = (itemType, item) => {\n switch (itemType) {\n // DRAG-IN-THE-BLANK\n case 'MaskBlank':\n return item?.choice?.value;\n // IMAGE-CLOZE-ASSOCIATION\n case 'react-dnd-response':\n return item?.value;\n // MATCH-LIST\n case 'Answer':\n return item?.value;\n // PLACEMENT-ORDERING\n case 'Tile':\n return item?.value;\n default:\n return item?.itemType === 'categorize' ? item?.value : undefined;\n }\n};\n\nconst getCustomStyle = (itemType, item, touchPosition, style) => {\n const transform = `translate(${touchPosition.x}px, ${touchPosition.y}px)`;\n const top = style?.top || 0;\n const left = style?.left || 0;\n const position = style?.position || 'fixed';\n\n return {\n position,\n top,\n left,\n transform,\n ...(itemType === 'MaskBlank' ? styles.maskBlank : {}),\n ...(item?.itemType === 'categorize' ? styles.categorize : {}),\n ...(itemType === 'Answer' ? styles.matchList : {}),\n ...(itemType === 'Tile' ? styles.placementOrdering : {}),\n ...(itemType === 'react-dnd-response' ? styles.ica : {}),\n };\n};\n\nconst PreviewComponent = () => {\n const preview = usePreview();\n const { itemType, item, style, display } = preview;\n const [touchPosition, setTouchPosition] = useState({ x: 0, y: 0 });\n const [zoomLevel, setZoomLevel] = useState(1);\n\n const handleTouchMove = useCallback(\n (event) => {\n if (event.touches.length > 0) {\n const touch = event.touches[0];\n const touchOffset = 1;\n setTouchPosition({\n x: (touch.clientX + touchOffset) / zoomLevel,\n y: (touch.clientY + touchOffset) / zoomLevel,\n });\n }\n },\n [zoomLevel],\n );\n\n const root = useRef(null);\n\n useEffect(() => {\n if (display && root.current) {\n renderMath(root.current);\n\n // Adjusted for precise zoom level calculation in Online Testing, targeting the specific class pattern .asmt-zoomable.asmt-zoom-NR .asmt-question .padding\n const zoomAffectedElement = document.querySelector('.padding') || document.body;\n\n setZoomLevel(parseFloat(getComputedStyle(zoomAffectedElement).zoom) || 1);\n }\n }, [display, item?.choice?.value, item?.value, itemType, item]);\n\n useEffect(() => {\n const touchMoveListener = (event) => handleTouchMove(event);\n if (display) {\n window.addEventListener('touchmove', touchMoveListener);\n }\n return () => {\n window.removeEventListener('touchmove', touchMoveListener);\n };\n }, [display, handleTouchMove]);\n\n if (!display) {\n return null;\n }\n\n const customStyle = getCustomStyle(itemType, item, touchPosition, style);\n\n const prompt = getPrompt(itemType, item);\n\n return (\n <div ref={root} style={customStyle}>\n <PreviewPrompt className=\"label\" prompt={prompt} tagName=\"span\" />\n </div>\n );\n};\n\nexport default PreviewComponent;\n"],"file":"preview-component.js"}
package/lib/swap.js ADDED
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports["default"] = void 0;
9
+
10
+ var _cloneDeep = _interopRequireDefault(require("lodash/cloneDeep"));
11
+
12
+ var _default = function _default(arr, fromIndex, toIndex) {
13
+ if (!arr || arr.length <= 1 || fromIndex === undefined || toIndex === undefined) {
14
+ throw new Error("swap requires a non-empty array, fromIndex, toIndex: ".concat(arr, ", ").concat(fromIndex, " ").concat(toIndex));
15
+ }
16
+
17
+ var update = (0, _cloneDeep["default"])(arr);
18
+ var tmp = arr[toIndex];
19
+ update[toIndex] = update[fromIndex];
20
+ update[fromIndex] = tmp;
21
+ return update;
22
+ };
23
+
24
+ exports["default"] = _default;
25
+ //# sourceMappingURL=swap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/swap.js"],"names":["arr","fromIndex","toIndex","length","undefined","Error","update","tmp"],"mappings":";;;;;;;;;AAAA;;eAEe,kBAACA,GAAD,EAAMC,SAAN,EAAiBC,OAAjB,EAA6B;AAC1C,MAAI,CAACF,GAAD,IAAQA,GAAG,CAACG,MAAJ,IAAc,CAAtB,IAA2BF,SAAS,KAAKG,SAAzC,IAAsDF,OAAO,KAAKE,SAAtE,EAAiF;AAC/E,UAAM,IAAIC,KAAJ,gEAAkEL,GAAlE,eAA0EC,SAA1E,cAAuFC,OAAvF,EAAN;AACD;;AAED,MAAMI,MAAM,GAAG,2BAAUN,GAAV,CAAf;AACA,MAAMO,GAAG,GAAGP,GAAG,CAACE,OAAD,CAAf;AACAI,EAAAA,MAAM,CAACJ,OAAD,CAAN,GAAkBI,MAAM,CAACL,SAAD,CAAxB;AACAK,EAAAA,MAAM,CAACL,SAAD,CAAN,GAAoBM,GAApB;AAEA,SAAOD,MAAP;AACD,C","sourcesContent":["import cloneDeep from 'lodash/cloneDeep';\n\nexport default (arr, fromIndex, toIndex) => {\n if (!arr || arr.length <= 1 || fromIndex === undefined || toIndex === undefined) {\n throw new Error(`swap requires a non-empty array, fromIndex, toIndex: ${arr}, ${fromIndex} ${toIndex}`);\n }\n\n const update = cloneDeep(arr);\n const tmp = arr[toIndex];\n update[toIndex] = update[fromIndex];\n update[fromIndex] = tmp;\n\n return update;\n};\n"],"file":"swap.js"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.withUid = exports.generateId = exports.Provider = exports.Consumer = void 0;
9
+
10
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _React$createContext = /*#__PURE__*/_react["default"].createContext(-1),
15
+ Consumer = _React$createContext.Consumer,
16
+ Provider = _React$createContext.Provider;
17
+
18
+ exports.Provider = Provider;
19
+ exports.Consumer = Consumer;
20
+
21
+ var generateId = function generateId() {
22
+ return (Math.random() * 1000001).toFixed(0);
23
+ };
24
+
25
+ exports.generateId = generateId;
26
+
27
+ var withUid = function withUid(Component) {
28
+ var Wrapped = function Wrapped(props) {
29
+ return /*#__PURE__*/_react["default"].createElement(Consumer, null, function (uid) {
30
+ return /*#__PURE__*/_react["default"].createElement(Component, (0, _extends2["default"])({}, props, {
31
+ uid: uid
32
+ }));
33
+ });
34
+ };
35
+
36
+ return Wrapped;
37
+ };
38
+
39
+ exports.withUid = withUid;
40
+ //# sourceMappingURL=uid-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/uid-context.js"],"names":["React","createContext","Consumer","Provider","generateId","Math","random","toFixed","withUid","Component","Wrapped","props","uid"],"mappings":";;;;;;;;;;;AAAA;;AAEA,wCAA+BA,kBAAMC,aAAN,CAAoB,CAAC,CAArB,CAA/B;AAAA,IAAQC,QAAR,wBAAQA,QAAR;AAAA,IAAkBC,QAAlB,wBAAkBA,QAAlB;;;;;AAIO,IAAMC,UAAU,GAAG,SAAbA,UAAa;AAAA,SAAM,CAACC,IAAI,CAACC,MAAL,KAAgB,OAAjB,EAA0BC,OAA1B,CAAkC,CAAlC,CAAN;AAAA,CAAnB;;;;AAEA,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,SAAD,EAAe;AACpC,MAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,KAAD;AAAA,wBAAW,gCAAC,QAAD,QAAW,UAACC,GAAD;AAAA,0BAAS,gCAAC,SAAD,gCAAeD,KAAf;AAAsB,QAAA,GAAG,EAAEC;AAA3B,SAAT;AAAA,KAAX,CAAX;AAAA,GAAhB;;AAEA,SAAOF,OAAP;AACD,CAJM","sourcesContent":["import React from 'react';\n\nconst { Consumer, Provider } = React.createContext(-1);\n\nexport { Provider, Consumer };\n\nexport const generateId = () => (Math.random() * 1000001).toFixed(0);\n\nexport const withUid = (Component) => {\n const Wrapped = (props) => <Consumer>{(uid) => <Component {...props} uid={uid} />}</Consumer>;\n\n return Wrapped;\n};\n"],"file":"uid-context.js"}
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports["default"] = void 0;
11
+
12
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
13
+
14
+ var _react = _interopRequireDefault(require("react"));
15
+
16
+ var _reactDndMultiBackend = _interopRequireWildcard(require("react-dnd-multi-backend"));
17
+
18
+ var _reactDnd = require("react-dnd");
19
+
20
+ var _reactDndTouchBackend = require("react-dnd-touch-backend");
21
+
22
+ var _reactDndHtml5Backend = require("react-dnd-html5-backend");
23
+
24
+ var _previewComponent = _interopRequireDefault(require("./preview-component"));
25
+
26
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
27
+
28
+ 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; }
29
+
30
+ var backends = [{
31
+ backend: _reactDndHtml5Backend.HTML5Backend,
32
+ transition: _reactDndMultiBackend.MouseTransition
33
+ }, {
34
+ backend: _reactDndTouchBackend.TouchBackend,
35
+ options: {
36
+ enableMouseEvents: true,
37
+ enableTouchEvents: true
38
+ },
39
+ preview: true,
40
+ transition: _reactDndMultiBackend.TouchTransition,
41
+ skipDispatchOnTransition: true
42
+ }];
43
+
44
+ var _default = function _default(Component) {
45
+ return function (props) {
46
+ var isClient = typeof window !== 'undefined';
47
+ return /*#__PURE__*/_react["default"].createElement(_reactDnd.DndProvider, (0, _extends2["default"])({
48
+ backend: _reactDndMultiBackend["default"],
49
+ options: {
50
+ backends: backends
51
+ }
52
+ }, isClient && {
53
+ context: window
54
+ }), /*#__PURE__*/_react["default"].createElement(Component, props), /*#__PURE__*/_react["default"].createElement(_previewComponent["default"], null));
55
+ };
56
+ };
57
+
58
+ exports["default"] = _default;
59
+ //# sourceMappingURL=with-drag-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/with-drag-context.js"],"names":["backends","backend","HTML5Backend","transition","MouseTransition","TouchBackend","options","enableMouseEvents","enableTouchEvents","preview","TouchTransition","skipDispatchOnTransition","Component","props","isClient","window","MultiBackend","context"],"mappings":";;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;AAEA,IAAMA,QAAQ,GAAG,CACf;AACEC,EAAAA,OAAO,EAAEC,kCADX;AAEEC,EAAAA,UAAU,EAAEC;AAFd,CADe,EAKf;AACEH,EAAAA,OAAO,EAAEI,kCADX;AAEEC,EAAAA,OAAO,EAAE;AAAEC,IAAAA,iBAAiB,EAAE,IAArB;AAA2BC,IAAAA,iBAAiB,EAAE;AAA9C,GAFX;AAGEC,EAAAA,OAAO,EAAE,IAHX;AAIEN,EAAAA,UAAU,EAAEO,qCAJd;AAKEC,EAAAA,wBAAwB,EAAE;AAL5B,CALe,CAAjB;;eAce,kBAACC,SAAD;AAAA,SAAe,UAACC,KAAD,EAAW;AACvC,QAAMC,QAAQ,GAAG,OAAOC,MAAP,KAAkB,WAAnC;AAEA,wBACE,gCAAC,qBAAD;AAAa,MAAA,OAAO,EAAEC,gCAAtB;AAAoC,MAAA,OAAO,EAAE;AAAEhB,QAAAA,QAAQ,EAARA;AAAF;AAA7C,OAAgEc,QAAQ,IAAI;AAAEG,MAAAA,OAAO,EAAEF;AAAX,KAA5E,gBACE,gCAAC,SAAD,EAAeF,KAAf,CADF,eAEE,gCAAC,4BAAD,OAFF,CADF;AAMD,GATc;AAAA,C","sourcesContent":["import React from 'react';\nimport MultiBackend, { TouchTransition, MouseTransition } from 'react-dnd-multi-backend';\nimport { DndProvider } from 'react-dnd';\nimport { TouchBackend } from 'react-dnd-touch-backend';\nimport { HTML5Backend } from 'react-dnd-html5-backend';\n\nimport PreviewComponent from './preview-component';\n\nconst backends = [\n {\n backend: HTML5Backend,\n transition: MouseTransition,\n },\n {\n backend: TouchBackend,\n options: { enableMouseEvents: true, enableTouchEvents: true },\n preview: true,\n transition: TouchTransition,\n skipDispatchOnTransition: true,\n },\n];\n\nexport default (Component) => (props) => {\n const isClient = typeof window !== 'undefined';\n\n return (\n <DndProvider backend={MultiBackend} options={{ backends }} {...(isClient && { context: window })}>\n <Component {...props} />\n <PreviewComponent />\n </DndProvider>\n );\n};\n"],"file":"with-drag-context.js"}
package/package.json CHANGED
@@ -1,13 +1,13 @@
1
1
  {
2
2
  "name": "@pie-lib/drag",
3
- "version": "2.8.0",
3
+ "version": "2.10.0",
4
4
  "description": "",
5
5
  "main": "lib/index.js",
6
6
  "module": "src/index.js",
7
7
  "dependencies": {
8
8
  "@material-ui/core": "^3.8.3",
9
- "@pie-lib/math-rendering": "^3.8.0",
10
- "@pie-lib/render-ui": "^4.21.0",
9
+ "@pie-lib/math-rendering": "^3.10.0",
10
+ "@pie-lib/render-ui": "^4.23.0",
11
11
  "classnames": "^2.2.6",
12
12
  "lodash": "^4.17.11",
13
13
  "prop-types": "^15.7.2",
@@ -23,5 +23,5 @@
23
23
  "scripts": {},
24
24
  "author": "",
25
25
  "license": "ISC",
26
- "gitHead": "889a13bfea2c768b8a3a6eabfc6fe7b7725aa832"
26
+ "gitHead": "7ca3b0a214af57d742b4a9de6d8b424d31da1469"
27
27
  }