@yorab/react-paint 0.6.5 → 0.6.6

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.
Files changed (57) hide show
  1. package/README.md +2 -0
  2. package/dist/components/App.js +224 -384
  3. package/dist/components/Canvas.js +104 -114
  4. package/dist/components/common/Button.js +41 -50
  5. package/dist/components/common/Loading.js +21 -33
  6. package/dist/components/common/Modal.js +18 -17
  7. package/dist/components/common/Panel.js +20 -24
  8. package/dist/components/common/Snackbar.js +27 -34
  9. package/dist/components/settings/ColorField.js +59 -68
  10. package/dist/components/settings/DeleteButton.js +10 -9
  11. package/dist/components/settings/FontFamilyField.js +24 -19
  12. package/dist/components/settings/LayoutButton.js +11 -9
  13. package/dist/components/settings/Layouts.js +93 -103
  14. package/dist/components/settings/LineArrowField.js +25 -22
  15. package/dist/components/settings/LineTypeField.js +23 -20
  16. package/dist/components/settings/PointsNumberField.js +14 -13
  17. package/dist/components/settings/RangeField.js +35 -47
  18. package/dist/components/settings/SelectField.js +34 -43
  19. package/dist/components/settings/SettingsBar.js +95 -118
  20. package/dist/components/settings/ToggleField.js +18 -25
  21. package/dist/components/toolbox/EditTextBox.js +53 -42
  22. package/dist/components/toolbox/LoadFileTool.js +19 -21
  23. package/dist/components/toolbox/MenuGroup.js +60 -96
  24. package/dist/components/toolbox/PictureUrlInput.js +33 -62
  25. package/dist/components/toolbox/Tool.js +13 -13
  26. package/dist/components/toolbox/Toolbar.js +74 -106
  27. package/dist/components/toolbox/ToolbarGroup.js +41 -57
  28. package/dist/constants/icons.js +43 -43
  29. package/dist/constants/shapes.js +6 -6
  30. package/dist/constants/snackbar.js +3 -3
  31. package/dist/constants/style.js +13 -13
  32. package/dist/constants/tools.js +80 -80
  33. package/dist/hooks/useComponent.js +12 -19
  34. package/dist/hooks/useDoubleClick.js +12 -12
  35. package/dist/hooks/useDrag.js +24 -32
  36. package/dist/hooks/useDrawableCanvas.js +86 -100
  37. package/dist/hooks/useKeyboard.js +26 -36
  38. package/dist/hooks/useResizeObserver.js +18 -16
  39. package/dist/hooks/useShapes.js +91 -143
  40. package/dist/hooks/useSnackbar.js +28 -58
  41. package/dist/styles.css +55 -55
  42. package/dist/types/Mode.js +1 -1
  43. package/dist/types/Shapes.js +1 -1
  44. package/dist/types/keyboard.js +2 -2
  45. package/dist/types/tools.js +1 -1
  46. package/dist/utils/data.js +91 -107
  47. package/dist/utils/draw.js +116 -146
  48. package/dist/utils/file.js +69 -119
  49. package/dist/utils/intersect.js +57 -97
  50. package/dist/utils/selection.js +12 -12
  51. package/dist/utils/shapeData.js +33 -51
  52. package/dist/utils/string.js +10 -16
  53. package/dist/utils/style.js +1 -1
  54. package/dist/utils/toolbar.js +26 -38
  55. package/dist/utils/transform.js +183 -239
  56. package/package.json +6 -5
  57. package/Changelog.md +0 -123
@@ -2,14 +2,10 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- exports["default"] = void 0;
11
-
12
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
+ exports.default = void 0;
13
9
 
14
10
  var _fp = _interopRequireDefault(require("lodash/fp"));
15
11
 
@@ -21,70 +17,65 @@ var _Panel = _interopRequireDefault(require("../common/Panel"));
21
17
 
22
18
  var _react2 = require("@linaria/react");
23
19
 
24
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
20
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
25
21
 
26
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
22
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
27
23
 
28
- var StyledButton = /*#__PURE__*/(0, _react2.styled)(_Button["default"])({
24
+ const StyledButton = /*#__PURE__*/(0, _react2.styled)(_Button.default)({
29
25
  name: "StyledButton",
30
- "class": "sfr849o"
26
+ class: "s1ktxhkr"
31
27
  });
32
- var StyleWrapper = /*#__PURE__*/(0, _react2.styled)("div")({
28
+ const StyleWrapper = /*#__PURE__*/(0, _react2.styled)("div")({
33
29
  name: "StyleWrapper",
34
- "class": "s11cdkmf"
30
+ class: "s5sp14o"
35
31
  });
36
32
 
37
- var SelectField = function SelectField(_ref) {
38
- var CustomOption = _ref.CustomOption,
39
- selectedSettings = _ref.selectedSettings,
40
- setSelectedSettings = _ref.setSelectedSettings,
41
- _ref$title = _ref.title,
42
- title = _ref$title === void 0 ? "Choisissez l'option" : _ref$title,
43
- _ref$disabled = _ref.disabled,
44
- disabled = _ref$disabled === void 0 ? false : _ref$disabled,
45
- field = _ref.field,
46
- icon = _ref.icon,
47
- values = _ref.values,
48
- defaultValue = _ref.defaultValue,
49
- valueChanged = _ref.valueChanged;
50
-
51
- var _useState = (0, _react.useState)(_fp["default"].uniqueId('settings_')),
52
- _useState2 = (0, _slicedToArray2["default"])(_useState, 1),
53
- customKey = _useState2[0];
54
-
55
- var handleClick = function handleClick(value) {
33
+ const SelectField = _ref => {
34
+ let {
35
+ CustomOption,
36
+ selectedSettings,
37
+ setSelectedSettings,
38
+ title = "Choisissez l'option",
39
+ disabled = false,
40
+ field,
41
+ icon,
42
+ values,
43
+ defaultValue,
44
+ valueChanged
45
+ } = _ref;
46
+ const [customKey] = (0, _react.useState)(_fp.default.uniqueId('settings_'));
47
+
48
+ const handleClick = value => {
56
49
  valueChanged(field, value);
57
50
  };
58
51
 
59
- var togglePanel = function togglePanel() {
60
- setSelectedSettings(function (prev) {
52
+ const togglePanel = () => {
53
+ setSelectedSettings(prev => {
61
54
  return prev === customKey ? undefined : customKey;
62
55
  });
63
56
  };
64
57
 
65
- var isPanelVisible = selectedSettings === customKey;
66
- if (_fp["default"].isEmpty(values)) return null;
67
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Button["default"], {
58
+ const isPanelVisible = selectedSettings === customKey;
59
+ if (_fp.default.isEmpty(values)) return null;
60
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_Button.default, {
68
61
  selected: isPanelVisible,
69
62
  title: title,
70
63
  icon: icon,
71
64
  disabled: disabled,
72
65
  onClick: togglePanel
73
- }), isPanelVisible && /*#__PURE__*/_react["default"].createElement(_Panel["default"], {
66
+ }), isPanelVisible && /*#__PURE__*/_react.default.createElement(_Panel.default, {
74
67
  title: title,
75
68
  alignment: "left",
76
69
  fitContainer: true
77
- }, /*#__PURE__*/_react["default"].createElement(StyleWrapper, null, values.map(function (value) {
78
- return /*#__PURE__*/_react["default"].createElement(StyledButton, {
70
+ }, /*#__PURE__*/_react.default.createElement(StyleWrapper, null, values.map(value => {
71
+ return /*#__PURE__*/_react.default.createElement(StyledButton, {
79
72
  key: value,
80
73
  title: "".concat(value),
81
- onClick: function onClick() {
82
- return handleClick(value);
83
- },
74
+ onClick: () => handleClick(value),
84
75
  selected: defaultValue == value
85
- }, /*#__PURE__*/_react["default"].createElement(CustomOption, null, value));
76
+ }, /*#__PURE__*/_react.default.createElement(CustomOption, null, value));
86
77
  }))));
87
78
  };
88
79
 
89
80
  var _default = SelectField;
90
- exports["default"] = _default;
81
+ exports.default = _default;
@@ -2,16 +2,10 @@
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
 
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
5
  Object.defineProperty(exports, "__esModule", {
8
6
  value: true
9
7
  });
10
- exports["default"] = void 0;
11
-
12
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
-
14
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
8
+ exports.default = void 0;
15
9
 
16
10
  var _fp = _interopRequireDefault(require("lodash/fp"));
17
11
 
@@ -45,41 +39,39 @@ var _Button = _interopRequireDefault(require("../common/Button"));
45
39
 
46
40
  var _Modal = _interopRequireDefault(require("../common/Modal"));
47
41
 
48
- 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); }
49
-
50
- 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; }
42
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
51
43
 
52
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
44
+ 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; }
53
45
 
54
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
55
-
56
- var SETTING_WIDTH = 40;
57
- var StyledSettingsBar = /*#__PURE__*/(0, _react2.styled)("div")({
46
+ const SETTING_WIDTH = 40;
47
+ const StyledSettingsBar = /*#__PURE__*/(0, _react2.styled)("div")({
58
48
  name: "StyledSettingsBar",
59
- "class": "s17kh6p4"
49
+ class: "s16z54di"
60
50
  });
61
- var StyledSeparator = /*#__PURE__*/(0, _react2.styled)("div")({
51
+ const StyledSeparator = /*#__PURE__*/(0, _react2.styled)("div")({
62
52
  name: "StyledSeparator",
63
- "class": "s1fluhcn"
53
+ class: "sa7lzh9"
64
54
  });
65
- var StyledToolsModal = /*#__PURE__*/(0, _react2.styled)(_Modal["default"])({
55
+ const StyledToolsModal = /*#__PURE__*/(0, _react2.styled)(_Modal.default)({
66
56
  name: "StyledToolsModal",
67
- "class": "sg7vrwb"
57
+ class: "s7b85in"
68
58
  });
69
59
 
70
- var SettingsItems = function SettingsItems(_ref) {
60
+ const SettingsItems = _ref => {
71
61
  var _selectedShape$style, _selectedShape$style2, _selectedShape$style3, _selectedShape$style4, _selectedShape$style5, _selectedShape$style6, _selectedShape$style7, _selectedShape$style8, _selectedShape$style9, _selectedShape$style$, _selectedShape$style10;
72
62
 
73
- var activeTool = _ref.activeTool,
74
- selectedShape = _ref.selectedShape,
75
- selectedShapeTool = _ref.selectedShapeTool,
76
- disabled = _ref.disabled,
77
- selectedSettings = _ref.selectedSettings,
78
- setSelectedSettings = _ref.setSelectedSettings,
79
- handleShapeStyleChange = _ref.handleShapeStyleChange,
80
- handlePolygonLinesCount = _ref.handlePolygonLinesCount,
81
- handleShapeFontFamilyChange = _ref.handleShapeFontFamilyChange;
82
- return selectedShape ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, selectedShapeTool && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, 'strokeColor' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_ColorField["default"], {
63
+ let {
64
+ activeTool,
65
+ selectedShape,
66
+ selectedShapeTool,
67
+ disabled,
68
+ selectedSettings,
69
+ setSelectedSettings,
70
+ handleShapeStyleChange,
71
+ handlePolygonLinesCount,
72
+ handleShapeFontFamilyChange
73
+ } = _ref;
74
+ return selectedShape ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, selectedShapeTool && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, 'strokeColor' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_ColorField.default, {
83
75
  selectedSettings: selectedSettings,
84
76
  setSelectedSettings: setSelectedSettings,
85
77
  title: "Couleur du trait",
@@ -89,7 +81,7 @@ var SettingsItems = function SettingsItems(_ref) {
89
81
  value: (_selectedShape$style = selectedShape.style) === null || _selectedShape$style === void 0 ? void 0 : _selectedShape$style.strokeColor,
90
82
  valueChanged: handleShapeStyleChange,
91
83
  values: selectedShapeTool.settings.strokeColor.values
92
- }), 'fillColor' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_ColorField["default"], {
84
+ }), 'fillColor' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_ColorField.default, {
93
85
  selectedSettings: selectedSettings,
94
86
  setSelectedSettings: setSelectedSettings,
95
87
  title: "Couleur de fond",
@@ -98,7 +90,7 @@ var SettingsItems = function SettingsItems(_ref) {
98
90
  value: (_selectedShape$style2 = selectedShape.style) === null || _selectedShape$style2 === void 0 ? void 0 : _selectedShape$style2.fillColor,
99
91
  valueChanged: handleShapeStyleChange,
100
92
  values: selectedShapeTool.settings.fillColor.values
101
- }), 'lineWidth' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
93
+ }), 'lineWidth' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_RangeField.default, {
102
94
  selectedSettings: selectedSettings,
103
95
  setSelectedSettings: setSelectedSettings,
104
96
  title: "Epaisseur du trait",
@@ -111,21 +103,21 @@ var SettingsItems = function SettingsItems(_ref) {
111
103
  min: selectedShapeTool.settings.lineWidth.min,
112
104
  max: selectedShapeTool.settings.lineWidth.max,
113
105
  step: selectedShapeTool.settings.lineWidth.step
114
- }), 'lineDash' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_LineTypeField["default"], {
106
+ }), 'lineDash' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_LineTypeField.default, {
115
107
  selectedSettings: selectedSettings,
116
108
  setSelectedSettings: setSelectedSettings,
117
109
  disabled: disabled,
118
110
  defaultValue: (_selectedShape$style4 = selectedShape.style) === null || _selectedShape$style4 === void 0 ? void 0 : _selectedShape$style4.lineDash,
119
111
  valueChanged: handleShapeStyleChange,
120
112
  values: selectedShapeTool.settings.lineDash.values
121
- }), 'lineArrow' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_LineArrowField["default"], {
113
+ }), 'lineArrow' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_LineArrowField.default, {
122
114
  selectedSettings: selectedSettings,
123
115
  setSelectedSettings: setSelectedSettings,
124
116
  disabled: disabled,
125
117
  defaultValue: (_selectedShape$style5 = selectedShape.style) === null || _selectedShape$style5 === void 0 ? void 0 : _selectedShape$style5.lineArrow,
126
118
  valueChanged: handleShapeStyleChange,
127
119
  values: selectedShapeTool.settings.lineArrow.values
128
- }), 'pointsCount' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_PointsNumberField["default"], {
120
+ }), 'pointsCount' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_PointsNumberField.default, {
129
121
  selectedSettings: selectedSettings,
130
122
  setSelectedSettings: setSelectedSettings,
131
123
  disabled: disabled,
@@ -134,14 +126,14 @@ var SettingsItems = function SettingsItems(_ref) {
134
126
  max: selectedShapeTool.settings.pointsCount.max,
135
127
  step: selectedShapeTool.settings.pointsCount.step,
136
128
  value: (_selectedShape$style6 = selectedShape.style) === null || _selectedShape$style6 === void 0 ? void 0 : _selectedShape$style6.pointsCount
137
- }), 'fontFamily' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_FontFamilyField["default"], {
129
+ }), 'fontFamily' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_FontFamilyField.default, {
138
130
  selectedSettings: selectedSettings,
139
131
  setSelectedSettings: setSelectedSettings,
140
132
  disabled: disabled,
141
133
  valueChanged: handleShapeFontFamilyChange,
142
134
  values: selectedShapeTool.settings.fontFamily.values,
143
135
  defaultValue: (_selectedShape$style7 = selectedShape.style) === null || _selectedShape$style7 === void 0 ? void 0 : _selectedShape$style7.fontFamily
144
- }), 'fontBold' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_ToggleField["default"], {
136
+ }), 'fontBold' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_ToggleField.default, {
145
137
  setSelectedSettings: setSelectedSettings,
146
138
  disabled: disabled,
147
139
  field: "fontBold",
@@ -149,7 +141,7 @@ var SettingsItems = function SettingsItems(_ref) {
149
141
  valueChanged: handleShapeFontFamilyChange,
150
142
  values: selectedShapeTool.settings.fontBold.values,
151
143
  value: (_selectedShape$style8 = selectedShape.style) === null || _selectedShape$style8 === void 0 ? void 0 : _selectedShape$style8.fontBold
152
- }), 'fontItalic' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_ToggleField["default"], {
144
+ }), 'fontItalic' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_ToggleField.default, {
153
145
  setSelectedSettings: setSelectedSettings,
154
146
  disabled: disabled,
155
147
  field: "fontItalic",
@@ -157,7 +149,7 @@ var SettingsItems = function SettingsItems(_ref) {
157
149
  valueChanged: handleShapeFontFamilyChange,
158
150
  values: selectedShapeTool.settings.fontItalic.values,
159
151
  value: (_selectedShape$style9 = selectedShape.style) === null || _selectedShape$style9 === void 0 ? void 0 : _selectedShape$style9.fontItalic
160
- }), 'opacity' in selectedShapeTool.settings && /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
152
+ }), 'opacity' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_RangeField.default, {
161
153
  selectedSettings: selectedSettings,
162
154
  setSelectedSettings: setSelectedSettings,
163
155
  title: "Opacit\xE9",
@@ -170,53 +162,53 @@ var SettingsItems = function SettingsItems(_ref) {
170
162
  field: "globalAlpha",
171
163
  value: (_selectedShape$style$ = (_selectedShape$style10 = selectedShape.style) === null || _selectedShape$style10 === void 0 ? void 0 : _selectedShape$style10.globalAlpha) !== null && _selectedShape$style$ !== void 0 ? _selectedShape$style$ : 100,
172
164
  valueChanged: handleShapeStyleChange
173
- }))) : 'settings' in activeTool ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, 'strokeColor' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_ColorField["default"], {
165
+ }))) : 'settings' in activeTool ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, 'strokeColor' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_ColorField.default, {
174
166
  selectedSettings: selectedSettings,
175
167
  setSelectedSettings: setSelectedSettings,
176
168
  title: "Couleur du trait",
177
169
  mode: "stroke",
178
170
  disabled: disabled,
179
171
  field: "strokeColor",
180
- value: activeTool.settings.strokeColor["default"],
172
+ value: activeTool.settings.strokeColor.default,
181
173
  valueChanged: handleShapeStyleChange,
182
174
  values: activeTool.settings.strokeColor.values
183
- }), 'fillColor' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_ColorField["default"], {
175
+ }), 'fillColor' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_ColorField.default, {
184
176
  selectedSettings: selectedSettings,
185
177
  setSelectedSettings: setSelectedSettings,
186
178
  title: "Couleur de fond",
187
179
  disabled: disabled,
188
180
  field: "fillColor",
189
- value: activeTool.settings.fillColor["default"],
181
+ value: activeTool.settings.fillColor.default,
190
182
  valueChanged: handleShapeStyleChange,
191
183
  values: activeTool.settings.fillColor.values
192
- }), 'lineWidth' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
184
+ }), 'lineWidth' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_RangeField.default, {
193
185
  selectedSettings: selectedSettings,
194
186
  setSelectedSettings: setSelectedSettings,
195
187
  title: "Epaisseur du trait",
196
188
  disabled: disabled,
197
189
  field: "lineWidth",
198
190
  icon: _icons.lineWidthIcon,
199
- value: activeTool.settings.lineWidth["default"],
191
+ value: activeTool.settings.lineWidth.default,
200
192
  valueChanged: handleShapeStyleChange,
201
193
  unity: "px",
202
194
  min: activeTool.settings.lineWidth.min,
203
195
  max: activeTool.settings.lineWidth.max,
204
196
  step: activeTool.settings.lineWidth.step
205
- }), 'lineDash' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_LineTypeField["default"], {
197
+ }), 'lineDash' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_LineTypeField.default, {
206
198
  selectedSettings: selectedSettings,
207
199
  setSelectedSettings: setSelectedSettings,
208
200
  disabled: disabled,
209
- defaultValue: activeTool.settings.lineDash["default"],
201
+ defaultValue: activeTool.settings.lineDash.default,
210
202
  valueChanged: handleShapeStyleChange,
211
203
  values: activeTool.settings.lineDash.values
212
- }), 'lineArrow' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_LineArrowField["default"], {
204
+ }), 'lineArrow' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_LineArrowField.default, {
213
205
  selectedSettings: selectedSettings,
214
206
  setSelectedSettings: setSelectedSettings,
215
207
  disabled: disabled,
216
- defaultValue: activeTool.settings.lineArrow["default"],
208
+ defaultValue: activeTool.settings.lineArrow.default,
217
209
  valueChanged: handleShapeStyleChange,
218
210
  values: activeTool.settings.lineArrow.values
219
- }), 'pointsCount' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_PointsNumberField["default"], {
211
+ }), 'pointsCount' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_PointsNumberField.default, {
220
212
  selectedSettings: selectedSettings,
221
213
  setSelectedSettings: setSelectedSettings,
222
214
  disabled: disabled,
@@ -224,31 +216,31 @@ var SettingsItems = function SettingsItems(_ref) {
224
216
  min: activeTool.settings.pointsCount.min,
225
217
  max: activeTool.settings.pointsCount.max,
226
218
  step: activeTool.settings.pointsCount.step,
227
- value: activeTool.settings.pointsCount["default"]
228
- }), 'fontFamily' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_FontFamilyField["default"], {
219
+ value: activeTool.settings.pointsCount.default
220
+ }), 'fontFamily' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_FontFamilyField.default, {
229
221
  selectedSettings: selectedSettings,
230
222
  setSelectedSettings: setSelectedSettings,
231
223
  disabled: disabled,
232
224
  valueChanged: handleShapeFontFamilyChange,
233
225
  values: activeTool.settings.fontFamily.values,
234
- defaultValue: activeTool.settings.fontFamily["default"]
235
- }), 'fontBold' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_ToggleField["default"], {
226
+ defaultValue: activeTool.settings.fontFamily.default
227
+ }), 'fontBold' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_ToggleField.default, {
236
228
  setSelectedSettings: setSelectedSettings,
237
229
  disabled: disabled,
238
230
  field: "fontBold",
239
231
  icon: _icons.boldIcon,
240
232
  valueChanged: handleShapeFontFamilyChange,
241
233
  values: activeTool.settings.fontBold.values,
242
- value: activeTool.settings.fontBold["default"]
243
- }), 'fontItalic' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_ToggleField["default"], {
234
+ value: activeTool.settings.fontBold.default
235
+ }), 'fontItalic' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_ToggleField.default, {
244
236
  setSelectedSettings: setSelectedSettings,
245
237
  disabled: disabled,
246
238
  field: "fontItalic",
247
239
  icon: _icons.italicIcon,
248
240
  valueChanged: handleShapeFontFamilyChange,
249
241
  values: activeTool.settings.fontItalic.values,
250
- value: activeTool.settings.fontItalic["default"]
251
- }), 'opacity' in activeTool.settings && /*#__PURE__*/_react["default"].createElement(_RangeField["default"], {
242
+ value: activeTool.settings.fontItalic.default
243
+ }), 'opacity' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_RangeField.default, {
252
244
  selectedSettings: selectedSettings,
253
245
  setSelectedSettings: setSelectedSettings,
254
246
  title: "Opacit\xE9",
@@ -259,79 +251,64 @@ var SettingsItems = function SettingsItems(_ref) {
259
251
  unity: "%",
260
252
  disabled: disabled,
261
253
  field: "globalAlpha",
262
- value: activeTool.settings.opacity["default"],
254
+ value: activeTool.settings.opacity.default,
263
255
  valueChanged: handleShapeStyleChange
264
256
  })) : null;
265
257
  };
266
258
 
267
- var SettingsBar = function SettingsBar(_ref2) {
268
- var width = _ref2.width,
269
- _ref2$disabled = _ref2.disabled,
270
- disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
271
- availableTools = _ref2.availableTools,
272
- updateToolSettings = _ref2.updateToolSettings,
273
- layersManipulation = _ref2.layersManipulation,
274
- toggleLayoutPanel = _ref2.toggleLayoutPanel,
275
- activeTool = _ref2.activeTool,
276
- selectedShape = _ref2.selectedShape,
277
- canvas = _ref2.canvas,
278
- updateShape = _ref2.updateShape,
279
- removeShape = _ref2.removeShape;
280
-
281
- var _useState = (0, _react.useState)(undefined),
282
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
283
- selectedSettings = _useState2[0],
284
- setSelectedSettings = _useState2[1];
285
-
286
- var _useState3 = (0, _react.useState)(false),
287
- _useState4 = (0, _slicedToArray2["default"])(_useState3, 2),
288
- isMenuOpen = _useState4[0],
289
- setIsMenuOpen = _useState4[1];
290
-
291
- var toggleTools = function toggleTools() {
292
- setIsMenuOpen(function (prev) {
293
- return !prev;
294
- });
259
+ const SettingsBar = _ref2 => {
260
+ let {
261
+ width,
262
+ disabled = false,
263
+ availableTools,
264
+ updateToolSettings,
265
+ layersManipulation,
266
+ toggleLayoutPanel,
267
+ activeTool,
268
+ selectedShape,
269
+ canvas,
270
+ updateShape,
271
+ removeShape
272
+ } = _ref2;
273
+ const [selectedSettings, setSelectedSettings] = (0, _react.useState)(undefined);
274
+ const [isMenuOpen, setIsMenuOpen] = (0, _react.useState)(false);
275
+
276
+ const toggleTools = () => {
277
+ setIsMenuOpen(prev => !prev);
295
278
  };
296
279
 
297
- var selectedShapeTool = selectedShape ? _fp["default"].find({
280
+ const selectedShapeTool = selectedShape ? _fp.default.find({
298
281
  id: selectedShape.toolId
299
- }, availableTools) || _fp["default"].find({
282
+ }, availableTools) || _fp.default.find({
300
283
  type: selectedShape.type
301
284
  }, availableTools) : undefined;
302
- var nbSettingsTools = (selectedShapeTool ? _fp["default"].size(selectedShapeTool.settings) + 1 : 'settings' in activeTool ? _fp["default"].size(activeTool.settings) : 0) + (layersManipulation ? 1 : 0);
303
- var settingsBreakpoint = nbSettingsTools * SETTING_WIDTH;
304
-
305
- var _useState5 = (0, _react.useState)(width < settingsBreakpoint),
306
- _useState6 = (0, _slicedToArray2["default"])(_useState5, 2),
307
- settingsInMenu = _useState6[0],
308
- setSettingsInMenu = _useState6[1];
285
+ const nbSettingsTools = (selectedShapeTool ? _fp.default.size(selectedShapeTool.settings) + 1 : 'settings' in activeTool ? _fp.default.size(activeTool.settings) : 0) + (layersManipulation ? 1 : 0);
286
+ const settingsBreakpoint = nbSettingsTools * SETTING_WIDTH;
287
+ const [settingsInMenu, setSettingsInMenu] = (0, _react.useState)(width < settingsBreakpoint);
309
288
 
310
- var handleShapeStyleChange = function handleShapeStyleChange(field, value) {
289
+ const handleShapeStyleChange = (field, value) => {
311
290
  if (selectedShape) {
312
- updateShape(_fp["default"].set(['style', field], value, selectedShape), true);
291
+ updateShape(_fp.default.set(['style', field], value, selectedShape), true);
313
292
  updateToolSettings(selectedShape.toolId, field, value);
314
293
  } else {
315
294
  updateToolSettings(activeTool.id, field, value);
316
295
  }
317
296
  };
318
297
 
319
- var handleShapeFontFamilyChange = function handleShapeFontFamilyChange(field, value) {
298
+ const handleShapeFontFamilyChange = (field, value) => {
320
299
  if (selectedShape) {
321
300
  var _newShape$style$fontB, _newShape$style, _newShape$style$fontI, _newShape$style2, _newShape$style3;
322
301
 
323
- var ctx = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d');
302
+ const ctx = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d');
324
303
  if (!ctx) return;
325
304
 
326
- var newShape = _fp["default"].set(['style', field], value, selectedShape);
305
+ const newShape = _fp.default.set(['style', field], value, selectedShape);
327
306
 
328
- var fontSize = (0, _transform.calculateTextFontSize)(ctx, newShape.value, newShape.width, (_newShape$style$fontB = (_newShape$style = newShape.style) === null || _newShape$style === void 0 ? void 0 : _newShape$style.fontBold) !== null && _newShape$style$fontB !== void 0 ? _newShape$style$fontB : false, (_newShape$style$fontI = (_newShape$style2 = newShape.style) === null || _newShape$style2 === void 0 ? void 0 : _newShape$style2.fontItalic) !== null && _newShape$style$fontI !== void 0 ? _newShape$style$fontI : false, (_newShape$style3 = newShape.style) === null || _newShape$style3 === void 0 ? void 0 : _newShape$style3.fontFamily);
329
-
330
- var resizedShape = _objectSpread(_objectSpread({}, newShape), {}, {
331
- fontSize: fontSize,
307
+ const fontSize = (0, _transform.calculateTextFontSize)(ctx, newShape.value, newShape.width, (_newShape$style$fontB = (_newShape$style = newShape.style) === null || _newShape$style === void 0 ? void 0 : _newShape$style.fontBold) !== null && _newShape$style$fontB !== void 0 ? _newShape$style$fontB : false, (_newShape$style$fontI = (_newShape$style2 = newShape.style) === null || _newShape$style2 === void 0 ? void 0 : _newShape$style2.fontItalic) !== null && _newShape$style$fontI !== void 0 ? _newShape$style$fontI : false, (_newShape$style3 = newShape.style) === null || _newShape$style3 === void 0 ? void 0 : _newShape$style3.fontFamily);
308
+ const resizedShape = { ...newShape,
309
+ fontSize,
332
310
  height: fontSize * newShape.value.length
333
- });
334
-
311
+ };
335
312
  updateShape(resizedShape, true);
336
313
  updateToolSettings(selectedShape.toolId, field, value);
337
314
  } else {
@@ -339,7 +316,7 @@ var SettingsBar = function SettingsBar(_ref2) {
339
316
  }
340
317
  };
341
318
 
342
- var handlePolygonLinesCount = function handlePolygonLinesCount(field, value) {
319
+ const handlePolygonLinesCount = (field, value) => {
343
320
  if (selectedShape) {
344
321
  updateShape((0, _transform.updatePolygonLinesCount)(selectedShape, value), true);
345
322
  updateToolSettings(selectedShape.toolId, field, value);
@@ -348,15 +325,15 @@ var SettingsBar = function SettingsBar(_ref2) {
348
325
  }
349
326
  };
350
327
 
351
- (0, _react.useEffect)(function () {
328
+ (0, _react.useEffect)(() => {
352
329
  setSettingsInMenu(width < settingsBreakpoint);
353
330
  }, [width, settingsBreakpoint]);
354
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(StyledSettingsBar, null, settingsInMenu && nbSettingsTools > 2 && /*#__PURE__*/_react["default"].createElement(_Button["default"], {
331
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(StyledSettingsBar, null, settingsInMenu && nbSettingsTools > 2 && /*#__PURE__*/_react.default.createElement(_Button.default, {
355
332
  disabled: disabled,
356
333
  onClick: toggleTools,
357
334
  title: "Toggle settings",
358
335
  icon: _icons.settingsIcon
359
- }), selectedShape ? /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, selectedShapeTool && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !settingsInMenu && /*#__PURE__*/_react["default"].createElement(SettingsItems, {
336
+ }), selectedShape ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, selectedShapeTool && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !settingsInMenu && /*#__PURE__*/_react.default.createElement(SettingsItems, {
360
337
  activeTool: activeTool,
361
338
  selectedShape: selectedShape,
362
339
  selectedShapeTool: selectedShapeTool,
@@ -366,11 +343,11 @@ var SettingsBar = function SettingsBar(_ref2) {
366
343
  handleShapeStyleChange: handleShapeStyleChange,
367
344
  handlePolygonLinesCount: handlePolygonLinesCount,
368
345
  handleShapeFontFamilyChange: handleShapeFontFamilyChange
369
- }), /*#__PURE__*/_react["default"].createElement(_DeleteButton["default"], {
346
+ }), /*#__PURE__*/_react.default.createElement(_DeleteButton.default, {
370
347
  disabled: disabled,
371
348
  selectedShape: selectedShape,
372
349
  removeShape: removeShape
373
- }))) : !settingsInMenu && /*#__PURE__*/_react["default"].createElement(SettingsItems, {
350
+ }))) : !settingsInMenu && /*#__PURE__*/_react.default.createElement(SettingsItems, {
374
351
  activeTool: activeTool,
375
352
  selectedShape: selectedShape,
376
353
  selectedShapeTool: selectedShapeTool,
@@ -380,14 +357,14 @@ var SettingsBar = function SettingsBar(_ref2) {
380
357
  handleShapeStyleChange: handleShapeStyleChange,
381
358
  handlePolygonLinesCount: handlePolygonLinesCount,
382
359
  handleShapeFontFamilyChange: handleShapeFontFamilyChange
383
- }), /*#__PURE__*/_react["default"].createElement(StyledSeparator, null), layersManipulation && /*#__PURE__*/_react["default"].createElement(_LayoutButton["default"], {
360
+ }), /*#__PURE__*/_react.default.createElement(StyledSeparator, null), layersManipulation && /*#__PURE__*/_react.default.createElement(_LayoutButton.default, {
384
361
  layersManipulation: layersManipulation,
385
362
  disabled: disabled,
386
363
  toggleLayoutPanel: toggleLayoutPanel
387
- })), isMenuOpen && /*#__PURE__*/_react["default"].createElement(StyledToolsModal, {
364
+ })), isMenuOpen && /*#__PURE__*/_react.default.createElement(StyledToolsModal, {
388
365
  onClose: toggleTools,
389
366
  position: "bottom"
390
- }, /*#__PURE__*/_react["default"].createElement(SettingsItems, {
367
+ }, /*#__PURE__*/_react.default.createElement(SettingsItems, {
391
368
  activeTool: activeTool,
392
369
  selectedShape: selectedShape,
393
370
  selectedShapeTool: selectedShapeTool,
@@ -401,4 +378,4 @@ var SettingsBar = function SettingsBar(_ref2) {
401
378
  };
402
379
 
403
380
  var _default = SettingsBar;
404
- exports["default"] = _default;
381
+ exports.default = _default;