@yorab/react-paint 0.7.6 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/README.md +1 -11
  2. package/dist/components/App.d.ts +20 -0
  3. package/dist/components/Canvas.d.ts +38 -0
  4. package/dist/components/common/Button.d.ts +16 -0
  5. package/dist/components/common/Loading.d.ts +7 -0
  6. package/dist/components/common/Modal.d.ts +10 -0
  7. package/dist/components/common/Panel.d.ts +13 -0
  8. package/dist/components/common/Snackbar.d.ts +8 -0
  9. package/dist/components/settings/ColorField.d.ts +15 -0
  10. package/dist/components/settings/DeleteButton.d.ts +9 -0
  11. package/dist/components/settings/FontFamilyField.d.ts +12 -0
  12. package/dist/components/settings/LayoutButton.d.ts +8 -0
  13. package/dist/components/settings/Layouts.d.ts +19 -0
  14. package/dist/components/settings/LineArrowField.d.ts +12 -0
  15. package/dist/components/settings/LineTypeField.d.ts +16 -0
  16. package/dist/components/settings/PointsNumberField.d.ts +13 -0
  17. package/dist/components/settings/RangeField.d.ts +18 -0
  18. package/dist/components/settings/SelectField.d.ts +18 -0
  19. package/dist/components/settings/SettingsBar.d.ts +21 -0
  20. package/dist/components/settings/ToggleField.d.ts +12 -0
  21. package/dist/components/toolbox/EditTextBox.d.ts +14 -0
  22. package/dist/components/toolbox/LoadFileTool.d.ts +12 -0
  23. package/dist/components/toolbox/MenuGroup.d.ts +35 -0
  24. package/dist/components/toolbox/PictureUrlInput.d.ts +8 -0
  25. package/dist/components/toolbox/Tool.d.ts +12 -0
  26. package/dist/components/toolbox/Toolbar.d.ts +27 -0
  27. package/dist/components/toolbox/ToolbarGroup.d.ts +18 -0
  28. package/dist/constants/app.d.ts +41 -0
  29. package/dist/constants/icons.d.ts +41 -0
  30. package/dist/constants/loading.d.ts +1 -0
  31. package/dist/constants/picture.d.ts +1 -0
  32. package/dist/constants/shapes.d.ts +8 -0
  33. package/dist/constants/snackbar.d.ts +7 -0
  34. package/dist/constants/style.d.ts +17 -0
  35. package/dist/constants/tools.d.ts +32 -0
  36. package/dist/hooks/useComponent.d.ts +9 -0
  37. package/dist/hooks/useDoubleClick.d.ts +5 -0
  38. package/dist/hooks/useDrag.d.ts +15 -0
  39. package/dist/hooks/useDrawableCanvas.d.ts +37 -0
  40. package/dist/hooks/useKeyboard.d.ts +20 -0
  41. package/dist/hooks/useResizeObserver.d.ts +7 -0
  42. package/dist/hooks/useShapes.d.ts +26 -0
  43. package/dist/hooks/useSnackbar.d.ts +10 -0
  44. package/dist/react-paint.css +1 -0
  45. package/dist/react-paint.js +8887 -0
  46. package/dist/react-paint.umd.cjs +27 -0
  47. package/dist/types/Mode.d.ts +43 -0
  48. package/dist/types/Shapes.d.ts +128 -0
  49. package/dist/types/react.d.ts +7 -0
  50. package/dist/types/snackbar.d.ts +7 -0
  51. package/dist/types/tools.d.ts +125 -0
  52. package/dist/types/utils.d.ts +4 -0
  53. package/dist/utils/canvas.d.ts +10 -0
  54. package/dist/utils/data.d.ts +4 -0
  55. package/dist/utils/dom.d.ts +1 -0
  56. package/dist/utils/file.d.ts +10 -0
  57. package/dist/utils/grid.d.ts +3 -0
  58. package/dist/utils/intersect.d.ts +6 -0
  59. package/dist/utils/migration.d.ts +147 -0
  60. package/dist/utils/selection/lineSelection.d.ts +12 -0
  61. package/dist/utils/selection/rectSelection.d.ts +13 -0
  62. package/dist/utils/selection.d.ts +7 -0
  63. package/dist/utils/shapes/brush.d.ts +20 -0
  64. package/dist/utils/shapes/circle.d.ts +17 -0
  65. package/dist/utils/shapes/curve.d.ts +16 -0
  66. package/dist/utils/shapes/ellipse.d.ts +17 -0
  67. package/dist/utils/shapes/index.d.ts +29 -0
  68. package/dist/utils/shapes/line.d.ts +17 -0
  69. package/dist/utils/shapes/path.d.ts +9 -0
  70. package/dist/utils/shapes/picture.d.ts +12 -0
  71. package/dist/utils/shapes/polygon.d.ts +17 -0
  72. package/dist/utils/shapes/rectangle.d.ts +20 -0
  73. package/dist/utils/shapes/text.d.ts +19 -0
  74. package/dist/utils/shapes/triangle.d.ts +3 -0
  75. package/dist/utils/string.d.ts +3 -0
  76. package/dist/utils/style.d.ts +2 -0
  77. package/dist/utils/toolbar.d.ts +13 -0
  78. package/dist/utils/transform.d.ts +9 -0
  79. package/dist/utils/trigo.d.ts +16 -0
  80. package/package.json +52 -57
  81. package/dist/components/App.js +0 -496
  82. package/dist/components/Canvas.js +0 -194
  83. package/dist/components/common/Button.js +0 -88
  84. package/dist/components/common/Loading.js +0 -57
  85. package/dist/components/common/Modal.js +0 -46
  86. package/dist/components/common/Panel.js +0 -43
  87. package/dist/components/common/Snackbar.js +0 -68
  88. package/dist/components/settings/ColorField.js +0 -125
  89. package/dist/components/settings/DeleteButton.js +0 -37
  90. package/dist/components/settings/FontFamilyField.js +0 -67
  91. package/dist/components/settings/LayoutButton.js +0 -39
  92. package/dist/components/settings/Layouts.js +0 -214
  93. package/dist/components/settings/LineArrowField.js +0 -67
  94. package/dist/components/settings/LineTypeField.js +0 -65
  95. package/dist/components/settings/PointsNumberField.js +0 -45
  96. package/dist/components/settings/RangeField.js +0 -82
  97. package/dist/components/settings/SelectField.js +0 -81
  98. package/dist/components/settings/SettingsBar.js +0 -383
  99. package/dist/components/settings/ToggleField.js +0 -49
  100. package/dist/components/toolbox/EditTextBox.js +0 -138
  101. package/dist/components/toolbox/LoadFileTool.js +0 -58
  102. package/dist/components/toolbox/MenuGroup.js +0 -173
  103. package/dist/components/toolbox/PictureUrlInput.js +0 -68
  104. package/dist/components/toolbox/Tool.js +0 -41
  105. package/dist/components/toolbox/Toolbar.js +0 -203
  106. package/dist/components/toolbox/ToolbarGroup.js +0 -134
  107. package/dist/constants/app.js +0 -51
  108. package/dist/constants/icons.js +0 -88
  109. package/dist/constants/loading.js +0 -8
  110. package/dist/constants/picture.js +0 -8
  111. package/dist/constants/shapes.js +0 -20
  112. package/dist/constants/snackbar.js +0 -15
  113. package/dist/constants/style.js +0 -35
  114. package/dist/constants/tools.js +0 -424
  115. package/dist/hooks/useComponent.js +0 -47
  116. package/dist/hooks/useDoubleClick.js +0 -46
  117. package/dist/hooks/useDrag.js +0 -92
  118. package/dist/hooks/useDrawableCanvas.js +0 -230
  119. package/dist/hooks/useKeyboard.js +0 -142
  120. package/dist/hooks/useResizeObserver.js +0 -42
  121. package/dist/hooks/useShapes.js +0 -184
  122. package/dist/hooks/useSnackbar.js +0 -56
  123. package/dist/styles.css +0 -91
  124. package/dist/types/Mode.js +0 -5
  125. package/dist/types/Shapes.js +0 -5
  126. package/dist/types/snackbar.js +0 -5
  127. package/dist/types/tools.js +0 -5
  128. package/dist/types/utils.js +0 -5
  129. package/dist/utils/canvas.js +0 -49
  130. package/dist/utils/data.js +0 -49
  131. package/dist/utils/dom.js +0 -12
  132. package/dist/utils/file.js +0 -177
  133. package/dist/utils/intersect.js +0 -122
  134. package/dist/utils/migration.js +0 -59
  135. package/dist/utils/selection.js +0 -86
  136. package/dist/utils/shapes/brush.js +0 -135
  137. package/dist/utils/shapes/circle.js +0 -93
  138. package/dist/utils/shapes/curve.js +0 -55
  139. package/dist/utils/shapes/default.js +0 -73
  140. package/dist/utils/shapes/ellipse.js +0 -101
  141. package/dist/utils/shapes/grid.js +0 -36
  142. package/dist/utils/shapes/index.js +0 -341
  143. package/dist/utils/shapes/line.js +0 -179
  144. package/dist/utils/shapes/picture.js +0 -109
  145. package/dist/utils/shapes/polygon.js +0 -69
  146. package/dist/utils/shapes/rectangle.js +0 -100
  147. package/dist/utils/shapes/text.js +0 -128
  148. package/dist/utils/shapes/triangle.js +0 -24
  149. package/dist/utils/string.js +0 -36
  150. package/dist/utils/style.js +0 -46
  151. package/dist/utils/toolbar.js +0 -78
  152. package/dist/utils/transform.js +0 -109
  153. package/dist/utils/trigo.js +0 -42
@@ -1,383 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _fp = _interopRequireDefault(require("lodash/fp"));
11
-
12
- var _react = _interopRequireWildcard(require("react"));
13
-
14
- var _react2 = require("@linaria/react");
15
-
16
- var _transform = require("../../utils/transform");
17
-
18
- var _ColorField = _interopRequireDefault(require("./ColorField"));
19
-
20
- var _DeleteButton = _interopRequireDefault(require("./DeleteButton"));
21
-
22
- var _LayoutButton = _interopRequireDefault(require("./LayoutButton"));
23
-
24
- var _RangeField = _interopRequireDefault(require("./RangeField"));
25
-
26
- var _FontFamilyField = _interopRequireDefault(require("./FontFamilyField"));
27
-
28
- var _PointsNumberField = _interopRequireDefault(require("./PointsNumberField"));
29
-
30
- var _LineTypeField = _interopRequireDefault(require("./LineTypeField"));
31
-
32
- var _LineArrowField = _interopRequireDefault(require("./LineArrowField"));
33
-
34
- var _ToggleField = _interopRequireDefault(require("./ToggleField"));
35
-
36
- var _icons = require("../../constants/icons");
37
-
38
- var _Button = _interopRequireDefault(require("../common/Button"));
39
-
40
- var _Modal = _interopRequireDefault(require("../common/Modal"));
41
-
42
- var _text = require("../../utils/shapes/text");
43
-
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); }
45
-
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; }
47
-
48
- const SETTING_WIDTH = 40;
49
- const StyledSettingsBar = /*#__PURE__*/(0, _react2.styled)('div')({
50
- name: "StyledSettingsBar",
51
- class: "s16z54di"
52
- });
53
- const StyledSeparator = /*#__PURE__*/(0, _react2.styled)('div')({
54
- name: "StyledSeparator",
55
- class: "sa7lzh9"
56
- });
57
- const StyledToolsModal = /*#__PURE__*/(0, _react2.styled)(_Modal.default)({
58
- name: "StyledToolsModal",
59
- class: "s7b85in"
60
- });
61
-
62
- const SettingsItems = _ref => {
63
- var _selectedShape$style, _selectedShape$style2, _selectedShape$style3, _selectedShape$style4, _selectedShape$style5, _selectedShape$style6, _selectedShape$style7, _selectedShape$style8, _selectedShape$style9, _selectedShape$style$, _selectedShape$style10;
64
-
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, {
77
- selectedSettings: selectedSettings,
78
- setSelectedSettings: setSelectedSettings,
79
- title: "Couleur du trait",
80
- mode: "stroke",
81
- disabled: disabled,
82
- field: "strokeColor",
83
- value: (_selectedShape$style = selectedShape.style) === null || _selectedShape$style === void 0 ? void 0 : _selectedShape$style.strokeColor,
84
- valueChanged: handleShapeStyleChange,
85
- values: selectedShapeTool.settings.strokeColor.values
86
- }), 'fillColor' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_ColorField.default, {
87
- selectedSettings: selectedSettings,
88
- setSelectedSettings: setSelectedSettings,
89
- title: "Couleur de fond",
90
- disabled: disabled,
91
- field: "fillColor",
92
- value: (_selectedShape$style2 = selectedShape.style) === null || _selectedShape$style2 === void 0 ? void 0 : _selectedShape$style2.fillColor,
93
- valueChanged: handleShapeStyleChange,
94
- values: selectedShapeTool.settings.fillColor.values
95
- }), 'lineWidth' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_RangeField.default, {
96
- selectedSettings: selectedSettings,
97
- setSelectedSettings: setSelectedSettings,
98
- title: "Epaisseur du trait",
99
- icon: _icons.lineWidthIcon,
100
- disabled: disabled,
101
- field: "lineWidth",
102
- value: (_selectedShape$style3 = selectedShape.style) === null || _selectedShape$style3 === void 0 ? void 0 : _selectedShape$style3.lineWidth,
103
- valueChanged: handleShapeStyleChange,
104
- unity: "px",
105
- min: selectedShapeTool.settings.lineWidth.min,
106
- max: selectedShapeTool.settings.lineWidth.max,
107
- step: selectedShapeTool.settings.lineWidth.step
108
- }), 'lineDash' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_LineTypeField.default, {
109
- selectedSettings: selectedSettings,
110
- setSelectedSettings: setSelectedSettings,
111
- disabled: disabled,
112
- defaultValue: (_selectedShape$style4 = selectedShape.style) === null || _selectedShape$style4 === void 0 ? void 0 : _selectedShape$style4.lineDash,
113
- valueChanged: handleShapeStyleChange,
114
- values: selectedShapeTool.settings.lineDash.values
115
- }), 'lineArrow' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_LineArrowField.default, {
116
- selectedSettings: selectedSettings,
117
- setSelectedSettings: setSelectedSettings,
118
- disabled: disabled,
119
- defaultValue: (_selectedShape$style5 = selectedShape.style) === null || _selectedShape$style5 === void 0 ? void 0 : _selectedShape$style5.lineArrow,
120
- valueChanged: handleShapeStyleChange,
121
- values: selectedShapeTool.settings.lineArrow.values
122
- }), 'pointsCount' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_PointsNumberField.default, {
123
- selectedSettings: selectedSettings,
124
- setSelectedSettings: setSelectedSettings,
125
- disabled: disabled,
126
- valueChanged: handlePolygonLinesCount,
127
- min: selectedShapeTool.settings.pointsCount.min,
128
- max: selectedShapeTool.settings.pointsCount.max,
129
- step: selectedShapeTool.settings.pointsCount.step,
130
- value: (_selectedShape$style6 = selectedShape.style) === null || _selectedShape$style6 === void 0 ? void 0 : _selectedShape$style6.pointsCount
131
- }), 'fontFamily' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_FontFamilyField.default, {
132
- selectedSettings: selectedSettings,
133
- setSelectedSettings: setSelectedSettings,
134
- disabled: disabled,
135
- valueChanged: handleShapeFontFamilyChange,
136
- values: selectedShapeTool.settings.fontFamily.values,
137
- defaultValue: (_selectedShape$style7 = selectedShape.style) === null || _selectedShape$style7 === void 0 ? void 0 : _selectedShape$style7.fontFamily
138
- }), 'fontBold' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_ToggleField.default, {
139
- setSelectedSettings: setSelectedSettings,
140
- disabled: disabled,
141
- field: "fontBold",
142
- icon: _icons.boldIcon,
143
- valueChanged: handleShapeFontFamilyChange,
144
- values: selectedShapeTool.settings.fontBold.values,
145
- value: (_selectedShape$style8 = selectedShape.style) === null || _selectedShape$style8 === void 0 ? void 0 : _selectedShape$style8.fontBold
146
- }), 'fontItalic' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_ToggleField.default, {
147
- setSelectedSettings: setSelectedSettings,
148
- disabled: disabled,
149
- field: "fontItalic",
150
- icon: _icons.italicIcon,
151
- valueChanged: handleShapeFontFamilyChange,
152
- values: selectedShapeTool.settings.fontItalic.values,
153
- value: (_selectedShape$style9 = selectedShape.style) === null || _selectedShape$style9 === void 0 ? void 0 : _selectedShape$style9.fontItalic
154
- }), 'opacity' in selectedShapeTool.settings && /*#__PURE__*/_react.default.createElement(_RangeField.default, {
155
- selectedSettings: selectedSettings,
156
- setSelectedSettings: setSelectedSettings,
157
- title: "Opacit\xE9",
158
- icon: _icons.opacityIcon,
159
- min: selectedShapeTool.settings.opacity.min,
160
- max: selectedShapeTool.settings.opacity.max,
161
- step: selectedShapeTool.settings.opacity.step,
162
- unity: "%",
163
- disabled: disabled,
164
- field: "globalAlpha",
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,
166
- valueChanged: handleShapeStyleChange
167
- }))) : 'settings' in activeTool ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, 'strokeColor' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_ColorField.default, {
168
- selectedSettings: selectedSettings,
169
- setSelectedSettings: setSelectedSettings,
170
- title: "Couleur du trait",
171
- mode: "stroke",
172
- disabled: disabled,
173
- field: "strokeColor",
174
- value: activeTool.settings.strokeColor.default,
175
- valueChanged: handleShapeStyleChange,
176
- values: activeTool.settings.strokeColor.values
177
- }), 'fillColor' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_ColorField.default, {
178
- selectedSettings: selectedSettings,
179
- setSelectedSettings: setSelectedSettings,
180
- title: "Couleur de fond",
181
- disabled: disabled,
182
- field: "fillColor",
183
- value: activeTool.settings.fillColor.default,
184
- valueChanged: handleShapeStyleChange,
185
- values: activeTool.settings.fillColor.values
186
- }), 'lineWidth' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_RangeField.default, {
187
- selectedSettings: selectedSettings,
188
- setSelectedSettings: setSelectedSettings,
189
- title: "Epaisseur du trait",
190
- disabled: disabled,
191
- field: "lineWidth",
192
- icon: _icons.lineWidthIcon,
193
- value: activeTool.settings.lineWidth.default,
194
- valueChanged: handleShapeStyleChange,
195
- unity: "px",
196
- min: activeTool.settings.lineWidth.min,
197
- max: activeTool.settings.lineWidth.max,
198
- step: activeTool.settings.lineWidth.step
199
- }), 'lineDash' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_LineTypeField.default, {
200
- selectedSettings: selectedSettings,
201
- setSelectedSettings: setSelectedSettings,
202
- disabled: disabled,
203
- defaultValue: activeTool.settings.lineDash.default,
204
- valueChanged: handleShapeStyleChange,
205
- values: activeTool.settings.lineDash.values
206
- }), 'lineArrow' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_LineArrowField.default, {
207
- selectedSettings: selectedSettings,
208
- setSelectedSettings: setSelectedSettings,
209
- disabled: disabled,
210
- defaultValue: activeTool.settings.lineArrow.default,
211
- valueChanged: handleShapeStyleChange,
212
- values: activeTool.settings.lineArrow.values
213
- }), 'pointsCount' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_PointsNumberField.default, {
214
- selectedSettings: selectedSettings,
215
- setSelectedSettings: setSelectedSettings,
216
- disabled: disabled,
217
- valueChanged: handlePolygonLinesCount,
218
- min: activeTool.settings.pointsCount.min,
219
- max: activeTool.settings.pointsCount.max,
220
- step: activeTool.settings.pointsCount.step,
221
- value: activeTool.settings.pointsCount.default
222
- }), 'fontFamily' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_FontFamilyField.default, {
223
- selectedSettings: selectedSettings,
224
- setSelectedSettings: setSelectedSettings,
225
- disabled: disabled,
226
- valueChanged: handleShapeFontFamilyChange,
227
- values: activeTool.settings.fontFamily.values,
228
- defaultValue: activeTool.settings.fontFamily.default
229
- }), 'fontBold' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_ToggleField.default, {
230
- setSelectedSettings: setSelectedSettings,
231
- disabled: disabled,
232
- field: "fontBold",
233
- icon: _icons.boldIcon,
234
- valueChanged: handleShapeFontFamilyChange,
235
- values: activeTool.settings.fontBold.values,
236
- value: activeTool.settings.fontBold.default
237
- }), 'fontItalic' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_ToggleField.default, {
238
- setSelectedSettings: setSelectedSettings,
239
- disabled: disabled,
240
- field: "fontItalic",
241
- icon: _icons.italicIcon,
242
- valueChanged: handleShapeFontFamilyChange,
243
- values: activeTool.settings.fontItalic.values,
244
- value: activeTool.settings.fontItalic.default
245
- }), 'opacity' in activeTool.settings && /*#__PURE__*/_react.default.createElement(_RangeField.default, {
246
- selectedSettings: selectedSettings,
247
- setSelectedSettings: setSelectedSettings,
248
- title: "Opacit\xE9",
249
- icon: _icons.opacityIcon,
250
- min: activeTool.settings.opacity.min,
251
- max: activeTool.settings.opacity.max,
252
- step: activeTool.settings.opacity.step,
253
- unity: "%",
254
- disabled: disabled,
255
- field: "opacity",
256
- value: activeTool.settings.opacity.default,
257
- valueChanged: handleShapeStyleChange
258
- })) : null;
259
- };
260
-
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);
280
- };
281
-
282
- const selectedShapeTool = selectedShape ? _fp.default.find({
283
- id: selectedShape.toolId
284
- }, availableTools) || _fp.default.find({
285
- type: selectedShape.type
286
- }, availableTools) : undefined;
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);
290
-
291
- const handleShapeStyleChange = (field, value) => {
292
- if (selectedShape) {
293
- updateShape(_fp.default.set(['style', field], value, selectedShape), true);
294
- updateToolSettings(selectedShape.toolId || activeTool.id, field, value);
295
- } else {
296
- updateToolSettings(activeTool.id, field, value);
297
- }
298
- };
299
-
300
- const handleShapeFontFamilyChange = (field, value) => {
301
- if (selectedShape) {
302
- var _newShape$style$fontB, _newShape$style, _newShape$style$fontI, _newShape$style2, _newShape$style3;
303
-
304
- const ctx = canvas === null || canvas === void 0 ? void 0 : canvas.getContext('2d');
305
- if (!ctx) return;
306
-
307
- const newShape = _fp.default.set(['style', field], value, selectedShape);
308
-
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,
312
- height: fontSize * newShape.value.length
313
- };
314
- updateShape(resizedShape, true);
315
- updateToolSettings(selectedShape.toolId || activeTool.id, field, value);
316
- } else {
317
- updateToolSettings(activeTool.id, field, value);
318
- }
319
- };
320
-
321
- const handlePolygonLinesCount = (field, value) => {
322
- if (selectedShape) {
323
- updateShape((0, _transform.updatePolygonLinesCount)(selectedShape, value), true);
324
- updateToolSettings(selectedShape.toolId || activeTool.id, field, value);
325
- } else {
326
- updateToolSettings(activeTool.id, field, value);
327
- }
328
- };
329
-
330
- (0, _react.useEffect)(() => {
331
- setSettingsInMenu(width < settingsBreakpoint);
332
- }, [width, settingsBreakpoint]);
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, {
334
- disabled: disabled,
335
- onClick: toggleTools,
336
- title: "Toggle settings",
337
- icon: _icons.settingsIcon
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, {
339
- activeTool: activeTool,
340
- selectedShape: selectedShape,
341
- selectedShapeTool: selectedShapeTool,
342
- disabled: disabled,
343
- selectedSettings: selectedSettings,
344
- setSelectedSettings: setSelectedSettings,
345
- handleShapeStyleChange: handleShapeStyleChange,
346
- handlePolygonLinesCount: handlePolygonLinesCount,
347
- handleShapeFontFamilyChange: handleShapeFontFamilyChange
348
- }), /*#__PURE__*/_react.default.createElement(_DeleteButton.default, {
349
- disabled: disabled,
350
- selectedShape: selectedShape,
351
- removeShape: removeShape
352
- }))) : !settingsInMenu && /*#__PURE__*/_react.default.createElement(SettingsItems, {
353
- activeTool: activeTool,
354
- selectedShape: selectedShape,
355
- selectedShapeTool: selectedShapeTool,
356
- disabled: disabled,
357
- selectedSettings: selectedSettings,
358
- setSelectedSettings: setSelectedSettings,
359
- handleShapeStyleChange: handleShapeStyleChange,
360
- handlePolygonLinesCount: handlePolygonLinesCount,
361
- handleShapeFontFamilyChange: handleShapeFontFamilyChange
362
- }), /*#__PURE__*/_react.default.createElement(StyledSeparator, null), layersManipulation && /*#__PURE__*/_react.default.createElement(_LayoutButton.default, {
363
- layersManipulation: layersManipulation,
364
- disabled: disabled,
365
- toggleLayoutPanel: toggleLayoutPanel
366
- })), isMenuOpen && /*#__PURE__*/_react.default.createElement(StyledToolsModal, {
367
- onClose: toggleTools,
368
- position: "bottom"
369
- }, /*#__PURE__*/_react.default.createElement(SettingsItems, {
370
- activeTool: activeTool,
371
- selectedShape: selectedShape,
372
- selectedShapeTool: selectedShapeTool,
373
- disabled: disabled,
374
- selectedSettings: selectedSettings,
375
- setSelectedSettings: setSelectedSettings,
376
- handleShapeStyleChange: handleShapeStyleChange,
377
- handlePolygonLinesCount: handlePolygonLinesCount,
378
- handleShapeFontFamilyChange: handleShapeFontFamilyChange
379
- })));
380
- };
381
-
382
- var _default = SettingsBar;
383
- exports.default = _default;
@@ -1,49 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _fp = _interopRequireDefault(require("lodash/fp"));
11
-
12
- var _react = _interopRequireWildcard(require("react"));
13
-
14
- var _Button = _interopRequireDefault(require("../common/Button"));
15
-
16
- 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); }
17
-
18
- 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; }
19
-
20
- const ToggleField = _ref => {
21
- let {
22
- setSelectedSettings,
23
- disabled = false,
24
- field,
25
- icon,
26
- values,
27
- value = false,
28
- valueChanged
29
- } = _ref;
30
- const [customKey] = (0, _react.useState)(_fp.default.uniqueId('settings_'));
31
-
32
- const handleClick = () => {
33
- setSelectedSettings(prev => {
34
- return prev === customKey ? undefined : customKey;
35
- });
36
- valueChanged(field, !value);
37
- };
38
-
39
- if (values.length !== 2) return null;
40
- return /*#__PURE__*/_react.default.createElement(_Button.default, {
41
- onClick: handleClick,
42
- selected: value,
43
- disabled: disabled,
44
- icon: icon
45
- });
46
- };
47
-
48
- var _default = ToggleField;
49
- exports.default = _default;
@@ -1,138 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
-
8
- var _style = require("../../constants/style");
9
-
10
- var _react = _interopRequireWildcard(require("react"));
11
-
12
- var _react2 = require("@linaria/react");
13
-
14
- var _string = require("../../utils/string");
15
-
16
- var _shapes = require("../../utils/shapes");
17
-
18
- var _trigo = require("../../utils/trigo");
19
-
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); }
21
-
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; }
23
-
24
- const StyledEditBox = /*#__PURE__*/(0, _react2.styled)('div')({
25
- name: "StyledEditBox",
26
- class: "s1unz6yq",
27
- vars: {
28
- "s1unz6yq-0": [_ref => {
29
- let {
30
- transform
31
- } = _ref;
32
- return transform;
33
- }],
34
- "s1unz6yq-1": [_ref2 => {
35
- let {
36
- color
37
- } = _ref2;
38
- return color;
39
- }],
40
- "s1unz6yq-2": [_ref3 => {
41
- let {
42
- padding
43
- } = _ref3;
44
- return padding;
45
- }, "px"],
46
- "s1unz6yq-3": [_ref4 => {
47
- let {
48
- fontsize
49
- } = _ref4;
50
- return fontsize;
51
- }, "px"],
52
- "s1unz6yq-5": [_ref5 => {
53
- let {
54
- fontfamily
55
- } = _ref5;
56
- return fontfamily;
57
- }],
58
- "s1unz6yq-6": [_ref6 => {
59
- let {
60
- opacity
61
- } = _ref6;
62
- return opacity;
63
- }]
64
- }
65
- });
66
-
67
- const EditTextBox = _ref7 => {
68
- var _shape$style$strokeCo, _shape$style, _shape$style$globalAl, _shape$style2, _shape$style$fontFami, _shape$style3, _shape$style$fontBold, _shape$style4, _shape$style$fontItal, _shape$style5;
69
-
70
- let {
71
- disabled = false,
72
- scaleRatio,
73
- shape,
74
- defaultValue,
75
- updateValue,
76
- saveShapes,
77
- selectionPadding
78
- } = _ref7;
79
- const ref = (0, _react.useRef)(null);
80
- const saveShapesRef = (0, _react.useRef)(saveShapes);
81
-
82
- const updateContentEditable = e => {
83
- updateValue((0, _string.convertDivContentToStringArray)(e.target.innerHTML));
84
- };
85
-
86
- (0, _react.useEffect)(() => {
87
- if (!ref.current) return;
88
- const currentNode = ref.current;
89
-
90
- const handlePaste = e => {
91
- var _e$clipboardData;
92
-
93
- e.preventDefault();
94
- const text = (_e$clipboardData = e.clipboardData) === null || _e$clipboardData === void 0 ? void 0 : _e$clipboardData.getData('text/plain');
95
- document.execCommand('insertText', false, text); //TODO use Clipboard API when ready
96
- };
97
-
98
- currentNode.addEventListener('paste', handlePaste);
99
- currentNode.innerHTML = (0, _string.convertStringArrayToDivContent)(defaultValue);
100
- currentNode.focus();
101
- return () => {
102
- currentNode.removeEventListener('paste', handlePaste);
103
- };
104
- }, [defaultValue]);
105
- (0, _react.useEffect)(() => {
106
- const saveText = saveShapesRef.current;
107
- return () => {
108
- saveText();
109
- };
110
- }, []);
111
- const position = (0, _react.useMemo)(() => {
112
- const {
113
- borders,
114
- center
115
- } = (0, _shapes.getShapeInfos)(shape, selectionPadding);
116
- return (0, _trigo.rotatePoint)({
117
- point: [borders.x, borders.y],
118
- rotation: -shape.rotation,
119
- origin: center
120
- });
121
- }, [shape, selectionPadding]);
122
- return /*#__PURE__*/_react.default.createElement(StyledEditBox, {
123
- ref: ref,
124
- transform: "translate3D(".concat(position[0] * scaleRatio, "px, ").concat(position[1] * scaleRatio, "px, 0) rotate(").concat((0, _trigo.radiansToDegrees)(shape.rotation), "deg)"),
125
- fontsize: shape.fontSize * scaleRatio,
126
- padding: selectionPadding * scaleRatio,
127
- color: (_shape$style$strokeCo = (_shape$style = shape.style) === null || _shape$style === void 0 ? void 0 : _shape$style.strokeColor) !== null && _shape$style$strokeCo !== void 0 ? _shape$style$strokeCo : 'inherit',
128
- opacity: ((_shape$style$globalAl = (_shape$style2 = shape.style) === null || _shape$style2 === void 0 ? void 0 : _shape$style2.globalAlpha) !== null && _shape$style$globalAl !== void 0 ? _shape$style$globalAl : 100) / 100,
129
- fontfamily: (_shape$style$fontFami = (_shape$style3 = shape.style) === null || _shape$style3 === void 0 ? void 0 : _shape$style3.fontFamily) !== null && _shape$style$fontFami !== void 0 ? _shape$style$fontFami : _style.STYLE_FONT_DEFAULT,
130
- "data-fontbold": (_shape$style$fontBold = (_shape$style4 = shape.style) === null || _shape$style4 === void 0 ? void 0 : _shape$style4.fontBold) !== null && _shape$style$fontBold !== void 0 ? _shape$style$fontBold : false,
131
- "data-fontitalic": (_shape$style$fontItal = (_shape$style5 = shape.style) === null || _shape$style5 === void 0 ? void 0 : _shape$style5.fontItalic) !== null && _shape$style$fontItal !== void 0 ? _shape$style$fontItal : false,
132
- contentEditable: !disabled,
133
- onInput: updateContentEditable
134
- });
135
- };
136
-
137
- var _default = EditTextBox;
138
- exports.default = _default;
@@ -1,58 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
-
10
- var _react = _interopRequireWildcard(require("react"));
11
-
12
- var _Button = _interopRequireDefault(require("../common/Button"));
13
-
14
- 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); }
15
-
16
- 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; }
17
-
18
- const LoadFileTool = _ref => {
19
- var _type$label;
20
-
21
- let {
22
- disabled = false,
23
- withText = false,
24
- loadFile,
25
- type,
26
- img,
27
- accept
28
- } = _ref;
29
- const inputRef = (0, _react.useRef)(null);
30
-
31
- const handleClick = event => {
32
- event.stopPropagation();
33
- if (inputRef.current) inputRef.current.value = '';
34
- };
35
-
36
- const handleChange = event => {
37
- var _event$target$files;
38
-
39
- const file = (_event$target$files = event.target.files) === null || _event$target$files === void 0 ? void 0 : _event$target$files.item(0);
40
- if (!file) return;
41
- loadFile(file);
42
- };
43
-
44
- return /*#__PURE__*/_react.default.createElement(_Button.default, {
45
- ref: inputRef,
46
- type: "file",
47
- onClick: handleClick,
48
- onChange: handleChange,
49
- accept: accept,
50
- title: (_type$label = type.label) !== null && _type$label !== void 0 ? _type$label : type.type,
51
- icon: img,
52
- children: withText ? type.label : undefined,
53
- disabled: disabled
54
- });
55
- };
56
-
57
- var _default = LoadFileTool;
58
- exports.default = _default;