@yorab/react-paint 0.6.4 → 0.7.1

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