@yorab/react-paint 0.5.0 → 0.6.2
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 +107 -0
- package/README.md +0 -7
- package/dist/components/App.js +114 -79
- package/dist/components/Canvas.js +7 -7
- package/dist/components/common/Button.js +4 -4
- package/dist/components/common/Loading.js +3 -3
- package/dist/components/common/Modal.js +8 -4
- package/dist/components/common/Panel.js +5 -2
- package/dist/components/common/Snackbar.js +2 -2
- package/dist/components/settings/ColorField.js +11 -5
- package/dist/components/settings/FontFamilyField.js +6 -3
- package/dist/components/settings/LayoutButton.js +1 -1
- package/dist/components/settings/Layouts.js +18 -9
- package/dist/components/settings/LineArrowField.js +7 -4
- package/dist/components/settings/LineTypeField.js +7 -4
- package/dist/components/settings/PointsNumberField.js +4 -1
- package/dist/components/settings/RangeField.js +6 -3
- package/dist/components/settings/SelectField.js +11 -4
- package/dist/components/settings/SettingsBar.js +246 -131
- package/dist/components/settings/ToggleField.js +56 -0
- package/dist/components/toolbox/EditTextBox.js +23 -16
- package/dist/components/toolbox/MenuGroup.js +11 -11
- package/dist/components/toolbox/PictureUrlInput.js +1 -1
- package/dist/components/toolbox/Toolbar.js +13 -7
- package/dist/components/toolbox/ToolbarGroup.js +13 -11
- package/dist/constants/icons.js +18 -8
- package/dist/constants/tools.js +10 -2
- package/dist/hooks/useDoubleClick.js +46 -0
- package/dist/hooks/useDrawableCanvas.js +29 -45
- package/dist/styles.css +55 -51
- package/dist/utils/data.js +27 -5
- package/dist/utils/draw.js +3 -3
- package/dist/utils/file.js +15 -14
- package/dist/utils/intersect.js +1 -0
- package/dist/utils/selection.js +1 -1
- package/dist/utils/transform.js +23 -10
- package/package.json +1 -1
|
@@ -29,19 +29,23 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
29
29
|
|
|
30
30
|
var StyledColor = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
31
31
|
name: "StyledColor",
|
|
32
|
-
"class": "
|
|
32
|
+
"class": "snh2jyk",
|
|
33
33
|
vars: {
|
|
34
|
-
"
|
|
34
|
+
"snh2jyk-0": [function (_ref) {
|
|
35
35
|
var color = _ref.color;
|
|
36
36
|
return color;
|
|
37
37
|
}]
|
|
38
38
|
}
|
|
39
39
|
});
|
|
40
|
+
var StyleWrapper = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
41
|
+
name: "StyleWrapper",
|
|
42
|
+
"class": "sfm1cqx"
|
|
43
|
+
});
|
|
40
44
|
var StyledCustomColor = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
41
45
|
name: "StyledCustomColor",
|
|
42
|
-
"class": "
|
|
46
|
+
"class": "sttf061",
|
|
43
47
|
vars: {
|
|
44
|
-
"
|
|
48
|
+
"sttf061-0": [function (_ref2) {
|
|
45
49
|
var color = _ref2.color;
|
|
46
50
|
return color;
|
|
47
51
|
}]
|
|
@@ -53,6 +57,8 @@ var ColorField = function ColorField(_ref3) {
|
|
|
53
57
|
setSelectedSettings = _ref3.setSelectedSettings,
|
|
54
58
|
_ref3$title = _ref3.title,
|
|
55
59
|
title = _ref3$title === void 0 ? 'Choisissez une couleur' : _ref3$title,
|
|
60
|
+
_ref3$mode = _ref3.mode,
|
|
61
|
+
mode = _ref3$mode === void 0 ? 'fill' : _ref3$mode,
|
|
56
62
|
_ref3$disabled = _ref3.disabled,
|
|
57
63
|
disabled = _ref3$disabled === void 0 ? false : _ref3$disabled,
|
|
58
64
|
values = _ref3.values,
|
|
@@ -93,7 +99,7 @@ var ColorField = function ColorField(_ref3) {
|
|
|
93
99
|
})), isPanelVisible && /*#__PURE__*/_react["default"].createElement(_Panel["default"], {
|
|
94
100
|
title: title,
|
|
95
101
|
alignment: "left"
|
|
96
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
102
|
+
}, /*#__PURE__*/_react["default"].createElement(StyleWrapper, null, values.map(function (color, index) {
|
|
97
103
|
return /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
98
104
|
title: color,
|
|
99
105
|
key: index,
|
|
@@ -15,11 +15,13 @@ var _react2 = require("@linaria/react");
|
|
|
15
15
|
|
|
16
16
|
var _fp = _interopRequireDefault(require("lodash/fp"));
|
|
17
17
|
|
|
18
|
+
var _icons = require("../../constants/icons");
|
|
19
|
+
|
|
18
20
|
var StyledOption = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
19
21
|
name: "StyledOption",
|
|
20
|
-
"class": "
|
|
22
|
+
"class": "smpmxx5",
|
|
21
23
|
vars: {
|
|
22
|
-
"
|
|
24
|
+
"smpmxx5-0": [function (_ref) {
|
|
23
25
|
var family = _ref.family;
|
|
24
26
|
return family;
|
|
25
27
|
}]
|
|
@@ -47,8 +49,9 @@ var FontFamilyField = function FontFamilyField(_ref3) {
|
|
|
47
49
|
setSelectedSettings: setSelectedSettings,
|
|
48
50
|
CustomOption: FontFamilyOption,
|
|
49
51
|
title: "Font",
|
|
52
|
+
icon: _icons.fontIcon,
|
|
50
53
|
disabled: disabled,
|
|
51
|
-
field: "
|
|
54
|
+
field: "fontFamily",
|
|
52
55
|
values: values,
|
|
53
56
|
defaultValue: defaultValue,
|
|
54
57
|
valueChanged: valueChanged
|
|
@@ -17,7 +17,7 @@ var _Button = _interopRequireDefault(require("../common/Button"));
|
|
|
17
17
|
|
|
18
18
|
var StyleToggleLayoutButton = /*#__PURE__*/(0, _react2.styled)(_Button["default"])({
|
|
19
19
|
name: "StyleToggleLayoutButton",
|
|
20
|
-
"class": "
|
|
20
|
+
"class": "sj7hhjx"
|
|
21
21
|
});
|
|
22
22
|
|
|
23
23
|
var LayoutButton = function LayoutButton(_ref) {
|
|
@@ -33,39 +33,43 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
33
33
|
|
|
34
34
|
var StyledLayouts = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
35
35
|
name: "StyledLayouts",
|
|
36
|
-
"class": "
|
|
36
|
+
"class": "su3a8bs"
|
|
37
|
+
});
|
|
38
|
+
var StyledRemoveButton = /*#__PURE__*/(0, _react2.styled)(_Button["default"])({
|
|
39
|
+
name: "StyledRemoveButton",
|
|
40
|
+
"class": "szboplp"
|
|
37
41
|
});
|
|
38
42
|
var StyledLayout = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
39
43
|
name: "StyledLayout",
|
|
40
|
-
"class": "
|
|
44
|
+
"class": "sff5xt"
|
|
41
45
|
});
|
|
42
46
|
var StyledVisibleButton = /*#__PURE__*/(0, _react2.styled)(_Button["default"])({
|
|
43
47
|
name: "StyledVisibleButton",
|
|
44
|
-
"class": "
|
|
48
|
+
"class": "sj3bift"
|
|
45
49
|
});
|
|
46
50
|
var StyledLockedButton = /*#__PURE__*/(0, _react2.styled)(_Button["default"])({
|
|
47
51
|
name: "StyledLockedButton",
|
|
48
|
-
"class": "
|
|
52
|
+
"class": "s10ip0a4"
|
|
49
53
|
});
|
|
50
54
|
var StyledGridButton = /*#__PURE__*/(0, _react2.styled)(_Button["default"])({
|
|
51
55
|
name: "StyledGridButton",
|
|
52
|
-
"class": "
|
|
56
|
+
"class": "s1j9uq9o"
|
|
53
57
|
});
|
|
54
58
|
var StyledSeparator = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
55
59
|
name: "StyledSeparator",
|
|
56
|
-
"class": "
|
|
60
|
+
"class": "s156ddbb"
|
|
57
61
|
});
|
|
58
62
|
var StyledPanelLayouts = /*#__PURE__*/(0, _react2.styled)(_Panel["default"])({
|
|
59
63
|
name: "StyledPanelLayouts",
|
|
60
|
-
"class": "
|
|
64
|
+
"class": "s11gt4hl"
|
|
61
65
|
});
|
|
62
66
|
var StyledScrollingContent = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
63
67
|
name: "StyledScrollingContent",
|
|
64
|
-
"class": "
|
|
68
|
+
"class": "s13cxqhq"
|
|
65
69
|
});
|
|
66
70
|
var StyledPlaceholder = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
67
71
|
name: "StyledPlaceholder",
|
|
68
|
-
"class": "
|
|
72
|
+
"class": "s1idv8qv"
|
|
69
73
|
});
|
|
70
74
|
|
|
71
75
|
var Layout = function Layout(_ref) {
|
|
@@ -147,6 +151,11 @@ var Layout = function Layout(_ref) {
|
|
|
147
151
|
selected: selected,
|
|
148
152
|
onClick: onToggleShapeLock,
|
|
149
153
|
icon: shape.locked ? _icons.lockedIcon : _icons.unlockedIcon
|
|
154
|
+
}), /*#__PURE__*/_react["default"].createElement(StyledRemoveButton, {
|
|
155
|
+
title: "Remove",
|
|
156
|
+
disabled: disabled,
|
|
157
|
+
onClick: onRemove,
|
|
158
|
+
icon: _icons.trashIcon
|
|
150
159
|
}));
|
|
151
160
|
};
|
|
152
161
|
|
|
@@ -15,17 +15,19 @@ var _react2 = require("@linaria/react");
|
|
|
15
15
|
|
|
16
16
|
var _fp = _interopRequireDefault(require("lodash/fp"));
|
|
17
17
|
|
|
18
|
+
var _icons = require("../../constants/icons");
|
|
19
|
+
|
|
18
20
|
var StyledLeftTriangle = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
19
21
|
name: "StyledLeftTriangle",
|
|
20
|
-
"class": "
|
|
22
|
+
"class": "s1xxj4yl"
|
|
21
23
|
});
|
|
22
24
|
var StyledRightTriangle = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
23
25
|
name: "StyledRightTriangle",
|
|
24
|
-
"class": "
|
|
26
|
+
"class": "sbd6jc8"
|
|
25
27
|
});
|
|
26
28
|
var StyledOption = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
27
29
|
name: "StyledOption",
|
|
28
|
-
"class": "
|
|
30
|
+
"class": "scawaat"
|
|
29
31
|
});
|
|
30
32
|
|
|
31
33
|
var LineArrowOption = function LineArrowOption(_ref) {
|
|
@@ -49,8 +51,9 @@ var LineArrowField = function LineArrowField(_ref2) {
|
|
|
49
51
|
setSelectedSettings: setSelectedSettings,
|
|
50
52
|
CustomOption: LineArrowOption,
|
|
51
53
|
title: "Fl\xE8ches",
|
|
54
|
+
icon: _icons.lineEndIcon,
|
|
52
55
|
disabled: disabled,
|
|
53
|
-
field: "
|
|
56
|
+
field: "lineArrow",
|
|
54
57
|
values: values,
|
|
55
58
|
defaultValue: defaultValue,
|
|
56
59
|
valueChanged: valueChanged
|
|
@@ -15,20 +15,22 @@ var _react2 = require("@linaria/react");
|
|
|
15
15
|
|
|
16
16
|
var _fp = _interopRequireDefault(require("lodash/fp"));
|
|
17
17
|
|
|
18
|
+
var _icons = require("../../constants/icons");
|
|
19
|
+
|
|
18
20
|
var StyledLine = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
19
21
|
name: "StyledLine",
|
|
20
|
-
"class": "
|
|
22
|
+
"class": "s1qssg4n"
|
|
21
23
|
});
|
|
22
24
|
var StyledOption = /*#__PURE__*/(0, _react2.styled)("span")({
|
|
23
25
|
name: "StyledOption",
|
|
24
|
-
"class": "
|
|
26
|
+
"class": "se26iq6"
|
|
25
27
|
});
|
|
26
28
|
|
|
27
29
|
var LineTypeOption = function LineTypeOption(_ref) {
|
|
28
30
|
var children = _ref.children;
|
|
29
31
|
return /*#__PURE__*/_react["default"].createElement(StyledOption, {
|
|
30
32
|
"data-type": children
|
|
31
|
-
}, /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null)
|
|
33
|
+
}, /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null), /*#__PURE__*/_react["default"].createElement(StyledLine, null));
|
|
32
34
|
};
|
|
33
35
|
|
|
34
36
|
exports.LineTypeOption = LineTypeOption;
|
|
@@ -46,9 +48,10 @@ var LineTypeField = function LineTypeField(_ref2) {
|
|
|
46
48
|
selectedSettings: selectedSettings,
|
|
47
49
|
setSelectedSettings: setSelectedSettings,
|
|
48
50
|
CustomOption: LineTypeOption,
|
|
51
|
+
icon: _icons.lineTypeIcon,
|
|
49
52
|
title: "Type de traits",
|
|
50
53
|
disabled: disabled,
|
|
51
|
-
field: "
|
|
54
|
+
field: "lineDash",
|
|
52
55
|
values: values,
|
|
53
56
|
defaultValue: defaultValue,
|
|
54
57
|
valueChanged: valueChanged
|
|
@@ -7,6 +7,8 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports["default"] = void 0;
|
|
9
9
|
|
|
10
|
+
var _icons = require("../../constants/icons");
|
|
11
|
+
|
|
10
12
|
var _react = _interopRequireDefault(require("react"));
|
|
11
13
|
|
|
12
14
|
var _RangeField = _interopRequireDefault(require("./RangeField"));
|
|
@@ -25,9 +27,10 @@ var PointsNumberField = function PointsNumberField(_ref) {
|
|
|
25
27
|
return /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
|
|
26
28
|
selectedSettings: selectedSettings,
|
|
27
29
|
setSelectedSettings: setSelectedSettings,
|
|
30
|
+
icon: _icons.polygonIcon,
|
|
28
31
|
title: "Nombre de points",
|
|
29
32
|
disabled: disabled,
|
|
30
|
-
field: "
|
|
33
|
+
field: "pointsCount",
|
|
31
34
|
min: min,
|
|
32
35
|
max: max,
|
|
33
36
|
step: step,
|
|
@@ -27,7 +27,7 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
27
27
|
|
|
28
28
|
var StyledLabel = /*#__PURE__*/(0, _react2.styled)("label")({
|
|
29
29
|
name: "StyledLabel",
|
|
30
|
-
"class": "
|
|
30
|
+
"class": "s9mugpt"
|
|
31
31
|
});
|
|
32
32
|
|
|
33
33
|
var RangeField = function RangeField(_ref) {
|
|
@@ -35,6 +35,7 @@ var RangeField = function RangeField(_ref) {
|
|
|
35
35
|
setSelectedSettings = _ref.setSelectedSettings,
|
|
36
36
|
_ref$title = _ref.title,
|
|
37
37
|
title = _ref$title === void 0 ? "Choisissez l'intervalle" : _ref$title,
|
|
38
|
+
icon = _ref.icon,
|
|
38
39
|
_ref$disabled = _ref.disabled,
|
|
39
40
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
40
41
|
field = _ref.field,
|
|
@@ -73,10 +74,12 @@ var RangeField = function RangeField(_ref) {
|
|
|
73
74
|
selected: isPanelVisible,
|
|
74
75
|
title: title,
|
|
75
76
|
disabled: disabled,
|
|
77
|
+
icon: icon,
|
|
76
78
|
onClick: togglePanel
|
|
77
|
-
}
|
|
79
|
+
}), isPanelVisible && /*#__PURE__*/_react["default"].createElement(_Panel["default"], {
|
|
78
80
|
title: title,
|
|
79
|
-
alignment: "left"
|
|
81
|
+
alignment: "left",
|
|
82
|
+
fitContainer: true
|
|
80
83
|
}, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(StyledLabel, null, /*#__PURE__*/_react["default"].createElement("input", {
|
|
81
84
|
type: "range",
|
|
82
85
|
min: min,
|
|
@@ -27,7 +27,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
27
27
|
|
|
28
28
|
var StyledButton = /*#__PURE__*/(0, _react2.styled)(_Button["default"])({
|
|
29
29
|
name: "StyledButton",
|
|
30
|
-
"class": "
|
|
30
|
+
"class": "s1ktxhkr"
|
|
31
|
+
});
|
|
32
|
+
var StyleWrapper = /*#__PURE__*/(0, _react2.styled)("div")({
|
|
33
|
+
name: "StyleWrapper",
|
|
34
|
+
"class": "s5sp14o"
|
|
31
35
|
});
|
|
32
36
|
|
|
33
37
|
var SelectField = function SelectField(_ref) {
|
|
@@ -39,6 +43,7 @@ var SelectField = function SelectField(_ref) {
|
|
|
39
43
|
_ref$disabled = _ref.disabled,
|
|
40
44
|
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
41
45
|
field = _ref.field,
|
|
46
|
+
icon = _ref.icon,
|
|
42
47
|
values = _ref.values,
|
|
43
48
|
defaultValue = _ref.defaultValue,
|
|
44
49
|
valueChanged = _ref.valueChanged;
|
|
@@ -62,12 +67,14 @@ var SelectField = function SelectField(_ref) {
|
|
|
62
67
|
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
|
|
63
68
|
selected: isPanelVisible,
|
|
64
69
|
title: title,
|
|
70
|
+
icon: icon,
|
|
65
71
|
disabled: disabled,
|
|
66
72
|
onClick: togglePanel
|
|
67
|
-
}
|
|
73
|
+
}), isPanelVisible && /*#__PURE__*/_react["default"].createElement(_Panel["default"], {
|
|
68
74
|
title: title,
|
|
69
|
-
alignment: "left"
|
|
70
|
-
|
|
75
|
+
alignment: "left",
|
|
76
|
+
fitContainer: true
|
|
77
|
+
}, /*#__PURE__*/_react["default"].createElement(StyleWrapper, null, values.map(function (value) {
|
|
71
78
|
return /*#__PURE__*/_react["default"].createElement(StyledButton, {
|
|
72
79
|
key: value,
|
|
73
80
|
title: "".concat(value),
|