@yorab/react-paint 0.4.0 → 0.5.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/README.md +1 -0
- package/dist/components/App.js +61 -72
- package/dist/components/Canvas.js +31 -18
- package/dist/components/common/Button.js +4 -4
- package/dist/components/common/Loading.js +3 -3
- package/dist/components/common/Modal.js +3 -3
- package/dist/components/common/Panel.js +2 -2
- package/dist/components/common/Snackbar.js +2 -2
- package/dist/components/settings/ColorField.js +11 -15
- package/dist/components/settings/FontFamilyField.js +7 -5
- package/dist/components/settings/LayoutButton.js +1 -1
- package/dist/components/settings/Layouts.js +9 -9
- package/dist/components/settings/LineArrowField.js +8 -6
- package/dist/components/settings/LineTypeField.js +7 -5
- package/dist/components/settings/PointsNumberField.js +19 -29
- package/dist/components/settings/RangeField.js +2 -1
- package/dist/components/settings/SelectField.js +2 -1
- package/dist/components/settings/SettingsBar.js +107 -80
- package/dist/components/toolbox/EditTextBox.js +6 -6
- package/dist/components/toolbox/LoadFileTool.js +5 -3
- package/dist/components/toolbox/MenuGroup.js +55 -29
- package/dist/components/toolbox/PictureUrlInput.js +1 -1
- package/dist/components/toolbox/Tool.js +4 -4
- package/dist/components/toolbox/Toolbar.js +82 -59
- package/dist/components/toolbox/ToolbarGroup.js +21 -25
- package/dist/constants/style.js +3 -1
- package/dist/constants/tools.js +420 -0
- package/dist/hooks/useComponent.js +6 -2
- package/dist/hooks/useDrawableCanvas.js +28 -19
- package/dist/styles.css +51 -54
- package/dist/types/Shapes.js +2 -16
- package/dist/types/tools.js +22 -0
- package/dist/utils/data.js +81 -25
- package/dist/utils/style.js +4 -2
- package/dist/utils/toolbar.js +66 -11
- package/dist/utils/transform.js +3 -3
- package/package.json +1 -1
- package/Changelog.md +0 -62
|
@@ -25,33 +25,41 @@ var _Panel = _interopRequireDefault(require("../common/Panel"));
|
|
|
25
25
|
|
|
26
26
|
var _react2 = require("@linaria/react");
|
|
27
27
|
|
|
28
|
-
var _Shapes = require("../../types/Shapes");
|
|
29
|
-
|
|
30
|
-
var _style = require("../../utils/style");
|
|
31
|
-
|
|
32
28
|
var _Tool = _interopRequireDefault(require("./Tool"));
|
|
33
29
|
|
|
34
30
|
var _LoadFileTool = _interopRequireDefault(require("./LoadFileTool"));
|
|
35
31
|
|
|
36
32
|
var _icons = require("../../constants/icons");
|
|
37
33
|
|
|
34
|
+
var _tools = require("../../constants/tools");
|
|
35
|
+
|
|
38
36
|
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); }
|
|
39
37
|
|
|
40
38
|
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; }
|
|
41
39
|
|
|
42
40
|
var StyledPanel = /*#__PURE__*/(0, _react2.styled)(_Panel["default"])({
|
|
43
41
|
name: "StyledPanel",
|
|
44
|
-
"class": "
|
|
42
|
+
"class": "s1qu0ers"
|
|
45
43
|
});
|
|
46
44
|
var StyledRelative = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
47
45
|
name: "StyledRelative",
|
|
48
|
-
"class": "
|
|
46
|
+
"class": "s1y35t9y"
|
|
49
47
|
});
|
|
50
48
|
|
|
51
49
|
var MenuGroup = function MenuGroup(_ref) {
|
|
52
50
|
var _ref3;
|
|
53
51
|
|
|
54
52
|
var activeTool = _ref.activeTool,
|
|
53
|
+
withActionsInMenu = _ref.withActionsInMenu,
|
|
54
|
+
_ref$hasActionToUndo = _ref.hasActionToUndo,
|
|
55
|
+
hasActionToUndo = _ref$hasActionToUndo === void 0 ? false : _ref$hasActionToUndo,
|
|
56
|
+
_ref$hasActionToRedo = _ref.hasActionToRedo,
|
|
57
|
+
hasActionToRedo = _ref$hasActionToRedo === void 0 ? false : _ref$hasActionToRedo,
|
|
58
|
+
_ref$hasActionToClear = _ref.hasActionToClear,
|
|
59
|
+
hasActionToClear = _ref$hasActionToClear === void 0 ? false : _ref$hasActionToClear,
|
|
60
|
+
undoAction = _ref.undoAction,
|
|
61
|
+
redoAction = _ref.redoAction,
|
|
62
|
+
clearCanvas = _ref.clearCanvas,
|
|
55
63
|
alignment = _ref.alignment,
|
|
56
64
|
group = _ref.group,
|
|
57
65
|
_ref$vertical = _ref.vertical,
|
|
@@ -65,7 +73,8 @@ var MenuGroup = function MenuGroup(_ref) {
|
|
|
65
73
|
togglePictureUrlModal = _ref.togglePictureUrlModal,
|
|
66
74
|
saveFile = _ref.saveFile,
|
|
67
75
|
exportCanvasInFile = _ref.exportCanvasInFile,
|
|
68
|
-
|
|
76
|
+
withUploadPicture = _ref.withUploadPicture,
|
|
77
|
+
withUrlPicture = _ref.withUrlPicture;
|
|
69
78
|
|
|
70
79
|
var _useState = (0, _react.useState)(false),
|
|
71
80
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -104,9 +113,9 @@ var MenuGroup = function MenuGroup(_ref) {
|
|
|
104
113
|
setIsOpen(true);
|
|
105
114
|
};
|
|
106
115
|
|
|
107
|
-
var isActive = _fp["default"].includes(activeTool, group === null || group === void 0 ? void 0 : group.tools);
|
|
116
|
+
var isActive = _fp["default"].includes(activeTool.type, group === null || group === void 0 ? void 0 : group.tools);
|
|
108
117
|
|
|
109
|
-
var groupIcon = (_ref3 = isActive ?
|
|
118
|
+
var groupIcon = (_ref3 = isActive ? activeTool.icon : group.img) !== null && _ref3 !== void 0 ? _ref3 : group.title;
|
|
110
119
|
(0, _react.useEffect)(function () {
|
|
111
120
|
if (!isOpen) return;
|
|
112
121
|
|
|
@@ -123,11 +132,7 @@ var MenuGroup = function MenuGroup(_ref) {
|
|
|
123
132
|
document.removeEventListener('click', closePanel);
|
|
124
133
|
};
|
|
125
134
|
}, [isOpen]);
|
|
126
|
-
|
|
127
|
-
var withPicture = _fp["default"].includes(_Shapes.ShapeEnum.picture, availableTools);
|
|
128
|
-
|
|
129
|
-
var withDivider = withPicture && (withLoadAndSave || withExport);
|
|
130
|
-
var withMenu = withPicture || withLoadAndSave || withExport;
|
|
135
|
+
var withMenu = withActionsInMenu || withUploadPicture || withUrlPicture || withLoadAndSave || withExport;
|
|
131
136
|
return withMenu ? /*#__PURE__*/_react["default"].createElement(StyledRelative, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
132
137
|
selected: isActive,
|
|
133
138
|
title: group.title,
|
|
@@ -137,42 +142,63 @@ var MenuGroup = function MenuGroup(_ref) {
|
|
|
137
142
|
}), isOpen && /*#__PURE__*/_react["default"].createElement(StyledPanel, {
|
|
138
143
|
vertical: vertical,
|
|
139
144
|
alignment: alignment
|
|
140
|
-
},
|
|
145
|
+
}, withActionsInMenu && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
146
|
+
withText: true,
|
|
147
|
+
type: _tools.UNDO_TOOL,
|
|
148
|
+
disabled: disabled || !hasActionToUndo,
|
|
149
|
+
img: _tools.UNDO_TOOL.icon,
|
|
150
|
+
isActive: activeTool.id === _tools.UNDO_TOOL.id,
|
|
151
|
+
setActive: undoAction
|
|
152
|
+
}), /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
153
|
+
withText: true,
|
|
154
|
+
type: _tools.REDO_TOOL,
|
|
155
|
+
disabled: disabled || !hasActionToRedo,
|
|
156
|
+
img: _tools.REDO_TOOL.icon,
|
|
157
|
+
isActive: activeTool.id === _tools.REDO_TOOL.id,
|
|
158
|
+
setActive: redoAction
|
|
159
|
+
}), /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
160
|
+
withText: true,
|
|
161
|
+
type: _tools.CLEAR_TOOL,
|
|
162
|
+
disabled: disabled || !hasActionToClear,
|
|
163
|
+
img: _tools.CLEAR_TOOL.icon,
|
|
164
|
+
isActive: activeTool.id === _tools.CLEAR_TOOL.id,
|
|
165
|
+
setActive: function setActive() {
|
|
166
|
+
return clearCanvas();
|
|
167
|
+
}
|
|
168
|
+
}), (withUploadPicture || withUrlPicture || withLoadAndSave) && /*#__PURE__*/_react["default"].createElement("hr", null)), withUploadPicture && /*#__PURE__*/_react["default"].createElement(_LoadFileTool["default"], {
|
|
141
169
|
withText: true,
|
|
170
|
+
type: _tools.UPLOAD_PICTURE_TOOL,
|
|
142
171
|
disabled: disabled,
|
|
143
172
|
loadFile: addPicture,
|
|
144
|
-
|
|
145
|
-
img: _icons.pictureIcon,
|
|
173
|
+
img: _tools.UPLOAD_PICTURE_TOOL.icon,
|
|
146
174
|
accept: "image/png, image/gif, image/jpeg"
|
|
147
|
-
}), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
175
|
+
}), withUrlPicture && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
148
176
|
disabled: disabled,
|
|
149
177
|
selected: false,
|
|
150
178
|
onClick: togglePictureUrlModal,
|
|
151
179
|
title: "Add picture from URL",
|
|
152
180
|
icon: _icons.publicIcon,
|
|
153
181
|
children: "Add picture from URL"
|
|
154
|
-
})
|
|
182
|
+
}), (withUploadPicture || withUrlPicture) && withLoadAndSave && /*#__PURE__*/_react["default"].createElement("hr", null), withLoadAndSave && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_LoadFileTool["default"], {
|
|
155
183
|
withText: true,
|
|
184
|
+
type: _tools.LOAD_TOOL,
|
|
156
185
|
disabled: disabled,
|
|
157
186
|
loadFile: loadFile,
|
|
158
|
-
|
|
159
|
-
img: _icons.openFileIcon,
|
|
187
|
+
img: _tools.LOAD_TOOL.icon,
|
|
160
188
|
accept: "application/JSON"
|
|
161
189
|
}), /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
162
190
|
withText: true,
|
|
163
191
|
disabled: disabled,
|
|
164
|
-
type:
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
isActive: activeTool === _Shapes.ToolEnum.saveFile,
|
|
192
|
+
type: _tools.SAVE_TOOL,
|
|
193
|
+
img: _tools.SAVE_TOOL.icon,
|
|
194
|
+
isActive: activeTool.id === _tools.SAVE_TOOL.id,
|
|
168
195
|
setActive: saveFile
|
|
169
196
|
})), withExport && /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
170
197
|
withText: true,
|
|
171
198
|
disabled: disabled,
|
|
172
|
-
type:
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
isActive: activeTool === _Shapes.ToolEnum["export"],
|
|
199
|
+
type: _tools.EXPORT_TOOL,
|
|
200
|
+
img: _tools.EXPORT_TOOL.icon,
|
|
201
|
+
isActive: activeTool.id === _tools.EXPORT_TOOL.id,
|
|
176
202
|
setActive: exportCanvasInFile
|
|
177
203
|
}))) : null;
|
|
178
204
|
};
|
|
@@ -27,7 +27,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
27
27
|
|
|
28
28
|
var StyledInputModal = /*#__PURE__*/(0, _react2.styled)(_Modal["default"])({
|
|
29
29
|
name: "StyledInputModal",
|
|
30
|
-
"class": "
|
|
30
|
+
"class": "s1rncfwv"
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
var PictureUrlModal = function PictureUrlModal(_ref) {
|
|
@@ -12,9 +12,9 @@ var _react = _interopRequireDefault(require("react"));
|
|
|
12
12
|
var _Button = _interopRequireDefault(require("../common/Button"));
|
|
13
13
|
|
|
14
14
|
var Tool = function Tool(_ref) {
|
|
15
|
+
var _type$lib;
|
|
16
|
+
|
|
15
17
|
var type = _ref.type,
|
|
16
|
-
_ref$lib = _ref.lib,
|
|
17
|
-
lib = _ref$lib === void 0 ? '' : _ref$lib,
|
|
18
18
|
img = _ref.img,
|
|
19
19
|
isActive = _ref.isActive,
|
|
20
20
|
_ref$withText = _ref.withText,
|
|
@@ -31,9 +31,9 @@ var Tool = function Tool(_ref) {
|
|
|
31
31
|
disabled: disabled,
|
|
32
32
|
selected: isActive,
|
|
33
33
|
onClick: handleClick,
|
|
34
|
-
title: lib,
|
|
34
|
+
title: (_type$lib = type.lib) !== null && _type$lib !== void 0 ? _type$lib : type.type,
|
|
35
35
|
icon: img,
|
|
36
|
-
children: withText ? lib : undefined
|
|
36
|
+
children: withText ? type.lib : undefined
|
|
37
37
|
});
|
|
38
38
|
};
|
|
39
39
|
|
|
@@ -29,51 +29,48 @@ var _MenuGroup = _interopRequireDefault(require("./MenuGroup"));
|
|
|
29
29
|
|
|
30
30
|
var _Tool = _interopRequireDefault(require("./Tool"));
|
|
31
31
|
|
|
32
|
-
var _style = require("../../utils/style");
|
|
33
|
-
|
|
34
32
|
var _Modal = _interopRequireDefault(require("../common/Modal"));
|
|
35
33
|
|
|
36
34
|
var _PictureUrlInput = _interopRequireDefault(require("./PictureUrlInput"));
|
|
37
35
|
|
|
36
|
+
var _fp = _interopRequireDefault(require("lodash/fp"));
|
|
37
|
+
|
|
38
|
+
var _tools = require("../../constants/tools");
|
|
39
|
+
|
|
38
40
|
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); }
|
|
39
41
|
|
|
40
42
|
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; }
|
|
41
43
|
|
|
44
|
+
var TOOL_WIDTH = 40;
|
|
42
45
|
var StyledShrinkableTools = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
43
46
|
name: "StyledShrinkableTools",
|
|
44
|
-
"class": "
|
|
47
|
+
"class": "s1gorp95"
|
|
45
48
|
});
|
|
46
49
|
var StyledToolbox = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
47
50
|
name: "StyledToolbox",
|
|
48
|
-
"class": "
|
|
49
|
-
});
|
|
50
|
-
var StyledShrinkableToolsInner = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
51
|
-
name: "StyledShrinkableToolsInner",
|
|
52
|
-
"class": "s1g032mh"
|
|
51
|
+
"class": "s1ivsaf6"
|
|
53
52
|
});
|
|
54
53
|
var StyledToolsModal = /*#__PURE__*/(0, _react2.styled)(_Modal["default"])({
|
|
55
54
|
name: "StyledToolsModal",
|
|
56
|
-
"class": "
|
|
55
|
+
"class": "sv0y70r"
|
|
57
56
|
});
|
|
58
57
|
var TOOLBAR_STRUCTURE = [{
|
|
59
58
|
title: 'brush',
|
|
60
|
-
|
|
61
|
-
tools: [_Shapes.ShapeEnum.brush],
|
|
59
|
+
toolsType: [_Shapes.ShapeEnum.brush],
|
|
62
60
|
vertical: false
|
|
63
61
|
}, {
|
|
64
62
|
title: 'lines',
|
|
65
|
-
|
|
66
|
-
tools: [_Shapes.ShapeEnum.line, _Shapes.ShapeEnum.curve, _Shapes.ShapeEnum.polygon],
|
|
63
|
+
toolsType: [_Shapes.ShapeEnum.line, _Shapes.ShapeEnum.curve, _Shapes.ShapeEnum.polygon],
|
|
67
64
|
vertical: false
|
|
68
65
|
}, {
|
|
69
66
|
title: 'shapes',
|
|
70
|
-
|
|
71
|
-
tools: [_Shapes.ShapeEnum.rect, _Shapes.ShapeEnum.square, _Shapes.ShapeEnum.circle, _Shapes.ShapeEnum.ellipse],
|
|
67
|
+
toolsType: [_Shapes.ShapeEnum.rect, _Shapes.ShapeEnum.square, _Shapes.ShapeEnum.circle, _Shapes.ShapeEnum.ellipse],
|
|
72
68
|
vertical: false
|
|
73
69
|
}, _Shapes.ShapeEnum.text];
|
|
74
70
|
|
|
75
71
|
var Toolbar = function Toolbar(_ref) {
|
|
76
|
-
var
|
|
72
|
+
var width = _ref.width,
|
|
73
|
+
_ref$disabled = _ref.disabled,
|
|
77
74
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
78
75
|
activeTool = _ref.activeTool,
|
|
79
76
|
_ref$hasActionToUndo = _ref.hasActionToUndo,
|
|
@@ -92,7 +89,12 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
92
89
|
loadFile = _ref.loadFile,
|
|
93
90
|
saveFile = _ref.saveFile,
|
|
94
91
|
exportCanvasInFile = _ref.exportCanvasInFile,
|
|
95
|
-
availableTools = _ref.availableTools
|
|
92
|
+
availableTools = _ref.availableTools,
|
|
93
|
+
withUrlPicture = _ref.withUrlPicture,
|
|
94
|
+
withUploadPicture = _ref.withUploadPicture;
|
|
95
|
+
var currentStructure = (0, _toolbar.getCurrentStructure)(availableTools, TOOLBAR_STRUCTURE);
|
|
96
|
+
var fullToolbarSize = (5 + currentStructure.length) * TOOL_WIDTH;
|
|
97
|
+
var withMenuToolbarSize = (2 + currentStructure.length) * TOOL_WIDTH;
|
|
96
98
|
|
|
97
99
|
var _useState = (0, _react.useState)(false),
|
|
98
100
|
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
@@ -104,6 +106,16 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
104
106
|
isPictureUrlModalOpen = _useState4[0],
|
|
105
107
|
setIsPictureUrlModalOpen = _useState4[1];
|
|
106
108
|
|
|
109
|
+
var _useState5 = (0, _react.useState)(width < fullToolbarSize),
|
|
110
|
+
_useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
|
|
111
|
+
actionsInMenu = _useState6[0],
|
|
112
|
+
setActionsInMenu = _useState6[1];
|
|
113
|
+
|
|
114
|
+
var _useState7 = (0, _react.useState)(width < withMenuToolbarSize),
|
|
115
|
+
_useState8 = (0, _slicedToArray2["default"])(_useState7, 2),
|
|
116
|
+
toolsInMenu = _useState8[0],
|
|
117
|
+
setToolsInMenu = _useState8[1];
|
|
118
|
+
|
|
107
119
|
var toggleTools = function toggleTools() {
|
|
108
120
|
setIsMenuOpen(function (prev) {
|
|
109
121
|
return !prev;
|
|
@@ -123,53 +135,58 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
123
135
|
var setActiveTool = function setActiveTool(tool) {
|
|
124
136
|
setActiveToolFromProps(tool);
|
|
125
137
|
setIsMenuOpen(false);
|
|
126
|
-
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
138
|
+
}; //360 240
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
(0, _react.useEffect)(function () {
|
|
142
|
+
setActionsInMenu(width < fullToolbarSize);
|
|
143
|
+
setToolsInMenu(width < withMenuToolbarSize);
|
|
144
|
+
}, [width, fullToolbarSize, withMenuToolbarSize]);
|
|
145
|
+
var isAnyToolSelected = _fp["default"].find({
|
|
146
|
+
type: activeTool
|
|
147
|
+
}, availableTools) !== undefined;
|
|
148
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledToolbox, null, /*#__PURE__*/_react["default"].createElement(StyledShrinkableTools, null, /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
149
|
+
type: _tools.SELECTION_TOOL,
|
|
131
150
|
disabled: disabled,
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
isActive: activeTool === _Shapes.ToolEnum.selection,
|
|
151
|
+
img: _tools.SELECTION_TOOL.icon,
|
|
152
|
+
isActive: activeTool.id === _tools.SELECTION_TOOL.id,
|
|
135
153
|
setActive: setActiveTool
|
|
136
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
137
|
-
|
|
154
|
+
}), toolsInMenu ? /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
155
|
+
disabled: disabled,
|
|
156
|
+
onClick: toggleTools,
|
|
157
|
+
title: "Toggle tools",
|
|
158
|
+
icon: _icons.shapesIcon,
|
|
159
|
+
selected: isAnyToolSelected
|
|
160
|
+
}) : currentStructure.map(function (group, i) {
|
|
161
|
+
return /*#__PURE__*/_react["default"].createElement(_ToolbarGroup["default"], {
|
|
162
|
+
disabled: disabled,
|
|
163
|
+
key: i,
|
|
164
|
+
activeTool: activeTool,
|
|
165
|
+
group: group,
|
|
166
|
+
setActiveTool: setActiveTool
|
|
167
|
+
});
|
|
168
|
+
})), !actionsInMenu && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
169
|
+
type: _tools.UNDO_TOOL,
|
|
138
170
|
disabled: disabled || !hasActionToUndo,
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
isActive: activeTool === _Shapes.ToolEnum.undo,
|
|
171
|
+
img: _tools.UNDO_TOOL.icon,
|
|
172
|
+
isActive: activeTool.id === _tools.UNDO_TOOL.id,
|
|
142
173
|
setActive: undoAction
|
|
143
174
|
}), /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
144
|
-
type:
|
|
175
|
+
type: _tools.REDO_TOOL,
|
|
145
176
|
disabled: disabled || !hasActionToRedo,
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
isActive: activeTool === _Shapes.ToolEnum.redo,
|
|
177
|
+
img: _tools.REDO_TOOL.icon,
|
|
178
|
+
isActive: activeTool.id === _tools.REDO_TOOL.id,
|
|
149
179
|
setActive: redoAction
|
|
150
180
|
}), /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
151
|
-
type:
|
|
181
|
+
type: _tools.CLEAR_TOOL,
|
|
152
182
|
disabled: disabled || !hasActionToClear,
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
isActive: activeTool === _Shapes.ToolEnum.clear,
|
|
183
|
+
img: _tools.CLEAR_TOOL.icon,
|
|
184
|
+
isActive: activeTool.id === _tools.CLEAR_TOOL.id,
|
|
156
185
|
setActive: function setActive() {
|
|
157
186
|
return clearCanvas();
|
|
158
187
|
}
|
|
159
|
-
}), /*#__PURE__*/_react["default"].createElement(StyledShrinkableTools, null, /*#__PURE__*/_react["default"].createElement(StyledShrinkableToolsInner, null, currentStructure.map(function (group, i) {
|
|
160
|
-
return /*#__PURE__*/_react["default"].createElement(_ToolbarGroup["default"], {
|
|
161
|
-
disabled: disabled,
|
|
162
|
-
key: i,
|
|
163
|
-
activeTool: activeTool,
|
|
164
|
-
group: group,
|
|
165
|
-
setActiveTool: setActiveTool
|
|
166
|
-
});
|
|
167
|
-
})), /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
168
|
-
disabled: disabled,
|
|
169
|
-
onClick: toggleTools,
|
|
170
|
-
title: "Toggle tools",
|
|
171
|
-
icon: _icons.dotsIcon
|
|
172
188
|
})), /*#__PURE__*/_react["default"].createElement(_MenuGroup["default"], {
|
|
189
|
+
withActionsInMenu: actionsInMenu,
|
|
173
190
|
disabled: disabled,
|
|
174
191
|
vertical: true,
|
|
175
192
|
alignment: "right",
|
|
@@ -183,20 +200,26 @@ var Toolbar = function Toolbar(_ref) {
|
|
|
183
200
|
saveFile: saveFile,
|
|
184
201
|
togglePictureUrlModal: openPictureUrlModal,
|
|
185
202
|
exportCanvasInFile: exportCanvasInFile,
|
|
186
|
-
|
|
203
|
+
withUploadPicture: withUploadPicture,
|
|
204
|
+
withUrlPicture: withUrlPicture,
|
|
187
205
|
withLoadAndSave: withLoadAndSave,
|
|
188
|
-
withExport: withExport
|
|
206
|
+
withExport: withExport,
|
|
207
|
+
hasActionToUndo: hasActionToUndo,
|
|
208
|
+
hasActionToRedo: hasActionToRedo,
|
|
209
|
+
hasActionToClear: hasActionToClear,
|
|
210
|
+
undoAction: undoAction,
|
|
211
|
+
redoAction: redoAction,
|
|
212
|
+
clearCanvas: clearCanvas
|
|
189
213
|
})), isMenuOpen && /*#__PURE__*/_react["default"].createElement(StyledToolsModal, {
|
|
190
214
|
onClose: toggleTools
|
|
191
|
-
}, availableTools.map(function (toolType) {
|
|
192
|
-
return toolType === _Shapes.ShapeEnum.picture ? null : /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
215
|
+
}, availableTools.map(function (toolType, index) {
|
|
216
|
+
return toolType.type === _Shapes.ShapeEnum.picture ? null : /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
193
217
|
disabled: disabled,
|
|
194
|
-
key:
|
|
218
|
+
key: index,
|
|
195
219
|
type: toolType,
|
|
196
|
-
|
|
220
|
+
img: toolType.icon,
|
|
197
221
|
withText: false,
|
|
198
|
-
|
|
199
|
-
isActive: activeTool === toolType,
|
|
222
|
+
isActive: activeTool.id === toolType.id,
|
|
200
223
|
setActive: setActiveTool
|
|
201
224
|
});
|
|
202
225
|
})), isPictureUrlModalOpen && /*#__PURE__*/_react["default"].createElement(_PictureUrlInput["default"], {
|
|
@@ -21,8 +21,6 @@ var _Panel = _interopRequireDefault(require("../common/Panel"));
|
|
|
21
21
|
|
|
22
22
|
var _react2 = require("@linaria/react");
|
|
23
23
|
|
|
24
|
-
var _style = require("../../utils/style");
|
|
25
|
-
|
|
26
24
|
var _Tool = _interopRequireDefault(require("./Tool"));
|
|
27
25
|
|
|
28
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); }
|
|
@@ -31,15 +29,15 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
31
29
|
|
|
32
30
|
var StyledPanel = /*#__PURE__*/(0, _react2.styled)(_Panel["default"])({
|
|
33
31
|
name: "StyledPanel",
|
|
34
|
-
"class": "
|
|
32
|
+
"class": "s3kynji"
|
|
35
33
|
});
|
|
36
34
|
var StyledRelative = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
37
35
|
name: "StyledRelative",
|
|
38
|
-
"class": "
|
|
36
|
+
"class": "s1614rl3"
|
|
39
37
|
});
|
|
40
38
|
|
|
41
39
|
var ToolbarGroup = function ToolbarGroup(_ref) {
|
|
42
|
-
var _group$
|
|
40
|
+
var _group$toolsType, _ref2;
|
|
43
41
|
|
|
44
42
|
var activeTool = _ref.activeTool,
|
|
45
43
|
alignment = _ref.alignment,
|
|
@@ -80,36 +78,35 @@ var ToolbarGroup = function ToolbarGroup(_ref) {
|
|
|
80
78
|
};
|
|
81
79
|
}, [isOpen]);
|
|
82
80
|
|
|
83
|
-
if (
|
|
81
|
+
if ('type' in group) {
|
|
84
82
|
return /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
85
83
|
disabled: disabled,
|
|
86
84
|
type: group,
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
isActive: activeTool === group,
|
|
85
|
+
img: group.icon,
|
|
86
|
+
isActive: activeTool.id === group.id,
|
|
90
87
|
setActive: setActiveTool
|
|
91
88
|
});
|
|
92
89
|
}
|
|
93
90
|
|
|
94
|
-
if (_fp["default"].isEmpty(group.
|
|
91
|
+
if (_fp["default"].isEmpty(group.toolsType)) return null;
|
|
95
92
|
|
|
96
|
-
if (((_group$
|
|
93
|
+
if (((_group$toolsType = group.toolsType) === null || _group$toolsType === void 0 ? void 0 : _group$toolsType.length) === 1) {
|
|
97
94
|
return /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
98
95
|
disabled: disabled,
|
|
99
|
-
type: group.
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
isActive: activeTool === group.tools[0],
|
|
96
|
+
type: group.toolsType[0],
|
|
97
|
+
img: group.toolsType[0].icon,
|
|
98
|
+
isActive: activeTool.id === group.toolsType[0].id,
|
|
103
99
|
setActive: setActiveTool
|
|
104
100
|
});
|
|
105
101
|
}
|
|
106
102
|
|
|
107
|
-
var isActive = _fp["default"].
|
|
108
|
-
|
|
109
|
-
|
|
103
|
+
var isActive = _fp["default"].find({
|
|
104
|
+
type: activeTool.type
|
|
105
|
+
}, group === null || group === void 0 ? void 0 : group.toolsType) !== undefined;
|
|
106
|
+
var groupIcon = (_ref2 = localActiveTool ? localActiveTool.icon : group.toolsType && group.toolsType[0] && group.toolsType[0].icon) !== null && _ref2 !== void 0 ? _ref2 : group.title;
|
|
110
107
|
|
|
111
108
|
var openPanel = function openPanel() {
|
|
112
|
-
if (localActiveTool) setActiveToolFromProps(localActiveTool);
|
|
109
|
+
if (localActiveTool) setActiveToolFromProps(localActiveTool);else group.toolsType && group.toolsType[0] && setActiveTool(group.toolsType[0]);
|
|
113
110
|
setIsOpen(true);
|
|
114
111
|
};
|
|
115
112
|
|
|
@@ -122,17 +119,16 @@ var ToolbarGroup = function ToolbarGroup(_ref) {
|
|
|
122
119
|
}), isOpen && /*#__PURE__*/_react["default"].createElement(StyledPanel, {
|
|
123
120
|
vertical: group.vertical,
|
|
124
121
|
alignment: alignment
|
|
125
|
-
},
|
|
122
|
+
}, group.toolsType.map(function (toolType, i) {
|
|
126
123
|
return /*#__PURE__*/_react["default"].createElement(_Tool["default"], {
|
|
127
124
|
disabled: disabled,
|
|
128
|
-
key:
|
|
125
|
+
key: i,
|
|
129
126
|
type: toolType,
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
isActive: activeTool === toolType,
|
|
127
|
+
img: toolType.icon,
|
|
128
|
+
isActive: activeTool.id === toolType.id,
|
|
133
129
|
setActive: setActiveTool
|
|
134
130
|
});
|
|
135
|
-
}
|
|
131
|
+
})));
|
|
136
132
|
};
|
|
137
133
|
|
|
138
134
|
var _default = ToolbarGroup;
|
package/dist/constants/style.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.STYLE_ZINDEX_SNACKBAR = exports.STYLE_ZINDEX_PANEL = exports.STYLE_ZINDEX_LOADING = exports.STYLE_ZINDEX_APP = exports.STYLE_LINE_WITH_ARROW = exports.STYLE_LINE_DASH = exports.STYLE_FONT_DEFAULT = exports.STYLE_FONTS = exports.STYLE_COLORS = exports.POLYGON_POINTS_VALUES = exports.LINE_DASH_DATA = exports.CURVE_POINTS_VALUES = void 0;
|
|
6
|
+
exports.STYLE_ZINDEX_SNACKBAR = exports.STYLE_ZINDEX_PANEL = exports.STYLE_ZINDEX_LOADING = exports.STYLE_ZINDEX_APP = exports.STYLE_LINE_WITH_ARROW = exports.STYLE_LINE_DASH = exports.STYLE_FONT_SIZE_DEFAULT = exports.STYLE_FONT_DEFAULT = exports.STYLE_FONTS = exports.STYLE_COLORS = exports.POLYGON_POINTS_VALUES = exports.LINE_DASH_DATA = exports.CURVE_POINTS_VALUES = void 0;
|
|
7
7
|
var POLYGON_POINTS_VALUES = [3, 4, 5, 6, 7, 8, 9, 10];
|
|
8
8
|
exports.POLYGON_POINTS_VALUES = POLYGON_POINTS_VALUES;
|
|
9
9
|
var CURVE_POINTS_VALUES = [3, 4, 5, 6, 7, 8, 9];
|
|
@@ -20,6 +20,8 @@ var STYLE_FONTS = ['arial', 'serif', 'monospace'];
|
|
|
20
20
|
exports.STYLE_FONTS = STYLE_FONTS;
|
|
21
21
|
var STYLE_FONT_DEFAULT = 'serif';
|
|
22
22
|
exports.STYLE_FONT_DEFAULT = STYLE_FONT_DEFAULT;
|
|
23
|
+
var STYLE_FONT_SIZE_DEFAULT = 36;
|
|
24
|
+
exports.STYLE_FONT_SIZE_DEFAULT = STYLE_FONT_SIZE_DEFAULT;
|
|
23
25
|
var STYLE_ZINDEX_APP = 1;
|
|
24
26
|
exports.STYLE_ZINDEX_APP = STYLE_ZINDEX_APP;
|
|
25
27
|
var STYLE_ZINDEX_LOADING = 2;
|