@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
@@ -5,315 +5,311 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.UPLOAD_PICTURE_TOOL = exports.UNDO_TOOL = exports.SETTINGS_DEFAULT_TEXT = exports.SETTINGS_DEFAULT_SQUARE = exports.SETTINGS_DEFAULT_RECT = exports.SETTINGS_DEFAULT_POLYGON = exports.SETTINGS_DEFAULT_PICTURE = exports.SETTINGS_DEFAULT_LINE = exports.SETTINGS_DEFAULT_ELLIPSE = exports.SETTINGS_DEFAULT_CURVE = exports.SETTINGS_DEFAULT_CIRCLE = exports.SETTINGS_DEFAULT_BRUSH = exports.SELECTION_TOOL = exports.SAVE_TOOL = exports.REDO_TOOL = exports.MOVE_TOOL = exports.LOAD_TOOL = exports.EXPORT_TOOL = exports.DEFAULT_SHAPE_TOOLS = exports.DEFAULT_SHAPE_TEXT = exports.DEFAULT_SHAPE_SQUARE = exports.DEFAULT_SHAPE_RECT = exports.DEFAULT_SHAPE_POLYGON = exports.DEFAULT_SHAPE_PICTURE = exports.DEFAULT_SHAPE_LINE = exports.DEFAULT_SHAPE_ELLIPSE = exports.DEFAULT_SHAPE_CURVE = exports.DEFAULT_SHAPE_CIRCLE = exports.DEFAULT_SHAPE_BRUSH = exports.CLEAR_TOOL = exports.ADD_URL_PICTURE_TOOL = void 0;
7
7
 
8
- var _Shapes = require("../types/Shapes");
9
-
10
- var _tools = require("../types/tools");
11
-
12
8
  var _icons = require("./icons");
13
9
 
14
10
  var _style = require("./style");
15
11
 
16
- var PREFIX_ID = 'react-paint-';
17
- var SETTINGS_DEFAULT_RECT = {
12
+ const PREFIX_ID = 'react-paint-';
13
+ const SETTINGS_DEFAULT_RECT = {
18
14
  strokeColor: {
19
15
  values: _style.STYLE_COLORS,
20
- "default": 'black'
16
+ default: 'black'
21
17
  },
22
18
  fillColor: {
23
19
  values: _style.STYLE_COLORS,
24
- "default": 'transparent'
20
+ default: 'transparent'
25
21
  },
26
22
  opacity: {
27
23
  min: 0,
28
24
  max: 100,
29
25
  step: 1,
30
- "default": 100
26
+ default: 100
31
27
  },
32
28
  lineWidth: {
33
29
  min: 1,
34
30
  max: 20,
35
31
  step: 1,
36
- "default": 1
32
+ default: 1
37
33
  },
38
34
  lineDash: {
39
35
  values: _style.STYLE_LINE_DASH,
40
- "default": 0
36
+ default: 0
41
37
  }
42
38
  };
43
39
  exports.SETTINGS_DEFAULT_RECT = SETTINGS_DEFAULT_RECT;
44
- var SETTINGS_DEFAULT_SQUARE = {
40
+ const SETTINGS_DEFAULT_SQUARE = {
45
41
  strokeColor: {
46
42
  values: _style.STYLE_COLORS,
47
- "default": 'black'
43
+ default: 'black'
48
44
  },
49
45
  fillColor: {
50
46
  values: _style.STYLE_COLORS,
51
- "default": 'transparent'
47
+ default: 'transparent'
52
48
  },
53
49
  opacity: {
54
50
  min: 0,
55
51
  max: 100,
56
52
  step: 1,
57
- "default": 100
53
+ default: 100
58
54
  },
59
55
  lineWidth: {
60
56
  min: 1,
61
57
  max: 20,
62
58
  step: 1,
63
- "default": 1
59
+ default: 1
64
60
  },
65
61
  lineDash: {
66
62
  values: _style.STYLE_LINE_DASH,
67
- "default": 0
63
+ default: 0
68
64
  }
69
65
  };
70
66
  exports.SETTINGS_DEFAULT_SQUARE = SETTINGS_DEFAULT_SQUARE;
71
- var SETTINGS_DEFAULT_CIRCLE = {
67
+ const SETTINGS_DEFAULT_CIRCLE = {
72
68
  strokeColor: {
73
69
  values: _style.STYLE_COLORS,
74
- "default": 'black'
70
+ default: 'black'
75
71
  },
76
72
  fillColor: {
77
73
  values: _style.STYLE_COLORS,
78
- "default": 'transparent'
74
+ default: 'transparent'
79
75
  },
80
76
  opacity: {
81
77
  min: 0,
82
78
  max: 100,
83
79
  step: 1,
84
- "default": 100
80
+ default: 100
85
81
  },
86
82
  lineWidth: {
87
83
  min: 1,
88
84
  max: 20,
89
85
  step: 1,
90
- "default": 1
86
+ default: 1
91
87
  },
92
88
  lineDash: {
93
89
  values: _style.STYLE_LINE_DASH,
94
- "default": 0
90
+ default: 0
95
91
  }
96
92
  };
97
93
  exports.SETTINGS_DEFAULT_CIRCLE = SETTINGS_DEFAULT_CIRCLE;
98
- var SETTINGS_DEFAULT_ELLIPSE = {
94
+ const SETTINGS_DEFAULT_ELLIPSE = {
99
95
  strokeColor: {
100
96
  values: _style.STYLE_COLORS,
101
- "default": 'black'
97
+ default: 'black'
102
98
  },
103
99
  fillColor: {
104
100
  values: _style.STYLE_COLORS,
105
- "default": 'transparent'
101
+ default: 'transparent'
106
102
  },
107
103
  opacity: {
108
104
  min: 0,
109
105
  max: 100,
110
106
  step: 1,
111
- "default": 100
107
+ default: 100
112
108
  },
113
109
  lineWidth: {
114
110
  min: 1,
115
111
  max: 20,
116
112
  step: 1,
117
- "default": 1
113
+ default: 1
118
114
  },
119
115
  lineDash: {
120
116
  values: _style.STYLE_LINE_DASH,
121
- "default": 0
117
+ default: 0
122
118
  }
123
119
  };
124
120
  exports.SETTINGS_DEFAULT_ELLIPSE = SETTINGS_DEFAULT_ELLIPSE;
125
- var SETTINGS_DEFAULT_PICTURE = {
121
+ const SETTINGS_DEFAULT_PICTURE = {
126
122
  opacity: {
127
123
  min: 0,
128
124
  max: 100,
129
125
  step: 1,
130
- "default": 100
126
+ default: 100
131
127
  }
132
128
  };
133
129
  exports.SETTINGS_DEFAULT_PICTURE = SETTINGS_DEFAULT_PICTURE;
134
- var SETTINGS_DEFAULT_TEXT = {
130
+ const SETTINGS_DEFAULT_TEXT = {
135
131
  strokeColor: {
136
132
  values: _style.STYLE_COLORS,
137
- "default": 'black'
133
+ default: 'black'
138
134
  },
139
135
  opacity: {
140
136
  min: 0,
141
137
  max: 100,
142
138
  step: 1,
143
- "default": 100
139
+ default: 100
144
140
  },
145
141
  fontFamily: {
146
142
  values: _style.STYLE_FONTS,
147
- "default": _style.STYLE_FONT_DEFAULT
143
+ default: _style.STYLE_FONT_DEFAULT
148
144
  },
149
145
  fontBold: {
150
146
  values: [false, true],
151
- "default": false
147
+ default: false
152
148
  },
153
149
  fontItalic: {
154
150
  values: [false, true],
155
- "default": false
151
+ default: false
156
152
  }
157
153
  };
158
154
  exports.SETTINGS_DEFAULT_TEXT = SETTINGS_DEFAULT_TEXT;
159
- var SETTINGS_DEFAULT_BRUSH = {
155
+ const SETTINGS_DEFAULT_BRUSH = {
160
156
  strokeColor: {
161
157
  values: _style.STYLE_COLORS,
162
- "default": 'black'
158
+ default: 'black'
163
159
  },
164
160
  opacity: {
165
161
  min: 0,
166
162
  max: 100,
167
163
  step: 1,
168
- "default": 100
164
+ default: 100
169
165
  },
170
166
  lineWidth: {
171
167
  min: 6,
172
168
  max: 20,
173
169
  step: 2,
174
- "default": 10
170
+ default: 10
175
171
  },
176
172
  lineDash: {
177
173
  values: _style.STYLE_LINE_DASH,
178
- "default": 0
174
+ default: 0
179
175
  }
180
176
  };
181
177
  exports.SETTINGS_DEFAULT_BRUSH = SETTINGS_DEFAULT_BRUSH;
182
- var SETTINGS_DEFAULT_LINE = {
178
+ const SETTINGS_DEFAULT_LINE = {
183
179
  strokeColor: {
184
180
  values: _style.STYLE_COLORS,
185
- "default": 'black'
181
+ default: 'black'
186
182
  },
187
183
  opacity: {
188
184
  min: 0,
189
185
  max: 100,
190
186
  step: 1,
191
- "default": 100
187
+ default: 100
192
188
  },
193
189
  lineWidth: {
194
190
  min: 1,
195
191
  max: 20,
196
192
  step: 1,
197
- "default": 1
193
+ default: 1
198
194
  },
199
195
  lineDash: {
200
196
  values: _style.STYLE_LINE_DASH,
201
- "default": 0
197
+ default: 0
202
198
  },
203
199
  lineArrow: {
204
200
  values: _style.STYLE_LINE_WITH_ARROW,
205
- "default": 0
201
+ default: 0
206
202
  }
207
203
  };
208
204
  exports.SETTINGS_DEFAULT_LINE = SETTINGS_DEFAULT_LINE;
209
- var SETTINGS_DEFAULT_POLYGON = {
205
+ const SETTINGS_DEFAULT_POLYGON = {
210
206
  strokeColor: {
211
207
  values: _style.STYLE_COLORS,
212
- "default": 'black'
208
+ default: 'black'
213
209
  },
214
210
  fillColor: {
215
211
  values: _style.STYLE_COLORS,
216
- "default": 'black'
212
+ default: 'black'
217
213
  },
218
214
  opacity: {
219
215
  min: 0,
220
216
  max: 100,
221
217
  step: 1,
222
- "default": 100
218
+ default: 100
223
219
  },
224
220
  lineWidth: {
225
221
  min: 1,
226
222
  max: 20,
227
223
  step: 1,
228
- "default": 1
224
+ default: 1
229
225
  },
230
226
  lineDash: {
231
227
  values: _style.STYLE_LINE_DASH,
232
- "default": 0
228
+ default: 0
233
229
  },
234
230
  pointsCount: {
235
231
  min: 3,
236
232
  max: 10,
237
233
  step: 1,
238
- "default": 3
234
+ default: 3
239
235
  }
240
236
  };
241
237
  exports.SETTINGS_DEFAULT_POLYGON = SETTINGS_DEFAULT_POLYGON;
242
- var SETTINGS_DEFAULT_CURVE = {
238
+ const SETTINGS_DEFAULT_CURVE = {
243
239
  strokeColor: {
244
240
  values: _style.STYLE_COLORS,
245
- "default": 'black'
241
+ default: 'black'
246
242
  },
247
243
  fillColor: {
248
244
  values: _style.STYLE_COLORS,
249
- "default": 'black'
245
+ default: 'black'
250
246
  },
251
247
  opacity: {
252
248
  min: 0,
253
249
  max: 100,
254
250
  step: 1,
255
- "default": 100
251
+ default: 100
256
252
  },
257
253
  lineWidth: {
258
254
  min: 1,
259
255
  max: 20,
260
256
  step: 1,
261
- "default": 1
257
+ default: 1
262
258
  },
263
259
  lineDash: {
264
260
  values: _style.STYLE_LINE_DASH,
265
- "default": 0
261
+ default: 0
266
262
  },
267
263
  pointsCount: {
268
264
  min: 3,
269
265
  max: 10,
270
266
  step: 1,
271
- "default": 3
267
+ default: 3
272
268
  }
273
269
  };
274
270
  exports.SETTINGS_DEFAULT_CURVE = SETTINGS_DEFAULT_CURVE;
275
- var DEFAULT_SHAPE_PICTURE = {
276
- type: _Shapes.ShapeEnum.picture,
271
+ const DEFAULT_SHAPE_PICTURE = {
272
+ type: 'picture',
277
273
  id: "".concat(PREFIX_ID, "picture"),
278
274
  icon: _icons.pictureIcon,
279
275
  label: 'Image',
280
276
  settings: SETTINGS_DEFAULT_PICTURE
281
277
  };
282
278
  exports.DEFAULT_SHAPE_PICTURE = DEFAULT_SHAPE_PICTURE;
283
- var DEFAULT_SHAPE_BRUSH = {
284
- type: _Shapes.ShapeEnum.brush,
279
+ const DEFAULT_SHAPE_BRUSH = {
280
+ type: 'brush',
285
281
  id: "".concat(PREFIX_ID, "brush"),
286
282
  icon: _icons.brushIcon,
287
283
  label: 'Brosse',
288
284
  settings: SETTINGS_DEFAULT_BRUSH
289
285
  };
290
286
  exports.DEFAULT_SHAPE_BRUSH = DEFAULT_SHAPE_BRUSH;
291
- var DEFAULT_SHAPE_LINE = {
292
- type: _Shapes.ShapeEnum.line,
287
+ const DEFAULT_SHAPE_LINE = {
288
+ type: 'line',
293
289
  id: "".concat(PREFIX_ID, "line"),
294
290
  icon: _icons.arrowIcon,
295
291
  label: 'Ligne',
296
292
  settings: SETTINGS_DEFAULT_LINE
297
293
  };
298
294
  exports.DEFAULT_SHAPE_LINE = DEFAULT_SHAPE_LINE;
299
- var DEFAULT_SHAPE_POLYGON = {
300
- type: _Shapes.ShapeEnum.polygon,
295
+ const DEFAULT_SHAPE_POLYGON = {
296
+ type: 'polygon',
301
297
  id: "".concat(PREFIX_ID, "polygon"),
302
298
  icon: _icons.polygonIcon,
303
299
  label: 'Polygone',
304
300
  settings: SETTINGS_DEFAULT_POLYGON
305
301
  };
306
302
  exports.DEFAULT_SHAPE_POLYGON = DEFAULT_SHAPE_POLYGON;
307
- var DEFAULT_SHAPE_CURVE = {
308
- type: _Shapes.ShapeEnum.curve,
303
+ const DEFAULT_SHAPE_CURVE = {
304
+ type: 'curve',
309
305
  id: "".concat(PREFIX_ID, "curve"),
310
306
  icon: _icons.curveIcon,
311
307
  label: 'Courbe',
312
308
  settings: SETTINGS_DEFAULT_CURVE
313
309
  };
314
310
  exports.DEFAULT_SHAPE_CURVE = DEFAULT_SHAPE_CURVE;
315
- var DEFAULT_SHAPE_RECT = {
316
- type: _Shapes.ShapeEnum.rect,
311
+ const DEFAULT_SHAPE_RECT = {
312
+ type: 'rect',
317
313
  id: "".concat(PREFIX_ID, "rect"),
318
314
  icon: _icons.squareIcon,
319
315
  // temporary
@@ -321,24 +317,24 @@ var DEFAULT_SHAPE_RECT = {
321
317
  settings: SETTINGS_DEFAULT_RECT
322
318
  };
323
319
  exports.DEFAULT_SHAPE_RECT = DEFAULT_SHAPE_RECT;
324
- var DEFAULT_SHAPE_SQUARE = {
325
- type: _Shapes.ShapeEnum.square,
320
+ const DEFAULT_SHAPE_SQUARE = {
321
+ type: 'square',
326
322
  id: "".concat(PREFIX_ID, "square"),
327
323
  icon: _icons.squareIcon,
328
324
  label: 'Carré',
329
325
  settings: SETTINGS_DEFAULT_SQUARE
330
326
  };
331
327
  exports.DEFAULT_SHAPE_SQUARE = DEFAULT_SHAPE_SQUARE;
332
- var DEFAULT_SHAPE_CIRCLE = {
333
- type: _Shapes.ShapeEnum.circle,
328
+ const DEFAULT_SHAPE_CIRCLE = {
329
+ type: 'circle',
334
330
  id: "".concat(PREFIX_ID, "circle"),
335
331
  icon: _icons.circleIcon,
336
332
  label: 'Cercle',
337
333
  settings: SETTINGS_DEFAULT_CIRCLE
338
334
  };
339
335
  exports.DEFAULT_SHAPE_CIRCLE = DEFAULT_SHAPE_CIRCLE;
340
- var DEFAULT_SHAPE_ELLIPSE = {
341
- type: _Shapes.ShapeEnum.ellipse,
336
+ const DEFAULT_SHAPE_ELLIPSE = {
337
+ type: 'ellipse',
342
338
  id: "".concat(PREFIX_ID, "ellipse"),
343
339
  icon: _icons.circleIcon,
344
340
  // temporary
@@ -346,82 +342,82 @@ var DEFAULT_SHAPE_ELLIPSE = {
346
342
  settings: SETTINGS_DEFAULT_ELLIPSE
347
343
  };
348
344
  exports.DEFAULT_SHAPE_ELLIPSE = DEFAULT_SHAPE_ELLIPSE;
349
- var DEFAULT_SHAPE_TEXT = {
350
- type: _Shapes.ShapeEnum.text,
345
+ const DEFAULT_SHAPE_TEXT = {
346
+ type: 'text',
351
347
  id: "".concat(PREFIX_ID, "text"),
352
348
  icon: _icons.textIcon,
353
349
  label: 'Texte',
354
350
  settings: SETTINGS_DEFAULT_TEXT
355
351
  };
356
352
  exports.DEFAULT_SHAPE_TEXT = DEFAULT_SHAPE_TEXT;
357
- var DEFAULT_SHAPE_TOOLS = [DEFAULT_SHAPE_BRUSH, DEFAULT_SHAPE_LINE, DEFAULT_SHAPE_POLYGON, DEFAULT_SHAPE_CURVE, DEFAULT_SHAPE_RECT, DEFAULT_SHAPE_SQUARE, DEFAULT_SHAPE_CIRCLE, DEFAULT_SHAPE_ELLIPSE, DEFAULT_SHAPE_PICTURE, DEFAULT_SHAPE_TEXT];
353
+ const DEFAULT_SHAPE_TOOLS = [DEFAULT_SHAPE_BRUSH, DEFAULT_SHAPE_LINE, DEFAULT_SHAPE_POLYGON, DEFAULT_SHAPE_CURVE, DEFAULT_SHAPE_RECT, DEFAULT_SHAPE_SQUARE, DEFAULT_SHAPE_CIRCLE, DEFAULT_SHAPE_ELLIPSE, DEFAULT_SHAPE_PICTURE, DEFAULT_SHAPE_TEXT];
358
354
  exports.DEFAULT_SHAPE_TOOLS = DEFAULT_SHAPE_TOOLS;
359
- var SELECTION_TOOL = {
355
+ const SELECTION_TOOL = {
360
356
  id: "".concat(PREFIX_ID, "selection"),
361
- type: _tools.ActionsEnum.selection,
357
+ type: 'selection',
362
358
  icon: _icons.cursorIcon,
363
359
  label: 'Sélection'
364
360
  };
365
361
  exports.SELECTION_TOOL = SELECTION_TOOL;
366
- var UNDO_TOOL = {
362
+ const UNDO_TOOL = {
367
363
  id: "".concat(PREFIX_ID, "undo"),
368
- type: _tools.ActionsEnum.undo,
364
+ type: 'undo',
369
365
  icon: _icons.undoIcon,
370
366
  label: 'Undo'
371
367
  };
372
368
  exports.UNDO_TOOL = UNDO_TOOL;
373
- var REDO_TOOL = {
369
+ const REDO_TOOL = {
374
370
  id: "".concat(PREFIX_ID, "redo"),
375
- type: _tools.ActionsEnum.redo,
371
+ type: 'redo',
376
372
  icon: _icons.redoIcon,
377
373
  label: 'Redo'
378
374
  };
379
375
  exports.REDO_TOOL = REDO_TOOL;
380
- var CLEAR_TOOL = {
376
+ const CLEAR_TOOL = {
381
377
  id: "".concat(PREFIX_ID, "clear"),
382
- type: _tools.ActionsEnum.clear,
378
+ type: 'clear',
383
379
  icon: _icons.clearIcon,
384
380
  label: 'Clear'
385
381
  };
386
382
  exports.CLEAR_TOOL = CLEAR_TOOL;
387
- var EXPORT_TOOL = {
383
+ const EXPORT_TOOL = {
388
384
  id: "".concat(PREFIX_ID, "export"),
389
- type: _tools.ActionsEnum["export"],
385
+ type: 'export',
390
386
  icon: _icons.exportFileIcon,
391
387
  label: 'Export PNG'
392
388
  };
393
389
  exports.EXPORT_TOOL = EXPORT_TOOL;
394
- var LOAD_TOOL = {
390
+ const LOAD_TOOL = {
395
391
  id: "".concat(PREFIX_ID, "load"),
396
- type: _tools.ActionsEnum.loadFile,
392
+ type: 'loadfile',
397
393
  icon: _icons.openFileIcon,
398
394
  label: 'Load project'
399
395
  };
400
396
  exports.LOAD_TOOL = LOAD_TOOL;
401
- var SAVE_TOOL = {
397
+ const SAVE_TOOL = {
402
398
  id: "".concat(PREFIX_ID, "save"),
403
- type: _tools.ActionsEnum.saveFile,
399
+ type: 'savefile',
404
400
  icon: _icons.saveIcon,
405
401
  label: 'Save project'
406
402
  };
407
403
  exports.SAVE_TOOL = SAVE_TOOL;
408
- var MOVE_TOOL = {
404
+ const MOVE_TOOL = {
409
405
  id: "".concat(PREFIX_ID, "move"),
410
- type: _tools.ActionsEnum.move,
406
+ type: 'move',
411
407
  icon: _icons.cursorIcon,
412
408
  label: 'Move'
413
409
  };
414
410
  exports.MOVE_TOOL = MOVE_TOOL;
415
- var UPLOAD_PICTURE_TOOL = {
411
+ const UPLOAD_PICTURE_TOOL = {
416
412
  id: "".concat(PREFIX_ID, "upload-picture"),
417
- type: _tools.ActionsEnum.uploadPicture,
413
+ type: 'uploadpicture',
418
414
  icon: _icons.pictureIcon,
419
415
  label: 'Upload picture'
420
416
  };
421
417
  exports.UPLOAD_PICTURE_TOOL = UPLOAD_PICTURE_TOOL;
422
- var ADD_URL_PICTURE_TOOL = {
418
+ const ADD_URL_PICTURE_TOOL = {
423
419
  id: "".concat(PREFIX_ID, "upload-picture"),
424
- type: _tools.ActionsEnum.addUrlPicture,
420
+ type: 'addurlpicture',
425
421
  icon: _icons.pictureIcon,
426
422
  label: 'Add picture from URL'
427
423
  };
@@ -1,28 +1,23 @@
1
1
  "use strict";
2
2
 
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
- exports["default"] = void 0;
9
-
10
- var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
6
+ exports.default = void 0;
11
7
 
12
8
  var _react = require("react");
13
9
 
14
- var useComponent = function useComponent(_ref) {
15
- var disabled = _ref.disabled,
16
- componentRef = _ref.componentRef;
17
-
18
- var _useState = (0, _react.useState)(false),
19
- _useState2 = (0, _slicedToArray2["default"])(_useState, 2),
20
- isInsideComponent = _useState2[0],
21
- setIsInsideComponent = _useState2[1];
22
-
23
- (0, _react.useEffect)(function () {
24
- var onDetectClick = function onDetectClick(event) {
25
- setIsInsideComponent(!(event.target instanceof Node) || !componentRef.current ? false : componentRef.current.contains(event.target));
10
+ var _dom = require("../utils/dom");
11
+
12
+ const useComponent = _ref => {
13
+ let {
14
+ disabled,
15
+ componentRef
16
+ } = _ref;
17
+ const [isInsideComponent, setIsInsideComponent] = (0, _react.useState)(false);
18
+ (0, _react.useEffect)(() => {
19
+ const onDetectClick = event => {
20
+ setIsInsideComponent((0, _dom.isEventInsideNode)(event, componentRef.current));
26
21
  };
27
22
 
28
23
  if (disabled) {
@@ -36,7 +31,7 @@ var useComponent = function useComponent(_ref) {
36
31
  });
37
32
  }
38
33
 
39
- return function () {
34
+ return () => {
40
35
  if (!disabled) {
41
36
  document.removeEventListener('mousedown', onDetectClick);
42
37
  document.removeEventListener('touchstart', onDetectClick);
@@ -44,9 +39,9 @@ var useComponent = function useComponent(_ref) {
44
39
  };
45
40
  }, [disabled, componentRef]);
46
41
  return {
47
- isInsideComponent: isInsideComponent
42
+ isInsideComponent
48
43
  };
49
44
  };
50
45
 
51
46
  var _default = useComponent;
52
- exports["default"] = _default;
47
+ exports.default = _default;
@@ -3,18 +3,18 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports["default"] = void 0;
6
+ exports.default = void 0;
7
7
 
8
8
  var _react = require("react");
9
9
 
10
- var DELTA_TIME_THRESHOLD_MS = 300;
10
+ const DELTA_TIME_THRESHOLD_MS = 300;
11
11
 
12
- var useDoubleClick = function useDoubleClick() {
13
- var lastClickTimestampRef = (0, _react.useRef)(undefined);
14
- var callbackRef = (0, _react.useRef)(undefined);
12
+ const useDoubleClick = () => {
13
+ const lastClickTimestampRef = (0, _react.useRef)(undefined);
14
+ const callbackRef = (0, _react.useRef)(undefined);
15
15
 
16
- var onClick = function onClick(e) {
17
- var currentTimestamp = new Date().getTime();
16
+ const onClick = e => {
17
+ const currentTimestamp = new Date().getTime();
18
18
 
19
19
  if (lastClickTimestampRef.current && currentTimestamp < lastClickTimestampRef.current + DELTA_TIME_THRESHOLD_MS) {
20
20
  var _callbackRef$current;
@@ -25,22 +25,22 @@ var useDoubleClick = function useDoubleClick() {
25
25
  lastClickTimestampRef.current = new Date().getTime();
26
26
  };
27
27
 
28
- var registerDoubleClickEvent = function registerDoubleClickEvent(element, callback) {
28
+ const registerDoubleClickEvent = (element, callback) => {
29
29
  callbackRef.current = callback;
30
30
  element.addEventListener('click', onClick);
31
31
  element.addEventListener('touchend', onClick);
32
32
  };
33
33
 
34
- var unRegisterDoubleClickEvent = function unRegisterDoubleClickEvent(element) {
34
+ const unRegisterDoubleClickEvent = element => {
35
35
  element.removeEventListener('click', onClick);
36
36
  element.removeEventListener('touchend', onClick);
37
37
  };
38
38
 
39
39
  return {
40
- registerDoubleClickEvent: registerDoubleClickEvent,
41
- unRegisterDoubleClickEvent: unRegisterDoubleClickEvent
40
+ registerDoubleClickEvent,
41
+ unRegisterDoubleClickEvent
42
42
  };
43
43
  };
44
44
 
45
45
  var _default = useDoubleClick;
46
- exports["default"] = _default;
46
+ exports.default = _default;