@pie-lib/graphing-solution-set 3.1.0-next.0 → 3.1.0-next.4
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 +41 -0
- package/package.json +9 -9
- package/lib/__tests__/graph-with-controls.test.js +0 -199
- package/lib/__tests__/graph.test.js +0 -114
- package/lib/__tests__/grid.test.js +0 -29
- package/lib/__tests__/labels.test.js +0 -45
- package/lib/__tests__/mark-label.test.js +0 -133
- package/lib/__tests__/toggle-bar.test.js +0 -89
- package/lib/__tests__/tool-menu.test.js +0 -41
- package/lib/__tests__/undo-redo.test.js +0 -31
- package/lib/__tests__/use-debounce.test.js +0 -24
- package/lib/__tests__/utils.js +0 -70
- package/lib/__tests__/utils.test.js +0 -123
- package/lib/axis/__tests__/arrow.test.js +0 -60
- package/lib/axis/__tests__/axes.test.js +0 -162
- package/lib/axis/arrow.js +0 -79
- package/lib/axis/arrow.js.map +0 -1
- package/lib/axis/axes.js +0 -325
- package/lib/axis/axes.js.map +0 -1
- package/lib/axis/index.js +0 -21
- package/lib/axis/index.js.map +0 -1
- package/lib/bg.js +0 -111
- package/lib/bg.js.map +0 -1
- package/lib/container/actions.js +0 -18
- package/lib/container/actions.js.map +0 -1
- package/lib/container/index.js +0 -120
- package/lib/container/index.js.map +0 -1
- package/lib/container/marks.js +0 -22
- package/lib/container/marks.js.map +0 -1
- package/lib/container/middleware.js +0 -19
- package/lib/container/middleware.js.map +0 -1
- package/lib/container/reducer.js +0 -18
- package/lib/container/reducer.js.map +0 -1
- package/lib/coordinates-label.js +0 -77
- package/lib/coordinates-label.js.map +0 -1
- package/lib/graph-with-controls.js +0 -298
- package/lib/graph-with-controls.js.map +0 -1
- package/lib/graph.js +0 -354
- package/lib/graph.js.map +0 -1
- package/lib/grid-setup.js +0 -406
- package/lib/grid-setup.js.map +0 -1
- package/lib/grid.js +0 -131
- package/lib/grid.js.map +0 -1
- package/lib/index.js +0 -40
- package/lib/index.js.map +0 -1
- package/lib/labels.js +0 -199
- package/lib/labels.js.map +0 -1
- package/lib/mark-label.js +0 -159
- package/lib/mark-label.js.map +0 -1
- package/lib/toggle-bar.js +0 -248
- package/lib/toggle-bar.js.map +0 -1
- package/lib/tool-menu.js +0 -218
- package/lib/tool-menu.js.map +0 -1
- package/lib/tools/index.js +0 -24
- package/lib/tools/index.js.map +0 -1
- package/lib/tools/line/__tests__/component.test.js +0 -45
- package/lib/tools/line/component.js +0 -92
- package/lib/tools/line/component.js.map +0 -1
- package/lib/tools/line/index.js +0 -11
- package/lib/tools/line/index.js.map +0 -1
- package/lib/tools/polygon/__tests__/component.test.js +0 -81
- package/lib/tools/polygon/__tests__/index.test.js +0 -92
- package/lib/tools/polygon/__tests__/line.test.js +0 -30
- package/lib/tools/polygon/__tests__/polygon.test.js +0 -61
- package/lib/tools/polygon/component.js +0 -360
- package/lib/tools/polygon/component.js.map +0 -1
- package/lib/tools/polygon/index.js +0 -89
- package/lib/tools/polygon/index.js.map +0 -1
- package/lib/tools/polygon/line.js +0 -114
- package/lib/tools/polygon/line.js.map +0 -1
- package/lib/tools/polygon/polygon.js +0 -131
- package/lib/tools/polygon/polygon.js.map +0 -1
- package/lib/tools/shared/__tests__/arrow-head.test.js +0 -45
- package/lib/tools/shared/arrow-head.js +0 -62
- package/lib/tools/shared/arrow-head.js.map +0 -1
- package/lib/tools/shared/line/__tests__/index.test.js +0 -129
- package/lib/tools/shared/line/__tests__/line-path.test.js +0 -64
- package/lib/tools/shared/line/__tests__/with-root-edge.test.js +0 -83
- package/lib/tools/shared/line/index.js +0 -541
- package/lib/tools/shared/line/index.js.map +0 -1
- package/lib/tools/shared/line/line-path.js +0 -121
- package/lib/tools/shared/line/line-path.js.map +0 -1
- package/lib/tools/shared/line/with-root-edge.js +0 -121
- package/lib/tools/shared/line/with-root-edge.js.map +0 -1
- package/lib/tools/shared/point/__tests__/arrow-point.test.js +0 -127
- package/lib/tools/shared/point/__tests__/base-point.test.js +0 -122
- package/lib/tools/shared/point/arrow-point.js +0 -86
- package/lib/tools/shared/point/arrow-point.js.map +0 -1
- package/lib/tools/shared/point/arrow.js +0 -70
- package/lib/tools/shared/point/arrow.js.map +0 -1
- package/lib/tools/shared/point/base-point.js +0 -137
- package/lib/tools/shared/point/base-point.js.map +0 -1
- package/lib/tools/shared/point/index.js +0 -80
- package/lib/tools/shared/point/index.js.map +0 -1
- package/lib/tools/shared/styles.js +0 -26
- package/lib/tools/shared/styles.js.map +0 -1
- package/lib/tools/shared/types.js +0 -15
- package/lib/tools/shared/types.js.map +0 -1
- package/lib/undo-redo.js +0 -67
- package/lib/undo-redo.js.map +0 -1
- package/lib/use-debounce.js +0 -25
- package/lib/use-debounce.js.map +0 -1
- package/lib/utils.js +0 -239
- package/lib/utils.js.map +0 -1
package/lib/mark-label.js
DELETED
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.position = exports["default"] = exports.coordinates = exports.MarkLabel = void 0;
|
|
9
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
10
|
-
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
-
var _react = _interopRequireWildcard(require("react"));
|
|
12
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
-
var _styles = require("@mui/material/styles");
|
|
14
|
-
var _reactInputAutosize = _interopRequireDefault(require("react-input-autosize"));
|
|
15
|
-
var _useDebounce = require("./use-debounce");
|
|
16
|
-
var _plot = require("@pie-lib/plot");
|
|
17
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
18
|
-
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); }
|
|
19
|
-
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; }
|
|
20
|
-
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; }
|
|
21
|
-
var StyledAutosizeInput = (0, _styles.styled)(_reactInputAutosize["default"], {
|
|
22
|
-
shouldForwardProp: function shouldForwardProp(prop) {
|
|
23
|
-
return !['disabled', 'markDisabled'].includes(prop);
|
|
24
|
-
}
|
|
25
|
-
})(function (_ref2) {
|
|
26
|
-
var theme = _ref2.theme,
|
|
27
|
-
disabled = _ref2.disabled,
|
|
28
|
-
markDisabled = _ref2.markDisabled;
|
|
29
|
-
return {
|
|
30
|
-
'& input': {
|
|
31
|
-
"float": 'right',
|
|
32
|
-
padding: theme.spacing(0.5),
|
|
33
|
-
fontFamily: theme.typography.fontFamily,
|
|
34
|
-
fontSize: theme.typography.fontSize,
|
|
35
|
-
border: "solid 1px ".concat(disabled ? _renderUi.color.defaults.PRIMARY_DARK : markDisabled ? _renderUi.color.disabled() : _renderUi.color.defaults.SECONDARY),
|
|
36
|
-
borderRadius: '3px',
|
|
37
|
-
color: markDisabled ? _renderUi.color.disabled() : _renderUi.color.defaults.PRIMARY_DARK,
|
|
38
|
-
background: disabled || markDisabled ? theme.palette.background.paper : 'transparent'
|
|
39
|
-
}
|
|
40
|
-
};
|
|
41
|
-
});
|
|
42
|
-
var position = exports.position = function position(graphProps, mark, rect) {
|
|
43
|
-
rect = rect || {
|
|
44
|
-
width: 0,
|
|
45
|
-
height: 0
|
|
46
|
-
};
|
|
47
|
-
var scale = graphProps.scale,
|
|
48
|
-
domain = graphProps.domain,
|
|
49
|
-
range = graphProps.range;
|
|
50
|
-
var shift = 10;
|
|
51
|
-
var rightEdge = scale.x(mark.x) + rect.width + shift;
|
|
52
|
-
var bottomEdge = scale.y(mark.y) + rect.height + shift;
|
|
53
|
-
var h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';
|
|
54
|
-
var v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';
|
|
55
|
-
return "".concat(v, "-").concat(h);
|
|
56
|
-
};
|
|
57
|
-
var coordinates = exports.coordinates = function coordinates(graphProps, mark, rect, position) {
|
|
58
|
-
var scale = graphProps.scale;
|
|
59
|
-
var shift = 10;
|
|
60
|
-
rect = rect || {
|
|
61
|
-
width: 0,
|
|
62
|
-
height: 0
|
|
63
|
-
};
|
|
64
|
-
switch (position) {
|
|
65
|
-
case 'bottom-right':
|
|
66
|
-
{
|
|
67
|
-
return {
|
|
68
|
-
left: scale.x(mark.x) + shift,
|
|
69
|
-
top: scale.y(mark.y) + shift
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
case 'bottom-left':
|
|
73
|
-
{
|
|
74
|
-
return {
|
|
75
|
-
left: scale.x(mark.x) - shift - rect.width,
|
|
76
|
-
top: scale.y(mark.y) + shift
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
case 'top-left':
|
|
80
|
-
{
|
|
81
|
-
return {
|
|
82
|
-
left: scale.x(mark.x) - shift - rect.width,
|
|
83
|
-
top: scale.y(mark.y) - shift - rect.height
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
case 'top-right':
|
|
87
|
-
{
|
|
88
|
-
return {
|
|
89
|
-
left: scale.x(mark.x) + shift,
|
|
90
|
-
top: scale.y(mark.y) - shift - rect.height
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
var MarkLabel = exports.MarkLabel = function MarkLabel(props) {
|
|
96
|
-
var _useState = (0, _react.useState)(null),
|
|
97
|
-
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
98
|
-
input = _useState2[0],
|
|
99
|
-
setInput = _useState2[1];
|
|
100
|
-
var _ref = (0, _react.useCallback)(function (node) {
|
|
101
|
-
return setInput(node);
|
|
102
|
-
});
|
|
103
|
-
var mark = props.mark,
|
|
104
|
-
graphProps = props.graphProps,
|
|
105
|
-
disabled = props.disabled,
|
|
106
|
-
externalInputRef = props.inputRef;
|
|
107
|
-
var _useState3 = (0, _react.useState)(mark.label),
|
|
108
|
-
_useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
|
|
109
|
-
label = _useState4[0],
|
|
110
|
-
setLabel = _useState4[1];
|
|
111
|
-
var onChange = function onChange(e) {
|
|
112
|
-
return setLabel(e.target.value);
|
|
113
|
-
};
|
|
114
|
-
var debouncedLabel = (0, _useDebounce.useDebounce)(label, 200);
|
|
115
|
-
|
|
116
|
-
// useState only sets the value once, to synch props to state need useEffect
|
|
117
|
-
(0, _react.useEffect)(function () {
|
|
118
|
-
setLabel(mark.label);
|
|
119
|
-
}, [mark.label]);
|
|
120
|
-
|
|
121
|
-
// pick up the change to debouncedLabel and save it
|
|
122
|
-
(0, _react.useEffect)(function () {
|
|
123
|
-
if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {
|
|
124
|
-
props.onChange(debouncedLabel);
|
|
125
|
-
}
|
|
126
|
-
}, [debouncedLabel]);
|
|
127
|
-
var rect = input ? input.getBoundingClientRect() : {
|
|
128
|
-
width: 0,
|
|
129
|
-
height: 0
|
|
130
|
-
};
|
|
131
|
-
var pos = position(graphProps, mark, rect);
|
|
132
|
-
var leftTop = coordinates(graphProps, mark, rect, pos);
|
|
133
|
-
var style = _objectSpread({
|
|
134
|
-
position: 'fixed',
|
|
135
|
-
pointerEvents: 'auto'
|
|
136
|
-
}, leftTop);
|
|
137
|
-
var disabledInput = disabled || mark.disabled;
|
|
138
|
-
return /*#__PURE__*/_react["default"].createElement(StyledAutosizeInput, {
|
|
139
|
-
inputRef: function inputRef(r) {
|
|
140
|
-
_ref(r);
|
|
141
|
-
externalInputRef(r);
|
|
142
|
-
},
|
|
143
|
-
disabled: disabledInput,
|
|
144
|
-
markDisabled: mark.disabled,
|
|
145
|
-
value: label,
|
|
146
|
-
style: style,
|
|
147
|
-
onChange: onChange
|
|
148
|
-
});
|
|
149
|
-
};
|
|
150
|
-
MarkLabel.propTypes = {
|
|
151
|
-
disabled: _propTypes["default"].bool,
|
|
152
|
-
onChange: _propTypes["default"].func,
|
|
153
|
-
graphProps: _plot.types.GraphPropsType,
|
|
154
|
-
inputRef: _propTypes["default"].func,
|
|
155
|
-
mark: _propTypes["default"].object,
|
|
156
|
-
theme: _propTypes["default"].object
|
|
157
|
-
};
|
|
158
|
-
var _default = exports["default"] = MarkLabel;
|
|
159
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfcHJvcFR5cGVzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9zdHlsZXMiLCJfcmVhY3RJbnB1dEF1dG9zaXplIiwiX3VzZURlYm91bmNlIiwiX3Bsb3QiLCJfcmVuZGVyVWkiLCJlIiwidCIsIldlYWtNYXAiLCJyIiwibiIsIl9fZXNNb2R1bGUiLCJvIiwiaSIsImYiLCJfX3Byb3RvX18iLCJfdHlwZW9mIiwiaGFzIiwiZ2V0Iiwic2V0IiwiX3QiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsIm93bktleXMiLCJrZXlzIiwiZ2V0T3duUHJvcGVydHlTeW1ib2xzIiwiZmlsdGVyIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImdldE93blByb3BlcnR5RGVzY3JpcHRvcnMiLCJkZWZpbmVQcm9wZXJ0aWVzIiwiU3R5bGVkQXV0b3NpemVJbnB1dCIsInN0eWxlZCIsIkF1dG9zaXplSW5wdXQiLCJzaG91bGRGb3J3YXJkUHJvcCIsInByb3AiLCJpbmNsdWRlcyIsIl9yZWYyIiwidGhlbWUiLCJkaXNhYmxlZCIsIm1hcmtEaXNhYmxlZCIsInBhZGRpbmciLCJzcGFjaW5nIiwiZm9udEZhbWlseSIsInR5cG9ncmFwaHkiLCJmb250U2l6ZSIsImJvcmRlciIsImNvbmNhdCIsImNvbG9yIiwiZGVmYXVsdHMiLCJQUklNQVJZX0RBUksiLCJTRUNPTkRBUlkiLCJib3JkZXJSYWRpdXMiLCJiYWNrZ3JvdW5kIiwicGFsZXR0ZSIsInBhcGVyIiwicG9zaXRpb24iLCJleHBvcnRzIiwiZ3JhcGhQcm9wcyIsIm1hcmsiLCJyZWN0Iiwid2lkdGgiLCJoZWlnaHQiLCJzY2FsZSIsImRvbWFpbiIsInJhbmdlIiwic2hpZnQiLCJyaWdodEVkZ2UiLCJ4IiwiYm90dG9tRWRnZSIsInkiLCJoIiwibWF4IiwidiIsIm1pbiIsImNvb3JkaW5hdGVzIiwibGVmdCIsInRvcCIsIk1hcmtMYWJlbCIsInByb3BzIiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwiaW5wdXQiLCJzZXRJbnB1dCIsIl9yZWYiLCJ1c2VDYWxsYmFjayIsIm5vZGUiLCJleHRlcm5hbElucHV0UmVmIiwiaW5wdXRSZWYiLCJfdXNlU3RhdGUzIiwibGFiZWwiLCJfdXNlU3RhdGU0Iiwic2V0TGFiZWwiLCJvbkNoYW5nZSIsInRhcmdldCIsInZhbHVlIiwiZGVib3VuY2VkTGFiZWwiLCJ1c2VEZWJvdW5jZSIsInVzZUVmZmVjdCIsImdldEJvdW5kaW5nQ2xpZW50UmVjdCIsInBvcyIsImxlZnRUb3AiLCJzdHlsZSIsInBvaW50ZXJFdmVudHMiLCJkaXNhYmxlZElucHV0IiwiY3JlYXRlRWxlbWVudCIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsImJvb2wiLCJmdW5jIiwidHlwZXMiLCJHcmFwaFByb3BzVHlwZSIsIm9iamVjdCIsIl9kZWZhdWx0Il0sInNvdXJjZXMiOlsiLi4vc3JjL21hcmstbGFiZWwuanN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgeyBzdHlsZWQgfSBmcm9tICdAbXVpL21hdGVyaWFsL3N0eWxlcyc7XG5pbXBvcnQgQXV0b3NpemVJbnB1dCBmcm9tICdyZWFjdC1pbnB1dC1hdXRvc2l6ZSc7XG5pbXBvcnQgeyB1c2VEZWJvdW5jZSB9IGZyb20gJy4vdXNlLWRlYm91bmNlJztcbmltcG9ydCB7IHR5cGVzIH0gZnJvbSAnQHBpZS1saWIvcGxvdCc7XG5pbXBvcnQgeyBjb2xvciB9IGZyb20gJ0BwaWUtbGliL3JlbmRlci11aSc7XG5cbmNvbnN0IFN0eWxlZEF1dG9zaXplSW5wdXQgPSBzdHlsZWQoQXV0b3NpemVJbnB1dCwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+ICFbJ2Rpc2FibGVkJywgJ21hcmtEaXNhYmxlZCddLmluY2x1ZGVzKHByb3ApLFxufSkoKHsgdGhlbWUsIGRpc2FibGVkLCBtYXJrRGlzYWJsZWQgfSkgPT4gKHtcbiAgJyYgaW5wdXQnOiB7XG4gICAgZmxvYXQ6ICdyaWdodCcsXG4gICAgcGFkZGluZzogdGhlbWUuc3BhY2luZygwLjUpLFxuICAgIGZvbnRGYW1pbHk6IHRoZW1lLnR5cG9ncmFwaHkuZm9udEZhbWlseSxcbiAgICBmb250U2l6ZTogdGhlbWUudHlwb2dyYXBoeS5mb250U2l6ZSxcbiAgICBib3JkZXI6IGBzb2xpZCAxcHggJHtkaXNhYmxlZCA/IGNvbG9yLmRlZmF1bHRzLlBSSU1BUllfREFSSyA6IG1hcmtEaXNhYmxlZCA/IGNvbG9yLmRpc2FibGVkKCkgOiBjb2xvci5kZWZhdWx0cy5TRUNPTkRBUll9YCxcbiAgICBib3JkZXJSYWRpdXM6ICczcHgnLFxuICAgIGNvbG9yOiBtYXJrRGlzYWJsZWQgPyBjb2xvci5kaXNhYmxlZCgpIDogY29sb3IuZGVmYXVsdHMuUFJJTUFSWV9EQVJLLFxuICAgIGJhY2tncm91bmQ6IChkaXNhYmxlZCB8fCBtYXJrRGlzYWJsZWQpID8gdGhlbWUucGFsZXR0ZS5iYWNrZ3JvdW5kLnBhcGVyIDogJ3RyYW5zcGFyZW50JyxcbiAgfSxcbn0pKTtcblxuZXhwb3J0IGNvbnN0IHBvc2l0aW9uID0gKGdyYXBoUHJvcHMsIG1hcmssIHJlY3QpID0+IHtcbiAgcmVjdCA9IHJlY3QgfHwgeyB3aWR0aDogMCwgaGVpZ2h0OiAwIH07XG4gIGNvbnN0IHsgc2NhbGUsIGRvbWFpbiwgcmFuZ2UgfSA9IGdyYXBoUHJvcHM7XG4gIGNvbnN0IHNoaWZ0ID0gMTA7XG5cbiAgY29uc3QgcmlnaHRFZGdlID0gc2NhbGUueChtYXJrLngpICsgcmVjdC53aWR0aCArIHNoaWZ0O1xuICBjb25zdCBib3R0b21FZGdlID0gc2NhbGUueShtYXJrLnkpICsgcmVjdC5oZWlnaHQgKyBzaGlmdDtcblxuICBjb25zdCBoID0gcmlnaHRFZGdlID49IHNjYWxlLngoZG9tYWluLm1heCkgPyAnbGVmdCcgOiAncmlnaHQnO1xuICBjb25zdCB2ID0gYm90dG9tRWRnZSA+PSBzY2FsZS55KHJhbmdlLm1pbikgPyAndG9wJyA6ICdib3R0b20nO1xuXG4gIHJldHVybiBgJHt2fS0ke2h9YDtcbn07XG5cbmV4cG9ydCBjb25zdCBjb29yZGluYXRlcyA9IChncmFwaFByb3BzLCBtYXJrLCByZWN0LCBwb3NpdGlvbikgPT4ge1xuICBjb25zdCB7IHNjYWxlIH0gPSBncmFwaFByb3BzO1xuICBjb25zdCBzaGlmdCA9IDEwO1xuICByZWN0ID0gcmVjdCB8fCB7IHdpZHRoOiAwLCBoZWlnaHQ6IDAgfTtcblxuICBzd2l0Y2ggKHBvc2l0aW9uKSB7XG4gICAgY2FzZSAnYm90dG9tLXJpZ2h0Jzoge1xuICAgICAgcmV0dXJuIHsgbGVmdDogc2NhbGUueChtYXJrLngpICsgc2hpZnQsIHRvcDogc2NhbGUueShtYXJrLnkpICsgc2hpZnQgfTtcbiAgICB9XG4gICAgY2FzZSAnYm90dG9tLWxlZnQnOiB7XG4gICAgICByZXR1cm4geyBsZWZ0OiBzY2FsZS54KG1hcmsueCkgLSBzaGlmdCAtIHJlY3Qud2lkdGgsIHRvcDogc2NhbGUueShtYXJrLnkpICsgc2hpZnQgfTtcbiAgICB9XG4gICAgY2FzZSAndG9wLWxlZnQnOiB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBsZWZ0OiBzY2FsZS54KG1hcmsueCkgLSBzaGlmdCAtIHJlY3Qud2lkdGgsXG4gICAgICAgIHRvcDogc2NhbGUueShtYXJrLnkpIC0gc2hpZnQgLSByZWN0LmhlaWdodCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNhc2UgJ3RvcC1yaWdodCc6IHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGxlZnQ6IHNjYWxlLngobWFyay54KSArIHNoaWZ0LFxuICAgICAgICB0b3A6IHNjYWxlLnkobWFyay55KSAtIHNoaWZ0IC0gcmVjdC5oZWlnaHQsXG4gICAgICB9O1xuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IE1hcmtMYWJlbCA9IChwcm9wcykgPT4ge1xuICBjb25zdCBbaW5wdXQsIHNldElucHV0XSA9IHVzZVN0YXRlKG51bGwpO1xuICBjb25zdCBfcmVmID0gdXNlQ2FsbGJhY2soKG5vZGUpID0+IHNldElucHV0KG5vZGUpKTtcblxuICBjb25zdCB7IG1hcmssIGdyYXBoUHJvcHMsIGRpc2FibGVkLCBpbnB1dFJlZjogZXh0ZXJuYWxJbnB1dFJlZiB9ID0gcHJvcHM7XG5cbiAgY29uc3QgW2xhYmVsLCBzZXRMYWJlbF0gPSB1c2VTdGF0ZShtYXJrLmxhYmVsKTtcblxuICBjb25zdCBvbkNoYW5nZSA9IChlKSA9PiBzZXRMYWJlbChlLnRhcmdldC52YWx1ZSk7XG5cbiAgY29uc3QgZGVib3VuY2VkTGFiZWwgPSB1c2VEZWJvdW5jZShsYWJlbCwgMjAwKTtcblxuICAvLyB1c2VTdGF0ZSBvbmx5IHNldHMgdGhlIHZhbHVlIG9uY2UsIHRvIHN5bmNoIHByb3BzIHRvIHN0YXRlIG5lZWQgdXNlRWZmZWN0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0TGFiZWwobWFyay5sYWJlbCk7XG4gIH0sIFttYXJrLmxhYmVsXSk7XG5cbiAgLy8gcGljayB1cCB0aGUgY2hhbmdlIHRvIGRlYm91bmNlZExhYmVsIGFuZCBzYXZlIGl0XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBkZWJvdW5jZWRMYWJlbCA9PT0gJ3N0cmluZycgJiYgZGVib3VuY2VkTGFiZWwgIT09IG1hcmsubGFiZWwpIHtcbiAgICAgIHByb3BzLm9uQ2hhbmdlKGRlYm91bmNlZExhYmVsKTtcbiAgICB9XG4gIH0sIFtkZWJvdW5jZWRMYWJlbF0pO1xuXG4gIGNvbnN0IHJlY3QgPSBpbnB1dCA/IGlucHV0LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpIDogeyB3aWR0aDogMCwgaGVpZ2h0OiAwIH07XG4gIGNvbnN0IHBvcyA9IHBvc2l0aW9uKGdyYXBoUHJvcHMsIG1hcmssIHJlY3QpO1xuICBjb25zdCBsZWZ0VG9wID0gY29vcmRpbmF0ZXMoZ3JhcGhQcm9wcywgbWFyaywgcmVjdCwgcG9zKTtcblxuICBjb25zdCBzdHlsZSA9IHtcbiAgICBwb3NpdGlvbjogJ2ZpeGVkJyxcbiAgICBwb2ludGVyRXZlbnRzOiAnYXV0bycsXG4gICAgLi4ubGVmdFRvcCxcbiAgfTtcblxuICBjb25zdCBkaXNhYmxlZElucHV0ID0gZGlzYWJsZWQgfHwgbWFyay5kaXNhYmxlZDtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRBdXRvc2l6ZUlucHV0XG4gICAgICBpbnB1dFJlZj17KHIpID0+IHtcbiAgICAgICAgX3JlZihyKTtcbiAgICAgICAgZXh0ZXJuYWxJbnB1dFJlZihyKTtcbiAgICAgIH19XG4gICAgICBkaXNhYmxlZD17ZGlzYWJsZWRJbnB1dH1cbiAgICAgIG1hcmtEaXNhYmxlZD17bWFyay5kaXNhYmxlZH1cbiAgICAgIHZhbHVlPXtsYWJlbH1cbiAgICAgIHN0eWxlPXtzdHlsZX1cbiAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAvPlxuICApO1xufTtcblxuTWFya0xhYmVsLnByb3BUeXBlcyA9IHtcbiAgZGlzYWJsZWQ6IFByb3BUeXBlcy5ib29sLFxuICBvbkNoYW5nZTogUHJvcFR5cGVzLmZ1bmMsXG4gIGdyYXBoUHJvcHM6IHR5cGVzLkdyYXBoUHJvcHNUeXBlLFxuICBpbnB1dFJlZjogUHJvcFR5cGVzLmZ1bmMsXG4gIG1hcms6IFByb3BUeXBlcy5vYmplY3QsXG4gIHRoZW1lOiBQcm9wVHlwZXMub2JqZWN0LFxufTtcblxuZXhwb3J0IGRlZmF1bHQgTWFya0xhYmVsO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFB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
|
package/lib/mark-label.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mark-label.js","names":["_react","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_reactInputAutosize","_useDebounce","_plot","_renderUi","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","_typeof","has","get","set","_t","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ownKeys","keys","getOwnPropertySymbols","filter","enumerable","push","apply","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","StyledAutosizeInput","styled","AutosizeInput","shouldForwardProp","prop","includes","_ref2","theme","disabled","markDisabled","padding","spacing","fontFamily","typography","fontSize","border","concat","color","defaults","PRIMARY_DARK","SECONDARY","borderRadius","background","palette","paper","position","exports","graphProps","mark","rect","width","height","scale","domain","range","shift","rightEdge","x","bottomEdge","y","h","max","v","min","coordinates","left","top","MarkLabel","props","_useState","useState","_useState2","_slicedToArray2","input","setInput","_ref","useCallback","node","externalInputRef","inputRef","_useState3","label","_useState4","setLabel","onChange","target","value","debouncedLabel","useDebounce","useEffect","getBoundingClientRect","pos","leftTop","style","pointerEvents","disabledInput","createElement","propTypes","PropTypes","bool","func","types","GraphPropsType","object","_default"],"sources":["../src/mark-label.jsx"],"sourcesContent":["import React, { useState, useCallback, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport AutosizeInput from 'react-input-autosize';\nimport { useDebounce } from './use-debounce';\nimport { types } from '@pie-lib/plot';\nimport { color } from '@pie-lib/render-ui';\n\nconst StyledAutosizeInput = styled(AutosizeInput, {\n shouldForwardProp: (prop) => !['disabled', 'markDisabled'].includes(prop),\n})(({ theme, disabled, markDisabled }) => ({\n '& input': {\n float: 'right',\n padding: theme.spacing(0.5),\n fontFamily: theme.typography.fontFamily,\n fontSize: theme.typography.fontSize,\n border: `solid 1px ${disabled ? color.defaults.PRIMARY_DARK : markDisabled ? color.disabled() : color.defaults.SECONDARY}`,\n borderRadius: '3px',\n color: markDisabled ? color.disabled() : color.defaults.PRIMARY_DARK,\n background: (disabled || markDisabled) ? theme.palette.background.paper : 'transparent',\n },\n}));\n\nexport const position = (graphProps, mark, rect) => {\n rect = rect || { width: 0, height: 0 };\n const { scale, domain, range } = graphProps;\n const shift = 10;\n\n const rightEdge = scale.x(mark.x) + rect.width + shift;\n const bottomEdge = scale.y(mark.y) + rect.height + shift;\n\n const h = rightEdge >= scale.x(domain.max) ? 'left' : 'right';\n const v = bottomEdge >= scale.y(range.min) ? 'top' : 'bottom';\n\n return `${v}-${h}`;\n};\n\nexport const coordinates = (graphProps, mark, rect, position) => {\n const { scale } = graphProps;\n const shift = 10;\n rect = rect || { width: 0, height: 0 };\n\n switch (position) {\n case 'bottom-right': {\n return { left: scale.x(mark.x) + shift, top: scale.y(mark.y) + shift };\n }\n case 'bottom-left': {\n return { left: scale.x(mark.x) - shift - rect.width, top: scale.y(mark.y) + shift };\n }\n case 'top-left': {\n return {\n left: scale.x(mark.x) - shift - rect.width,\n top: scale.y(mark.y) - shift - rect.height,\n };\n }\n case 'top-right': {\n return {\n left: scale.x(mark.x) + shift,\n top: scale.y(mark.y) - shift - rect.height,\n };\n }\n }\n};\n\nexport const MarkLabel = (props) => {\n const [input, setInput] = useState(null);\n const _ref = useCallback((node) => setInput(node));\n\n const { mark, graphProps, disabled, inputRef: externalInputRef } = props;\n\n const [label, setLabel] = useState(mark.label);\n\n const onChange = (e) => setLabel(e.target.value);\n\n const debouncedLabel = useDebounce(label, 200);\n\n // useState only sets the value once, to synch props to state need useEffect\n useEffect(() => {\n setLabel(mark.label);\n }, [mark.label]);\n\n // pick up the change to debouncedLabel and save it\n useEffect(() => {\n if (typeof debouncedLabel === 'string' && debouncedLabel !== mark.label) {\n props.onChange(debouncedLabel);\n }\n }, [debouncedLabel]);\n\n const rect = input ? input.getBoundingClientRect() : { width: 0, height: 0 };\n const pos = position(graphProps, mark, rect);\n const leftTop = coordinates(graphProps, mark, rect, pos);\n\n const style = {\n position: 'fixed',\n pointerEvents: 'auto',\n ...leftTop,\n };\n\n const disabledInput = disabled || mark.disabled;\n\n return (\n <StyledAutosizeInput\n inputRef={(r) => {\n _ref(r);\n externalInputRef(r);\n }}\n disabled={disabledInput}\n markDisabled={mark.disabled}\n value={label}\n style={style}\n onChange={onChange}\n />\n );\n};\n\nMarkLabel.propTypes = {\n disabled: PropTypes.bool,\n onChange: PropTypes.func,\n graphProps: types.GraphPropsType,\n inputRef: PropTypes.func,\n mark: PropTypes.object,\n theme: PropTypes.object,\n};\n\nexport default MarkLabel;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/toggle-bar.js
DELETED
|
@@ -1,248 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
Object.defineProperty(exports, "__esModule", {
|
|
5
|
-
value: true
|
|
6
|
-
});
|
|
7
|
-
exports["default"] = exports.ToggleBar = exports.MiniButton = void 0;
|
|
8
|
-
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
12
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
13
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
14
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
-
var _react = _interopRequireDefault(require("react"));
|
|
16
|
-
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
-
var _styles = require("@mui/material/styles");
|
|
18
|
-
var _Button = _interopRequireDefault(require("@mui/material/Button"));
|
|
19
|
-
var _renderUi = require("@pie-lib/render-ui");
|
|
20
|
-
var _tools = require("./tools");
|
|
21
|
-
var _drag = require("@pie-lib/drag");
|
|
22
|
-
var _core = require("@dnd-kit/core");
|
|
23
|
-
var _utilities = require("@dnd-kit/utilities");
|
|
24
|
-
var _sortable = require("@dnd-kit/sortable");
|
|
25
|
-
var _translator = _interopRequireDefault(require("@pie-lib/translator"));
|
|
26
|
-
function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2["default"])(o), (0, _possibleConstructorReturn2["default"])(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], (0, _getPrototypeOf2["default"])(t).constructor) : o.apply(t, e)); }
|
|
27
|
-
function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
|
|
28
|
-
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; }
|
|
29
|
-
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; }
|
|
30
|
-
var translator = _translator["default"].translator;
|
|
31
|
-
var StyledMiniButton = (0, _styles.styled)(_Button["default"], {
|
|
32
|
-
shouldForwardProp: function shouldForwardProp(prop) {
|
|
33
|
-
return !['selected'].includes(prop);
|
|
34
|
-
}
|
|
35
|
-
})(function (_ref) {
|
|
36
|
-
var selected = _ref.selected,
|
|
37
|
-
disabled = _ref.disabled;
|
|
38
|
-
return _objectSpread(_objectSpread(_objectSpread({
|
|
39
|
-
color: _renderUi.color.text(),
|
|
40
|
-
backgroundColor: _renderUi.color.background()
|
|
41
|
-
}, selected && {
|
|
42
|
-
border: "1px solid ".concat(_renderUi.color.secondary())
|
|
43
|
-
}), !selected && {
|
|
44
|
-
'& span': {
|
|
45
|
-
color: _renderUi.color.primary()
|
|
46
|
-
}
|
|
47
|
-
}), disabled && {
|
|
48
|
-
'& span': {
|
|
49
|
-
color: _renderUi.color.primary()
|
|
50
|
-
},
|
|
51
|
-
backgroundColor: _renderUi.color.disabled()
|
|
52
|
-
});
|
|
53
|
-
});
|
|
54
|
-
var MiniButton = exports.MiniButton = function MiniButton(props) {
|
|
55
|
-
var disabled = props.disabled,
|
|
56
|
-
className = props.className,
|
|
57
|
-
selected = props.selected,
|
|
58
|
-
value = props.value,
|
|
59
|
-
_onClick = props.onClick,
|
|
60
|
-
language = props.language;
|
|
61
|
-
var translatorKey = value.toLowerCase();
|
|
62
|
-
return /*#__PURE__*/_react["default"].createElement(StyledMiniButton, {
|
|
63
|
-
size: "small",
|
|
64
|
-
disabled: disabled,
|
|
65
|
-
className: className,
|
|
66
|
-
selected: selected,
|
|
67
|
-
value: value,
|
|
68
|
-
key: value,
|
|
69
|
-
variant: "outlined",
|
|
70
|
-
onClick: function onClick(e) {
|
|
71
|
-
return _onClick(_objectSpread(_objectSpread({}, e), {}, {
|
|
72
|
-
buttonValue: value
|
|
73
|
-
}));
|
|
74
|
-
}
|
|
75
|
-
}, translator.t("graphing.".concat(translatorKey), {
|
|
76
|
-
lng: language
|
|
77
|
-
}));
|
|
78
|
-
};
|
|
79
|
-
MiniButton.propTypes = {
|
|
80
|
-
disabled: _propTypes["default"].bool,
|
|
81
|
-
className: _propTypes["default"].string,
|
|
82
|
-
disabledClassName: _propTypes["default"].string,
|
|
83
|
-
selected: _propTypes["default"].bool,
|
|
84
|
-
value: _propTypes["default"].string,
|
|
85
|
-
onClick: _propTypes["default"].func,
|
|
86
|
-
language: _propTypes["default"].string
|
|
87
|
-
};
|
|
88
|
-
var StyledToolsContainer = (0, _styles.styled)('div')(function () {
|
|
89
|
-
return {
|
|
90
|
-
display: 'flex',
|
|
91
|
-
flexWrap: 'wrap'
|
|
92
|
-
};
|
|
93
|
-
});
|
|
94
|
-
var StyledButton = (0, _styles.styled)(MiniButton)(function (_ref2) {
|
|
95
|
-
var theme = _ref2.theme;
|
|
96
|
-
return {
|
|
97
|
-
marginRight: theme.spacing(0.5),
|
|
98
|
-
marginBottom: theme.spacing(0.5),
|
|
99
|
-
color: _renderUi.color.text()
|
|
100
|
-
};
|
|
101
|
-
});
|
|
102
|
-
var StyledWrapper = (0, _styles.styled)('div')({
|
|
103
|
-
position: 'relative'
|
|
104
|
-
});
|
|
105
|
-
var ToggleBar = exports.ToggleBar = /*#__PURE__*/function (_React$Component) {
|
|
106
|
-
function ToggleBar() {
|
|
107
|
-
var _this;
|
|
108
|
-
(0, _classCallCheck2["default"])(this, ToggleBar);
|
|
109
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
110
|
-
args[_key] = arguments[_key];
|
|
111
|
-
}
|
|
112
|
-
_this = _callSuper(this, ToggleBar, [].concat(args));
|
|
113
|
-
(0, _defineProperty2["default"])(_this, "select", function (e) {
|
|
114
|
-
return _this.props.onChange(e.buttonValue || e.target.textContent);
|
|
115
|
-
});
|
|
116
|
-
(0, _defineProperty2["default"])(_this, "moveTool", function (dragIndex, hoverIndex) {
|
|
117
|
-
var _this$props = _this.props,
|
|
118
|
-
options = _this$props.options,
|
|
119
|
-
onChangeToolsOrder = _this$props.onChangeToolsOrder;
|
|
120
|
-
var newOptions = (0, _sortable.arrayMove)(options, dragIndex, hoverIndex);
|
|
121
|
-
onChangeToolsOrder(newOptions);
|
|
122
|
-
});
|
|
123
|
-
(0, _defineProperty2["default"])(_this, "handleDragEnd", function (event) {
|
|
124
|
-
var active = event.active,
|
|
125
|
-
over = event.over;
|
|
126
|
-
if (!over || !active) return;
|
|
127
|
-
var activeData = active.data.current;
|
|
128
|
-
var overData = over.data.current;
|
|
129
|
-
if ((activeData === null || activeData === void 0 ? void 0 : activeData.type) === 'tool' && (overData === null || overData === void 0 ? void 0 : overData.type) === 'tool') {
|
|
130
|
-
var dragIndex = activeData.index;
|
|
131
|
-
var hoverIndex = overData.index;
|
|
132
|
-
if (dragIndex !== hoverIndex) {
|
|
133
|
-
_this.moveTool(dragIndex, hoverIndex);
|
|
134
|
-
}
|
|
135
|
-
}
|
|
136
|
-
});
|
|
137
|
-
return _this;
|
|
138
|
-
}
|
|
139
|
-
(0, _inherits2["default"])(ToggleBar, _React$Component);
|
|
140
|
-
return (0, _createClass2["default"])(ToggleBar, [{
|
|
141
|
-
key: "render",
|
|
142
|
-
value: function render() {
|
|
143
|
-
var _this2 = this;
|
|
144
|
-
var _this$props2 = this.props,
|
|
145
|
-
className = _this$props2.className,
|
|
146
|
-
disabled = _this$props2.disabled,
|
|
147
|
-
options = _this$props2.options,
|
|
148
|
-
selectedToolType = _this$props2.selectedToolType,
|
|
149
|
-
draggableTools = _this$props2.draggableTools,
|
|
150
|
-
language = _this$props2.language;
|
|
151
|
-
return /*#__PURE__*/_react["default"].createElement(_drag.DragProvider, {
|
|
152
|
-
onDragEnd: this.handleDragEnd
|
|
153
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledToolsContainer, {
|
|
154
|
-
className: className
|
|
155
|
-
}, (options || []).map(function (option, index) {
|
|
156
|
-
if ((_tools.allTools || []).includes(option)) {
|
|
157
|
-
var isSelected = option === selectedToolType;
|
|
158
|
-
var toolRef = /*#__PURE__*/_react["default"].createRef();
|
|
159
|
-
return /*#__PURE__*/_react["default"].createElement(DragTool, {
|
|
160
|
-
key: option,
|
|
161
|
-
index: index,
|
|
162
|
-
value: option,
|
|
163
|
-
draggable: draggableTools,
|
|
164
|
-
moveTool: _this2.moveTool,
|
|
165
|
-
toolRef: toolRef
|
|
166
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledButton, {
|
|
167
|
-
disabled: disabled,
|
|
168
|
-
disableRipple: true,
|
|
169
|
-
onClick: _this2.select,
|
|
170
|
-
value: option,
|
|
171
|
-
selected: isSelected,
|
|
172
|
-
language: language
|
|
173
|
-
}));
|
|
174
|
-
}
|
|
175
|
-
})));
|
|
176
|
-
}
|
|
177
|
-
}]);
|
|
178
|
-
}(_react["default"].Component); // DragTool functional component using @dnd-kit hooks
|
|
179
|
-
(0, _defineProperty2["default"])(ToggleBar, "propTypes", {
|
|
180
|
-
className: _propTypes["default"].string,
|
|
181
|
-
options: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
182
|
-
selectedToolType: _propTypes["default"].string,
|
|
183
|
-
disabled: _propTypes["default"].bool,
|
|
184
|
-
draggableTools: _propTypes["default"].bool,
|
|
185
|
-
onChange: _propTypes["default"].func,
|
|
186
|
-
onChangeToolsOrder: _propTypes["default"].func,
|
|
187
|
-
language: _propTypes["default"].string
|
|
188
|
-
});
|
|
189
|
-
(0, _defineProperty2["default"])(ToggleBar, "defaultProps", {});
|
|
190
|
-
function DragTool(_ref3) {
|
|
191
|
-
var children = _ref3.children,
|
|
192
|
-
index = _ref3.index,
|
|
193
|
-
draggable = _ref3.draggable,
|
|
194
|
-
toolRef = _ref3.toolRef,
|
|
195
|
-
value = _ref3.value;
|
|
196
|
-
var _useDraggable = (0, _core.useDraggable)({
|
|
197
|
-
id: "tool-".concat(value, "-").concat(index),
|
|
198
|
-
disabled: !draggable,
|
|
199
|
-
data: {
|
|
200
|
-
type: 'tool',
|
|
201
|
-
index: index,
|
|
202
|
-
value: value
|
|
203
|
-
}
|
|
204
|
-
}),
|
|
205
|
-
attributes = _useDraggable.attributes,
|
|
206
|
-
listeners = _useDraggable.listeners,
|
|
207
|
-
setDragNodeRef = _useDraggable.setNodeRef,
|
|
208
|
-
transform = _useDraggable.transform,
|
|
209
|
-
transition = _useDraggable.transition,
|
|
210
|
-
isDragging = _useDraggable.isDragging;
|
|
211
|
-
var _useDroppable = (0, _core.useDroppable)({
|
|
212
|
-
id: "drop-tool-".concat(value, "-").concat(index),
|
|
213
|
-
data: {
|
|
214
|
-
type: 'tool',
|
|
215
|
-
index: index,
|
|
216
|
-
accepts: ['tool']
|
|
217
|
-
}
|
|
218
|
-
}),
|
|
219
|
-
setDropNodeRef = _useDroppable.setNodeRef;
|
|
220
|
-
|
|
221
|
-
// Combine refs
|
|
222
|
-
var setNodeRef = function setNodeRef(node) {
|
|
223
|
-
setDragNodeRef(node);
|
|
224
|
-
setDropNodeRef(node);
|
|
225
|
-
if (toolRef !== null && toolRef !== void 0 && toolRef.current) {
|
|
226
|
-
toolRef.current = node;
|
|
227
|
-
}
|
|
228
|
-
};
|
|
229
|
-
var style = {
|
|
230
|
-
transform: _utilities.CSS.Transform.toString(transform),
|
|
231
|
-
transition: transition,
|
|
232
|
-
opacity: isDragging ? 0.5 : 1
|
|
233
|
-
};
|
|
234
|
-
return /*#__PURE__*/_react["default"].createElement(StyledWrapper, {
|
|
235
|
-
ref: setNodeRef,
|
|
236
|
-
style: style
|
|
237
|
-
}, /*#__PURE__*/_react["default"].createElement("div", (0, _extends2["default"])({}, attributes, listeners), children));
|
|
238
|
-
}
|
|
239
|
-
DragTool.propTypes = {
|
|
240
|
-
children: _propTypes["default"].node,
|
|
241
|
-
index: _propTypes["default"].number,
|
|
242
|
-
draggable: _propTypes["default"].bool,
|
|
243
|
-
moveTool: _propTypes["default"].func,
|
|
244
|
-
toolRef: _propTypes["default"].object,
|
|
245
|
-
value: _propTypes["default"].string
|
|
246
|
-
};
|
|
247
|
-
var _default = exports["default"] = ToggleBar;
|
|
248
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9wcm9wVHlwZXMiLCJfc3R5bGVzIiwiX0J1dHRvbiIsIl9yZW5kZXJVaSIsIl90b29scyIsIl9kcmFnIiwiX2NvcmUiLCJfdXRpbGl0aWVzIiwiX3NvcnRhYmxlIiwiX3RyYW5zbGF0b3IiLCJfY2FsbFN1cGVyIiwidCIsIm8iLCJlIiwiX2dldFByb3RvdHlwZU9mMiIsIl9wb3NzaWJsZUNvbnN0cnVjdG9yUmV0dXJuMiIsIl9pc05hdGl2ZVJlZmxlY3RDb25zdHJ1Y3QiLCJSZWZsZWN0IiwiY29uc3RydWN0IiwiY29uc3RydWN0b3IiLCJhcHBseSIsIkJvb2xlYW4iLCJwcm90b3R5cGUiLCJ2YWx1ZU9mIiwiY2FsbCIsIm93bktleXMiLCJyIiwiT2JqZWN0Iiwia2V5cyIsImdldE93blByb3BlcnR5U3ltYm9scyIsImZpbHRlciIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImVudW1lcmFibGUiLCJwdXNoIiwiX29iamVjdFNwcmVhZCIsImFyZ3VtZW50cyIsImxlbmd0aCIsImZvckVhY2giLCJfZGVmaW5lUHJvcGVydHkyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyIsImRlZmluZVByb3BlcnRpZXMiLCJkZWZpbmVQcm9wZXJ0eSIsInRyYW5zbGF0b3IiLCJUcmFuc2xhdG9yIiwiU3R5bGVkTWluaUJ1dHRvbiIsInN0eWxlZCIsIkJ1dHRvbiIsInNob3VsZEZvcndhcmRQcm9wIiwicHJvcCIsImluY2x1ZGVzIiwiX3JlZiIsInNlbGVjdGVkIiwiZGlzYWJsZWQiLCJjb2xvciIsInRleHQiLCJiYWNrZ3JvdW5kQ29sb3IiLCJiYWNrZ3JvdW5kIiwiYm9yZGVyIiwiY29uY2F0Iiwic2Vjb25kYXJ5IiwicHJpbWFyeSIsIk1pbmlCdXR0b24iLCJleHBvcnRzIiwicHJvcHMiLCJjbGFzc05hbWUiLCJ2YWx1ZSIsIm9uQ2xpY2siLCJsYW5ndWFnZSIsInRyYW5zbGF0b3JLZXkiLCJ0b0xvd2VyQ2FzZSIsImNyZWF0ZUVsZW1lbnQiLCJzaXplIiwia2V5IiwidmFyaWFudCIsImJ1dHRvblZhbHVlIiwibG5nIiwicHJvcFR5cGVzIiwiUHJvcFR5cGVzIiwiYm9vbCIsInN0cmluZyIsImRpc2FibGVkQ2xhc3NOYW1lIiwiZnVuYyIsIlN0eWxlZFRvb2xzQ29udGFpbmVyIiwiZGlzcGxheSIsImZsZXhXcmFwIiwiU3R5bGVkQnV0dG9uIiwiX3JlZjIiLCJ0aGVtZSIsIm1hcmdpblJpZ2h0Iiwic3BhY2luZyIsIm1hcmdpbkJvdHRvbSIsIlN0eWxlZFdyYXBwZXIiLCJwb3NpdGlvbiIsIlRvZ2dsZUJhciIsIl9SZWFjdCRDb21wb25lbnQiLCJfdGhpcyIsIl9jbGFzc0NhbGxDaGVjazIiLCJfbGVuIiwiYXJncyIsIkFycmF5IiwiX2tleSIsIm9uQ2hhbmdlIiwidGFyZ2V0IiwidGV4dENvbnRlbnQiLCJkcmFnSW5kZXgiLCJob3ZlckluZGV4IiwiX3RoaXMkcHJvcHMiLCJvcHRpb25zIiwib25DaGFuZ2VUb29sc09yZGVyIiwibmV3T3B0aW9ucyIsImFycmF5TW92ZSIsImV2ZW50IiwiYWN0aXZlIiwib3ZlciIsImFjdGl2ZURhdGEiLCJkYXRhIiwiY3VycmVudCIsIm92ZXJEYXRhIiwidHlwZSIsImluZGV4IiwibW92ZVRvb2wiLCJfaW5oZXJpdHMyIiwiX2NyZWF0ZUNsYXNzMiIsInJlbmRlciIsIl90aGlzMiIsIl90aGlzJHByb3BzMiIsInNlbGVjdGVkVG9vbFR5cGUiLCJkcmFnZ2FibGVUb29scyIsIkRyYWdQcm92aWRlciIsIm9uRHJhZ0VuZCIsImhhbmRsZURyYWdFbmQiLCJtYXAiLCJvcHRpb24iLCJhbGxUb29scyIsImlzU2VsZWN0ZWQiLCJ0b29sUmVmIiwiUmVhY3QiLCJjcmVhdGVSZWYiLCJEcmFnVG9vbCIsImRyYWdnYWJsZSIsImRpc2FibGVSaXBwbGUiLCJzZWxlY3QiLCJDb21wb25lbnQiLCJhcnJheU9mIiwiX3JlZjMiLCJjaGlsZHJlbiIsIl91c2VEcmFnZ2FibGUiLCJ1c2VEcmFnZ2FibGUiLCJpZCIsImF0dHJpYnV0ZXMiLCJsaXN0ZW5lcnMiLCJzZXREcmFnTm9kZVJlZiIsInNldE5vZGVSZWYiLCJ0cmFuc2Zvcm0iLCJ0cmFuc2l0aW9uIiwiaXNEcmFnZ2luZyIsIl91c2VEcm9wcGFibGUiLCJ1c2VEcm9wcGFibGUiLCJhY2NlcHRzIiwic2V0RHJvcE5vZGVSZWYiLCJub2RlIiwic3R5bGUiLCJDU1MiLCJUcmFuc2Zvcm0iLCJ0b1N0cmluZyIsIm9wYWNpdHkiLCJyZWYiLCJfZXh0ZW5kczIiLCJudW1iZXIiLCJvYmplY3QiLCJfZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uL3NyYy90b2dnbGUtYmFyLmpzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCB7IHN0eWxlZCB9IGZyb20gJ0BtdWkvbWF0ZXJpYWwvc3R5bGVzJztcbmltcG9ydCBCdXR0b24gZnJvbSAnQG11aS9tYXRlcmlhbC9CdXR0b24nO1xuaW1wb3J0IHsgY29sb3IgfSBmcm9tICdAcGllLWxpYi9yZW5kZXItdWknO1xuaW1wb3J0IHsgYWxsVG9vbHMgfSBmcm9tICcuL3Rvb2xzJztcbmltcG9ydCB7IERyYWdQcm92aWRlciB9IGZyb20gJ0BwaWUtbGliL2RyYWcnO1xuaW1wb3J0IHsgdXNlRHJhZ2dhYmxlLCB1c2VEcm9wcGFibGUgfSBmcm9tICdAZG5kLWtpdC9jb3JlJztcbmltcG9ydCB7IENTUyB9IGZyb20gJ0BkbmQta2l0L3V0aWxpdGllcyc7XG5pbXBvcnQgeyBhcnJheU1vdmUgfSBmcm9tICdAZG5kLWtpdC9zb3J0YWJsZSc7XG5pbXBvcnQgVHJhbnNsYXRvciBmcm9tICdAcGllLWxpYi90cmFuc2xhdG9yJztcblxuY29uc3QgeyB0cmFuc2xhdG9yIH0gPSBUcmFuc2xhdG9yO1xuXG5jb25zdCBTdHlsZWRNaW5pQnV0dG9uID0gc3R5bGVkKEJ1dHRvbiwge1xuICBzaG91bGRGb3J3YXJkUHJvcDogKHByb3ApID0+ICFbJ3NlbGVjdGVkJ10uaW5jbHVkZXMocHJvcCksXG59KSgoeyBzZWxlY3RlZCwgZGlzYWJsZWQgfSkgPT4gKHtcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbiAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5iYWNrZ3JvdW5kKCksXG4gIC4uLihzZWxlY3RlZCAmJiB7XG4gICAgYm9yZGVyOiBgMXB4IHNvbGlkICR7Y29sb3Iuc2Vjb25kYXJ5KCl9YCxcbiAgfSksXG4gIC4uLighc2VsZWN0ZWQgJiYge1xuICAgICcmIHNwYW4nOiB7XG4gICAgICBjb2xvcjogY29sb3IucHJpbWFyeSgpLFxuICAgIH0sXG4gIH0pLFxuICAuLi4oZGlzYWJsZWQgJiYge1xuICAgICcmIHNwYW4nOiB7XG4gICAgICBjb2xvcjogY29sb3IucHJpbWFyeSgpLFxuICAgIH0sXG4gICAgYmFja2dyb3VuZENvbG9yOiBjb2xvci5kaXNhYmxlZCgpLFxuICB9KSxcbn0pKTtcblxuZXhwb3J0IGNvbnN0IE1pbmlCdXR0b24gPSAocHJvcHMpID0+IHtcbiAgY29uc3QgeyBkaXNhYmxlZCwgY2xhc3NOYW1lLCBzZWxlY3RlZCwgdmFsdWUsIG9uQ2xpY2ssIGxhbmd1YWdlIH0gPSBwcm9wcztcbiAgY29uc3QgdHJhbnNsYXRvcktleSA9IHZhbHVlLnRvTG93ZXJDYXNlKCk7XG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkTWluaUJ1dHRvblxuICAgICAgc2l6ZT1cInNtYWxsXCJcbiAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lfVxuICAgICAgc2VsZWN0ZWQ9e3NlbGVjdGVkfVxuICAgICAgdmFsdWU9e3ZhbHVlfVxuICAgICAga2V5PXt2YWx1ZX1cbiAgICAgIHZhcmlhbnQ9XCJvdXRsaW5lZFwiXG4gICAgICBvbkNsaWNrPXsoZSkgPT4gb25DbGljayh7IC4uLmUsIGJ1dHRvblZhbHVlOiB2YWx1ZSB9KX1cbiAgICA+XG4gICAgICB7dHJhbnNsYXRvci50KGBncmFwaGluZy4ke3RyYW5zbGF0b3JLZXl9YCwgeyBsbmc6IGxhbmd1YWdlIH0pfVxuICAgIDwvU3R5bGVkTWluaUJ1dHRvbj5cbiAgKTtcbn07XG5cbk1pbmlCdXR0b24ucHJvcFR5cGVzID0ge1xuICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZGlzYWJsZWRDbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIHNlbGVjdGVkOiBQcm9wVHlwZXMuYm9vbCxcbiAgdmFsdWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIG9uQ2xpY2s6IFByb3BUeXBlcy5mdW5jLFxuICBsYW5ndWFnZTogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmNvbnN0IFN0eWxlZFRvb2xzQ29udGFpbmVyID0gc3R5bGVkKCdkaXYnKSgoKSA9PiAoe1xuICBkaXNwbGF5OiAnZmxleCcsXG4gIGZsZXhXcmFwOiAnd3JhcCcsXG59KSk7XG5cbmNvbnN0IFN0eWxlZEJ1dHRvbiA9IHN0eWxlZChNaW5pQnV0dG9uKSgoeyB0aGVtZSB9KSA9PiAoe1xuICBtYXJnaW5SaWdodDogdGhlbWUuc3BhY2luZygwLjUpLFxuICBtYXJnaW5Cb3R0b206IHRoZW1lLnNwYWNpbmcoMC41KSxcbiAgY29sb3I6IGNvbG9yLnRleHQoKSxcbn0pKTtcblxuY29uc3QgU3R5bGVkV3JhcHBlciA9IHN0eWxlZCgnZGl2Jykoe1xuICBwb3NpdGlvbjogJ3JlbGF0aXZlJyxcbn0pO1xuXG5leHBvcnQgY2xhc3MgVG9nZ2xlQmFyIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHtcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgb3B0aW9uczogUHJvcFR5cGVzLmFycmF5T2YoUHJvcFR5cGVzLnN0cmluZyksXG4gICAgc2VsZWN0ZWRUb29sVHlwZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBkaXNhYmxlZDogUHJvcFR5cGVzLmJvb2wsXG4gICAgZHJhZ2dhYmxlVG9vbHM6IFByb3BUeXBlcy5ib29sLFxuICAgIG9uQ2hhbmdlOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkNoYW5nZVRvb2xzT3JkZXI6IFByb3BUeXBlcy5mdW5jLFxuICAgIGxhbmd1YWdlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICB9O1xuXG4gIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSB7fTtcblxuICBzZWxlY3QgPSAoZSkgPT4gdGhpcy5wcm9wcy5vbkNoYW5nZShlLmJ1dHRvblZhbHVlIHx8IGUudGFyZ2V0LnRleHRDb250ZW50KTtcblxuICBtb3ZlVG9vbCA9IChkcmFnSW5kZXgsIGhvdmVySW5kZXgpID0+IHtcbiAgICBjb25zdCB7IG9wdGlvbnMsIG9uQ2hhbmdlVG9vbHNPcmRlciB9ID0gdGhpcy5wcm9wcztcbiAgICBjb25zdCBuZXdPcHRpb25zID0gYXJyYXlNb3ZlKG9wdGlvbnMsIGRyYWdJbmRleCwgaG92ZXJJbmRleCk7XG5cbiAgICBvbkNoYW5nZVRvb2xzT3JkZXIobmV3T3B0aW9ucyk7XG4gIH07XG5cbiAgaGFuZGxlRHJhZ0VuZCA9IChldmVudCkgPT4ge1xuICAgIGNvbnN0IHsgYWN0aXZlLCBvdmVyIH0gPSBldmVudDtcblxuICAgIGlmICghb3ZlciB8fCAhYWN0aXZlKSByZXR1cm47XG5cbiAgICBjb25zdCBhY3RpdmVEYXRhID0gYWN0aXZlLmRhdGEuY3VycmVudDtcbiAgICBjb25zdCBvdmVyRGF0YSA9IG92ZXIuZGF0YS5jdXJyZW50O1xuXG4gICAgaWYgKGFjdGl2ZURhdGE/LnR5cGUgPT09ICd0b29sJyAmJiBvdmVyRGF0YT8udHlwZSA9PT0gJ3Rvb2wnKSB7XG4gICAgICBjb25zdCBkcmFnSW5kZXggPSBhY3RpdmVEYXRhLmluZGV4O1xuICAgICAgY29uc3QgaG92ZXJJbmRleCA9IG92ZXJEYXRhLmluZGV4O1xuXG4gICAgICBpZiAoZHJhZ0luZGV4ICE9PSBob3ZlckluZGV4KSB7XG4gICAgICAgIHRoaXMubW92ZVRvb2woZHJhZ0luZGV4LCBob3ZlckluZGV4KTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHsgY2xhc3NOYW1lLCBkaXNhYmxlZCwgb3B0aW9ucywgc2VsZWN0ZWRUb29sVHlwZSwgZHJhZ2dhYmxlVG9vbHMsIGxhbmd1YWdlIH0gPSB0aGlzLnByb3BzO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxEcmFnUHJvdmlkZXIgb25EcmFnRW5kPXt0aGlzLmhhbmRsZURyYWdFbmR9PlxuICAgICAgICA8U3R5bGVkVG9vbHNDb250YWluZXIgY2xhc3NOYW1lPXtjbGFzc05hbWV9PlxuICAgICAgICAgIHsob3B0aW9ucyB8fCBbXSkubWFwKChvcHRpb24sIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAoKGFsbFRvb2xzIHx8IFtdKS5pbmNsdWRlcyhvcHRpb24pKSB7XG4gICAgICAgICAgICAgIGNvbnN0IGlzU2VsZWN0ZWQgPSBvcHRpb24gPT09IHNlbGVjdGVkVG9vbFR5cGU7XG4gICAgICAgICAgICAgIGNvbnN0IHRvb2xSZWYgPSBSZWFjdC5jcmVhdGVSZWYoKTtcblxuICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgIDxEcmFnVG9vbFxuICAgICAgICAgICAgICAgICAga2V5PXtvcHRpb259XG4gICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17b3B0aW9ufVxuICAgICAgICAgICAgICAgICAgZHJhZ2dhYmxlPXtkcmFnZ2FibGVUb29sc31cbiAgICAgICAgICAgICAgICAgIG1vdmVUb29sPXt0aGlzLm1vdmVUb29sfVxuICAgICAgICAgICAgICAgICAgdG9vbFJlZj17dG9vbFJlZn1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8U3R5bGVkQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgZGlzYWJsZVJpcHBsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy5zZWxlY3R9XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlPXtvcHRpb259XG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgICAgICAgICAgICAgICBsYW5ndWFnZT17bGFuZ3VhZ2V9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRHJhZ1Rvb2w+XG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSl9XG4gICAgICAgIDwvU3R5bGVkVG9vbHNDb250YWluZXI+XG4gICAgICA8L0RyYWdQcm92aWRlcj5cbiAgICApO1xuICB9XG59XG5cbi8vIERyYWdUb29sIGZ1bmN0aW9uYWwgY29tcG9uZW50IHVzaW5nIEBkbmQta2l0IGhvb2tzXG5mdW5jdGlvbiBEcmFnVG9vbCh7IGNoaWxkcmVuLCBpbmRleCwgZHJhZ2dhYmxlLCB0b29sUmVmLCB2YWx1ZSB9KSB7XG4gIGNvbnN0IHsgYXR0cmlidXRlcywgbGlzdGVuZXJzLCBzZXROb2RlUmVmOiBzZXREcmFnTm9kZVJlZiwgdHJhbnNmb3JtLCB0cmFuc2l0aW9uLCBpc0RyYWdnaW5nIH0gPSB1c2VEcmFnZ2FibGUoe1xuICAgIGlkOiBgdG9vbC0ke3ZhbHVlfS0ke2luZGV4fWAsXG4gICAgZGlzYWJsZWQ6ICFkcmFnZ2FibGUsXG4gICAgZGF0YToge1xuICAgICAgdHlwZTogJ3Rvb2wnLFxuICAgICAgaW5kZXgsXG4gICAgICB2YWx1ZSxcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCB7IHNldE5vZGVSZWY6IHNldERyb3BOb2RlUmVmIH0gPSB1c2VEcm9wcGFibGUoe1xuICAgIGlkOiBgZHJvcC10b29sLSR7dmFsdWV9LSR7aW5kZXh9YCxcbiAgICBkYXRhOiB7XG4gICAgICB0eXBlOiAndG9vbCcsXG4gICAgICBpbmRleCxcbiAgICAgIGFjY2VwdHM6IFsndG9vbCddLFxuICAgIH0sXG4gIH0pO1xuXG4gIC8vIENvbWJpbmUgcmVmc1xuICBjb25zdCBzZXROb2RlUmVmID0gKG5vZGUpID0+IHtcbiAgICBzZXREcmFnTm9kZVJlZihub2RlKTtcbiAgICBzZXREcm9wTm9kZVJlZihub2RlKTtcbiAgICBpZiAodG9vbFJlZj8uY3VycmVudCkge1xuICAgICAgdG9vbFJlZi5jdXJyZW50ID0gbm9kZTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3Qgc3R5bGUgPSB7XG4gICAgdHJhbnNmb3JtOiBDU1MuVHJhbnNmb3JtLnRvU3RyaW5nKHRyYW5zZm9ybSksXG4gICAgdHJhbnNpdGlvbixcbiAgICBvcGFjaXR5OiBpc0RyYWdnaW5nID8gMC41IDogMSxcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTdHlsZWRXcmFwcGVyIHJlZj17c2V0Tm9kZVJlZn0gc3R5bGU9e3N0eWxlfT5cbiAgICAgIDxkaXYgey4uLmF0dHJpYnV0ZXN9IHsuLi5saXN0ZW5lcnN9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2Rpdj5cbiAgICA8L1N0eWxlZFdyYXBwZXI+XG4gICk7XG59XG5cbkRyYWdUb29sLnByb3BUeXBlcyA9IHtcbiAgY2hpbGRyZW46IFByb3BUeXBlcy5ub2RlLFxuICBpbmRleDogUHJvcFR5cGVzLm51bWJlcixcbiAgZHJhZ2dhYmxlOiBQcm9wVHlwZXMuYm9vbCxcbiAgbW92ZVRvb2w6IFByb3BUeXBlcy5mdW5jLFxuICB0b29sUmVmOiBQcm9wVHlwZXMub2JqZWN0LFxuICB2YWx1ZTogUHJvcFR5cGVzLnN0cmluZyxcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFRvZ2dsZUJhcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxVQUFBLEdBQUFGLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBRSxPQUFBLEdBQUFGLE9BQUE7QUFDQSxJQUFB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
|
package/lib/toggle-bar.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"toggle-bar.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_Button","_renderUi","_tools","_drag","_core","_utilities","_sortable","_translator","_callSuper","t","o","e","_getPrototypeOf2","_possibleConstructorReturn2","_isNativeReflectConstruct","Reflect","construct","constructor","apply","Boolean","prototype","valueOf","call","ownKeys","r","Object","keys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","enumerable","push","_objectSpread","arguments","length","forEach","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","translator","Translator","StyledMiniButton","styled","Button","shouldForwardProp","prop","includes","_ref","selected","disabled","color","text","backgroundColor","background","border","concat","secondary","primary","MiniButton","exports","props","className","value","onClick","language","translatorKey","toLowerCase","createElement","size","key","variant","buttonValue","lng","propTypes","PropTypes","bool","string","disabledClassName","func","StyledToolsContainer","display","flexWrap","StyledButton","_ref2","theme","marginRight","spacing","marginBottom","StyledWrapper","position","ToggleBar","_React$Component","_this","_classCallCheck2","_len","args","Array","_key","onChange","target","textContent","dragIndex","hoverIndex","_this$props","options","onChangeToolsOrder","newOptions","arrayMove","event","active","over","activeData","data","current","overData","type","index","moveTool","_inherits2","_createClass2","render","_this2","_this$props2","selectedToolType","draggableTools","DragProvider","onDragEnd","handleDragEnd","map","option","allTools","isSelected","toolRef","React","createRef","DragTool","draggable","disableRipple","select","Component","arrayOf","_ref3","children","_useDraggable","useDraggable","id","attributes","listeners","setDragNodeRef","setNodeRef","transform","transition","isDragging","_useDroppable","useDroppable","accepts","setDropNodeRef","node","style","CSS","Transform","toString","opacity","ref","_extends2","number","object","_default"],"sources":["../src/toggle-bar.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport Button from '@mui/material/Button';\nimport { color } from '@pie-lib/render-ui';\nimport { allTools } from './tools';\nimport { DragProvider } from '@pie-lib/drag';\nimport { useDraggable, useDroppable } from '@dnd-kit/core';\nimport { CSS } from '@dnd-kit/utilities';\nimport { arrayMove } from '@dnd-kit/sortable';\nimport Translator from '@pie-lib/translator';\n\nconst { translator } = Translator;\n\nconst StyledMiniButton = styled(Button, {\n shouldForwardProp: (prop) => !['selected'].includes(prop),\n})(({ selected, disabled }) => ({\n color: color.text(),\n backgroundColor: color.background(),\n ...(selected && {\n border: `1px solid ${color.secondary()}`,\n }),\n ...(!selected && {\n '& span': {\n color: color.primary(),\n },\n }),\n ...(disabled && {\n '& span': {\n color: color.primary(),\n },\n backgroundColor: color.disabled(),\n }),\n}));\n\nexport const MiniButton = (props) => {\n const { disabled, className, selected, value, onClick, language } = props;\n const translatorKey = value.toLowerCase();\n\n return (\n <StyledMiniButton\n size=\"small\"\n disabled={disabled}\n className={className}\n selected={selected}\n value={value}\n key={value}\n variant=\"outlined\"\n onClick={(e) => onClick({ ...e, buttonValue: value })}\n >\n {translator.t(`graphing.${translatorKey}`, { lng: language })}\n </StyledMiniButton>\n );\n};\n\nMiniButton.propTypes = {\n disabled: PropTypes.bool,\n className: PropTypes.string,\n disabledClassName: PropTypes.string,\n selected: PropTypes.bool,\n value: PropTypes.string,\n onClick: PropTypes.func,\n language: PropTypes.string,\n};\n\nconst StyledToolsContainer = styled('div')(() => ({\n display: 'flex',\n flexWrap: 'wrap',\n}));\n\nconst StyledButton = styled(MiniButton)(({ theme }) => ({\n marginRight: theme.spacing(0.5),\n marginBottom: theme.spacing(0.5),\n color: color.text(),\n}));\n\nconst StyledWrapper = styled('div')({\n position: 'relative',\n});\n\nexport class ToggleBar extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n options: PropTypes.arrayOf(PropTypes.string),\n selectedToolType: PropTypes.string,\n disabled: PropTypes.bool,\n draggableTools: PropTypes.bool,\n onChange: PropTypes.func,\n onChangeToolsOrder: PropTypes.func,\n language: PropTypes.string,\n };\n\n static defaultProps = {};\n\n select = (e) => this.props.onChange(e.buttonValue || e.target.textContent);\n\n moveTool = (dragIndex, hoverIndex) => {\n const { options, onChangeToolsOrder } = this.props;\n const newOptions = arrayMove(options, dragIndex, hoverIndex);\n\n onChangeToolsOrder(newOptions);\n };\n\n handleDragEnd = (event) => {\n const { active, over } = event;\n\n if (!over || !active) return;\n\n const activeData = active.data.current;\n const overData = over.data.current;\n\n if (activeData?.type === 'tool' && overData?.type === 'tool') {\n const dragIndex = activeData.index;\n const hoverIndex = overData.index;\n\n if (dragIndex !== hoverIndex) {\n this.moveTool(dragIndex, hoverIndex);\n }\n }\n };\n\n render() {\n const { className, disabled, options, selectedToolType, draggableTools, language } = this.props;\n\n return (\n <DragProvider onDragEnd={this.handleDragEnd}>\n <StyledToolsContainer className={className}>\n {(options || []).map((option, index) => {\n if ((allTools || []).includes(option)) {\n const isSelected = option === selectedToolType;\n const toolRef = React.createRef();\n\n return (\n <DragTool\n key={option}\n index={index}\n value={option}\n draggable={draggableTools}\n moveTool={this.moveTool}\n toolRef={toolRef}\n >\n <StyledButton\n disabled={disabled}\n disableRipple={true}\n onClick={this.select}\n value={option}\n selected={isSelected}\n language={language}\n />\n </DragTool>\n );\n }\n })}\n </StyledToolsContainer>\n </DragProvider>\n );\n }\n}\n\n// DragTool functional component using @dnd-kit hooks\nfunction DragTool({ children, index, draggable, toolRef, value }) {\n const { attributes, listeners, setNodeRef: setDragNodeRef, transform, transition, isDragging } = useDraggable({\n id: `tool-${value}-${index}`,\n disabled: !draggable,\n data: {\n type: 'tool',\n index,\n value,\n },\n });\n\n const { setNodeRef: setDropNodeRef } = useDroppable({\n id: `drop-tool-${value}-${index}`,\n data: {\n type: 'tool',\n index,\n accepts: ['tool'],\n },\n });\n\n // Combine refs\n const setNodeRef = (node) => {\n setDragNodeRef(node);\n setDropNodeRef(node);\n if (toolRef?.current) {\n toolRef.current = node;\n }\n };\n\n const style = {\n transform: CSS.Transform.toString(transform),\n transition,\n opacity: isDragging ? 0.5 : 1,\n };\n\n return (\n <StyledWrapper ref={setNodeRef} style={style}>\n <div {...attributes} {...listeners}>\n {children}\n </div>\n </StyledWrapper>\n );\n}\n\nDragTool.propTypes = {\n children: PropTypes.node,\n index: PropTypes.number,\n draggable: PropTypes.bool,\n moveTool: PropTypes.func,\n toolRef: PropTypes.object,\n value: PropTypes.string,\n};\n\nexport default ToggleBar;\n"],"mappings":"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","ignoreList":[]}
|