@yorab/react-paint 0.6.5 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/README.md +2 -0
  2. package/dist/components/App.js +224 -384
  3. package/dist/components/Canvas.js +104 -114
  4. package/dist/components/common/Button.js +41 -50
  5. package/dist/components/common/Loading.js +21 -33
  6. package/dist/components/common/Modal.js +18 -17
  7. package/dist/components/common/Panel.js +20 -24
  8. package/dist/components/common/Snackbar.js +27 -34
  9. package/dist/components/settings/ColorField.js +59 -68
  10. package/dist/components/settings/DeleteButton.js +10 -9
  11. package/dist/components/settings/FontFamilyField.js +24 -19
  12. package/dist/components/settings/LayoutButton.js +11 -9
  13. package/dist/components/settings/Layouts.js +93 -103
  14. package/dist/components/settings/LineArrowField.js +25 -22
  15. package/dist/components/settings/LineTypeField.js +23 -20
  16. package/dist/components/settings/PointsNumberField.js +14 -13
  17. package/dist/components/settings/RangeField.js +35 -47
  18. package/dist/components/settings/SelectField.js +34 -43
  19. package/dist/components/settings/SettingsBar.js +95 -118
  20. package/dist/components/settings/ToggleField.js +18 -25
  21. package/dist/components/toolbox/EditTextBox.js +53 -42
  22. package/dist/components/toolbox/LoadFileTool.js +19 -21
  23. package/dist/components/toolbox/MenuGroup.js +60 -96
  24. package/dist/components/toolbox/PictureUrlInput.js +33 -62
  25. package/dist/components/toolbox/Tool.js +13 -13
  26. package/dist/components/toolbox/Toolbar.js +74 -106
  27. package/dist/components/toolbox/ToolbarGroup.js +41 -57
  28. package/dist/constants/icons.js +43 -43
  29. package/dist/constants/shapes.js +6 -6
  30. package/dist/constants/snackbar.js +3 -3
  31. package/dist/constants/style.js +13 -13
  32. package/dist/constants/tools.js +80 -80
  33. package/dist/hooks/useComponent.js +12 -19
  34. package/dist/hooks/useDoubleClick.js +12 -12
  35. package/dist/hooks/useDrag.js +24 -32
  36. package/dist/hooks/useDrawableCanvas.js +86 -100
  37. package/dist/hooks/useKeyboard.js +26 -36
  38. package/dist/hooks/useResizeObserver.js +18 -16
  39. package/dist/hooks/useShapes.js +91 -143
  40. package/dist/hooks/useSnackbar.js +28 -58
  41. package/dist/styles.css +55 -55
  42. package/dist/types/Mode.js +1 -1
  43. package/dist/types/Shapes.js +1 -1
  44. package/dist/types/keyboard.js +2 -2
  45. package/dist/types/tools.js +1 -1
  46. package/dist/utils/data.js +91 -107
  47. package/dist/utils/draw.js +116 -146
  48. package/dist/utils/file.js +69 -119
  49. package/dist/utils/intersect.js +57 -97
  50. package/dist/utils/selection.js +12 -12
  51. package/dist/utils/shapeData.js +33 -51
  52. package/dist/utils/string.js +10 -16
  53. package/dist/utils/style.js +1 -1
  54. package/dist/utils/toolbar.js +26 -38
  55. package/dist/utils/transform.js +183 -239
  56. package/package.json +6 -5
  57. package/Changelog.md +0 -123
@@ -13,266 +13,266 @@ var _icons = require("./icons");
13
13
 
14
14
  var _style = require("./style");
15
15
 
16
- var PREFIX_ID = 'react-paint-';
17
- var SETTINGS_DEFAULT_RECT = {
16
+ const PREFIX_ID = 'react-paint-';
17
+ const SETTINGS_DEFAULT_RECT = {
18
18
  strokeColor: {
19
19
  values: _style.STYLE_COLORS,
20
- "default": 'black'
20
+ default: 'black'
21
21
  },
22
22
  fillColor: {
23
23
  values: _style.STYLE_COLORS,
24
- "default": 'transparent'
24
+ default: 'transparent'
25
25
  },
26
26
  opacity: {
27
27
  min: 0,
28
28
  max: 100,
29
29
  step: 1,
30
- "default": 100
30
+ default: 100
31
31
  },
32
32
  lineWidth: {
33
33
  min: 1,
34
34
  max: 20,
35
35
  step: 1,
36
- "default": 1
36
+ default: 1
37
37
  },
38
38
  lineDash: {
39
39
  values: _style.STYLE_LINE_DASH,
40
- "default": 0
40
+ default: 0
41
41
  }
42
42
  };
43
43
  exports.SETTINGS_DEFAULT_RECT = SETTINGS_DEFAULT_RECT;
44
- var SETTINGS_DEFAULT_SQUARE = {
44
+ const SETTINGS_DEFAULT_SQUARE = {
45
45
  strokeColor: {
46
46
  values: _style.STYLE_COLORS,
47
- "default": 'black'
47
+ default: 'black'
48
48
  },
49
49
  fillColor: {
50
50
  values: _style.STYLE_COLORS,
51
- "default": 'transparent'
51
+ default: 'transparent'
52
52
  },
53
53
  opacity: {
54
54
  min: 0,
55
55
  max: 100,
56
56
  step: 1,
57
- "default": 100
57
+ default: 100
58
58
  },
59
59
  lineWidth: {
60
60
  min: 1,
61
61
  max: 20,
62
62
  step: 1,
63
- "default": 1
63
+ default: 1
64
64
  },
65
65
  lineDash: {
66
66
  values: _style.STYLE_LINE_DASH,
67
- "default": 0
67
+ default: 0
68
68
  }
69
69
  };
70
70
  exports.SETTINGS_DEFAULT_SQUARE = SETTINGS_DEFAULT_SQUARE;
71
- var SETTINGS_DEFAULT_CIRCLE = {
71
+ const SETTINGS_DEFAULT_CIRCLE = {
72
72
  strokeColor: {
73
73
  values: _style.STYLE_COLORS,
74
- "default": 'black'
74
+ default: 'black'
75
75
  },
76
76
  fillColor: {
77
77
  values: _style.STYLE_COLORS,
78
- "default": 'transparent'
78
+ default: 'transparent'
79
79
  },
80
80
  opacity: {
81
81
  min: 0,
82
82
  max: 100,
83
83
  step: 1,
84
- "default": 100
84
+ default: 100
85
85
  },
86
86
  lineWidth: {
87
87
  min: 1,
88
88
  max: 20,
89
89
  step: 1,
90
- "default": 1
90
+ default: 1
91
91
  },
92
92
  lineDash: {
93
93
  values: _style.STYLE_LINE_DASH,
94
- "default": 0
94
+ default: 0
95
95
  }
96
96
  };
97
97
  exports.SETTINGS_DEFAULT_CIRCLE = SETTINGS_DEFAULT_CIRCLE;
98
- var SETTINGS_DEFAULT_ELLIPSE = {
98
+ const SETTINGS_DEFAULT_ELLIPSE = {
99
99
  strokeColor: {
100
100
  values: _style.STYLE_COLORS,
101
- "default": 'black'
101
+ default: 'black'
102
102
  },
103
103
  fillColor: {
104
104
  values: _style.STYLE_COLORS,
105
- "default": 'transparent'
105
+ default: 'transparent'
106
106
  },
107
107
  opacity: {
108
108
  min: 0,
109
109
  max: 100,
110
110
  step: 1,
111
- "default": 100
111
+ default: 100
112
112
  },
113
113
  lineWidth: {
114
114
  min: 1,
115
115
  max: 20,
116
116
  step: 1,
117
- "default": 1
117
+ default: 1
118
118
  },
119
119
  lineDash: {
120
120
  values: _style.STYLE_LINE_DASH,
121
- "default": 0
121
+ default: 0
122
122
  }
123
123
  };
124
124
  exports.SETTINGS_DEFAULT_ELLIPSE = SETTINGS_DEFAULT_ELLIPSE;
125
- var SETTINGS_DEFAULT_PICTURE = {
125
+ const SETTINGS_DEFAULT_PICTURE = {
126
126
  opacity: {
127
127
  min: 0,
128
128
  max: 100,
129
129
  step: 1,
130
- "default": 100
130
+ default: 100
131
131
  }
132
132
  };
133
133
  exports.SETTINGS_DEFAULT_PICTURE = SETTINGS_DEFAULT_PICTURE;
134
- var SETTINGS_DEFAULT_TEXT = {
134
+ const SETTINGS_DEFAULT_TEXT = {
135
135
  strokeColor: {
136
136
  values: _style.STYLE_COLORS,
137
- "default": 'black'
137
+ default: 'black'
138
138
  },
139
139
  opacity: {
140
140
  min: 0,
141
141
  max: 100,
142
142
  step: 1,
143
- "default": 100
143
+ default: 100
144
144
  },
145
145
  fontFamily: {
146
146
  values: _style.STYLE_FONTS,
147
- "default": _style.STYLE_FONT_DEFAULT
147
+ default: _style.STYLE_FONT_DEFAULT
148
148
  },
149
149
  fontBold: {
150
150
  values: [false, true],
151
- "default": false
151
+ default: false
152
152
  },
153
153
  fontItalic: {
154
154
  values: [false, true],
155
- "default": false
155
+ default: false
156
156
  }
157
157
  };
158
158
  exports.SETTINGS_DEFAULT_TEXT = SETTINGS_DEFAULT_TEXT;
159
- var SETTINGS_DEFAULT_BRUSH = {
159
+ const SETTINGS_DEFAULT_BRUSH = {
160
160
  strokeColor: {
161
161
  values: _style.STYLE_COLORS,
162
- "default": 'black'
162
+ default: 'black'
163
163
  },
164
164
  opacity: {
165
165
  min: 0,
166
166
  max: 100,
167
167
  step: 1,
168
- "default": 100
168
+ default: 100
169
169
  },
170
170
  lineWidth: {
171
171
  min: 6,
172
172
  max: 20,
173
173
  step: 2,
174
- "default": 10
174
+ default: 10
175
175
  },
176
176
  lineDash: {
177
177
  values: _style.STYLE_LINE_DASH,
178
- "default": 0
178
+ default: 0
179
179
  }
180
180
  };
181
181
  exports.SETTINGS_DEFAULT_BRUSH = SETTINGS_DEFAULT_BRUSH;
182
- var SETTINGS_DEFAULT_LINE = {
182
+ const SETTINGS_DEFAULT_LINE = {
183
183
  strokeColor: {
184
184
  values: _style.STYLE_COLORS,
185
- "default": 'black'
185
+ default: 'black'
186
186
  },
187
187
  opacity: {
188
188
  min: 0,
189
189
  max: 100,
190
190
  step: 1,
191
- "default": 100
191
+ default: 100
192
192
  },
193
193
  lineWidth: {
194
194
  min: 1,
195
195
  max: 20,
196
196
  step: 1,
197
- "default": 1
197
+ default: 1
198
198
  },
199
199
  lineDash: {
200
200
  values: _style.STYLE_LINE_DASH,
201
- "default": 0
201
+ default: 0
202
202
  },
203
203
  lineArrow: {
204
204
  values: _style.STYLE_LINE_WITH_ARROW,
205
- "default": 0
205
+ default: 0
206
206
  }
207
207
  };
208
208
  exports.SETTINGS_DEFAULT_LINE = SETTINGS_DEFAULT_LINE;
209
- var SETTINGS_DEFAULT_POLYGON = {
209
+ const SETTINGS_DEFAULT_POLYGON = {
210
210
  strokeColor: {
211
211
  values: _style.STYLE_COLORS,
212
- "default": 'black'
212
+ default: 'black'
213
213
  },
214
214
  fillColor: {
215
215
  values: _style.STYLE_COLORS,
216
- "default": 'black'
216
+ default: 'black'
217
217
  },
218
218
  opacity: {
219
219
  min: 0,
220
220
  max: 100,
221
221
  step: 1,
222
- "default": 100
222
+ default: 100
223
223
  },
224
224
  lineWidth: {
225
225
  min: 1,
226
226
  max: 20,
227
227
  step: 1,
228
- "default": 1
228
+ default: 1
229
229
  },
230
230
  lineDash: {
231
231
  values: _style.STYLE_LINE_DASH,
232
- "default": 0
232
+ default: 0
233
233
  },
234
234
  pointsCount: {
235
235
  min: 3,
236
236
  max: 10,
237
237
  step: 1,
238
- "default": 3
238
+ default: 3
239
239
  }
240
240
  };
241
241
  exports.SETTINGS_DEFAULT_POLYGON = SETTINGS_DEFAULT_POLYGON;
242
- var SETTINGS_DEFAULT_CURVE = {
242
+ const SETTINGS_DEFAULT_CURVE = {
243
243
  strokeColor: {
244
244
  values: _style.STYLE_COLORS,
245
- "default": 'black'
245
+ default: 'black'
246
246
  },
247
247
  fillColor: {
248
248
  values: _style.STYLE_COLORS,
249
- "default": 'black'
249
+ default: 'black'
250
250
  },
251
251
  opacity: {
252
252
  min: 0,
253
253
  max: 100,
254
254
  step: 1,
255
- "default": 100
255
+ default: 100
256
256
  },
257
257
  lineWidth: {
258
258
  min: 1,
259
259
  max: 20,
260
260
  step: 1,
261
- "default": 1
261
+ default: 1
262
262
  },
263
263
  lineDash: {
264
264
  values: _style.STYLE_LINE_DASH,
265
- "default": 0
265
+ default: 0
266
266
  },
267
267
  pointsCount: {
268
268
  min: 3,
269
269
  max: 10,
270
270
  step: 1,
271
- "default": 3
271
+ default: 3
272
272
  }
273
273
  };
274
274
  exports.SETTINGS_DEFAULT_CURVE = SETTINGS_DEFAULT_CURVE;
275
- var DEFAULT_SHAPE_PICTURE = {
275
+ const DEFAULT_SHAPE_PICTURE = {
276
276
  type: _Shapes.ShapeEnum.picture,
277
277
  id: "".concat(PREFIX_ID, "picture"),
278
278
  icon: _icons.pictureIcon,
@@ -280,7 +280,7 @@ var DEFAULT_SHAPE_PICTURE = {
280
280
  settings: SETTINGS_DEFAULT_PICTURE
281
281
  };
282
282
  exports.DEFAULT_SHAPE_PICTURE = DEFAULT_SHAPE_PICTURE;
283
- var DEFAULT_SHAPE_BRUSH = {
283
+ const DEFAULT_SHAPE_BRUSH = {
284
284
  type: _Shapes.ShapeEnum.brush,
285
285
  id: "".concat(PREFIX_ID, "brush"),
286
286
  icon: _icons.brushIcon,
@@ -288,7 +288,7 @@ var DEFAULT_SHAPE_BRUSH = {
288
288
  settings: SETTINGS_DEFAULT_BRUSH
289
289
  };
290
290
  exports.DEFAULT_SHAPE_BRUSH = DEFAULT_SHAPE_BRUSH;
291
- var DEFAULT_SHAPE_LINE = {
291
+ const DEFAULT_SHAPE_LINE = {
292
292
  type: _Shapes.ShapeEnum.line,
293
293
  id: "".concat(PREFIX_ID, "line"),
294
294
  icon: _icons.arrowIcon,
@@ -296,7 +296,7 @@ var DEFAULT_SHAPE_LINE = {
296
296
  settings: SETTINGS_DEFAULT_LINE
297
297
  };
298
298
  exports.DEFAULT_SHAPE_LINE = DEFAULT_SHAPE_LINE;
299
- var DEFAULT_SHAPE_POLYGON = {
299
+ const DEFAULT_SHAPE_POLYGON = {
300
300
  type: _Shapes.ShapeEnum.polygon,
301
301
  id: "".concat(PREFIX_ID, "polygon"),
302
302
  icon: _icons.polygonIcon,
@@ -304,7 +304,7 @@ var DEFAULT_SHAPE_POLYGON = {
304
304
  settings: SETTINGS_DEFAULT_POLYGON
305
305
  };
306
306
  exports.DEFAULT_SHAPE_POLYGON = DEFAULT_SHAPE_POLYGON;
307
- var DEFAULT_SHAPE_CURVE = {
307
+ const DEFAULT_SHAPE_CURVE = {
308
308
  type: _Shapes.ShapeEnum.curve,
309
309
  id: "".concat(PREFIX_ID, "curve"),
310
310
  icon: _icons.curveIcon,
@@ -312,7 +312,7 @@ var DEFAULT_SHAPE_CURVE = {
312
312
  settings: SETTINGS_DEFAULT_CURVE
313
313
  };
314
314
  exports.DEFAULT_SHAPE_CURVE = DEFAULT_SHAPE_CURVE;
315
- var DEFAULT_SHAPE_RECT = {
315
+ const DEFAULT_SHAPE_RECT = {
316
316
  type: _Shapes.ShapeEnum.rect,
317
317
  id: "".concat(PREFIX_ID, "rect"),
318
318
  icon: _icons.squareIcon,
@@ -321,7 +321,7 @@ var DEFAULT_SHAPE_RECT = {
321
321
  settings: SETTINGS_DEFAULT_RECT
322
322
  };
323
323
  exports.DEFAULT_SHAPE_RECT = DEFAULT_SHAPE_RECT;
324
- var DEFAULT_SHAPE_SQUARE = {
324
+ const DEFAULT_SHAPE_SQUARE = {
325
325
  type: _Shapes.ShapeEnum.square,
326
326
  id: "".concat(PREFIX_ID, "square"),
327
327
  icon: _icons.squareIcon,
@@ -329,7 +329,7 @@ var DEFAULT_SHAPE_SQUARE = {
329
329
  settings: SETTINGS_DEFAULT_SQUARE
330
330
  };
331
331
  exports.DEFAULT_SHAPE_SQUARE = DEFAULT_SHAPE_SQUARE;
332
- var DEFAULT_SHAPE_CIRCLE = {
332
+ const DEFAULT_SHAPE_CIRCLE = {
333
333
  type: _Shapes.ShapeEnum.circle,
334
334
  id: "".concat(PREFIX_ID, "circle"),
335
335
  icon: _icons.circleIcon,
@@ -337,7 +337,7 @@ var DEFAULT_SHAPE_CIRCLE = {
337
337
  settings: SETTINGS_DEFAULT_CIRCLE
338
338
  };
339
339
  exports.DEFAULT_SHAPE_CIRCLE = DEFAULT_SHAPE_CIRCLE;
340
- var DEFAULT_SHAPE_ELLIPSE = {
340
+ const DEFAULT_SHAPE_ELLIPSE = {
341
341
  type: _Shapes.ShapeEnum.ellipse,
342
342
  id: "".concat(PREFIX_ID, "ellipse"),
343
343
  icon: _icons.circleIcon,
@@ -346,7 +346,7 @@ var DEFAULT_SHAPE_ELLIPSE = {
346
346
  settings: SETTINGS_DEFAULT_ELLIPSE
347
347
  };
348
348
  exports.DEFAULT_SHAPE_ELLIPSE = DEFAULT_SHAPE_ELLIPSE;
349
- var DEFAULT_SHAPE_TEXT = {
349
+ const DEFAULT_SHAPE_TEXT = {
350
350
  type: _Shapes.ShapeEnum.text,
351
351
  id: "".concat(PREFIX_ID, "text"),
352
352
  icon: _icons.textIcon,
@@ -354,72 +354,72 @@ var DEFAULT_SHAPE_TEXT = {
354
354
  settings: SETTINGS_DEFAULT_TEXT
355
355
  };
356
356
  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];
357
+ 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
358
  exports.DEFAULT_SHAPE_TOOLS = DEFAULT_SHAPE_TOOLS;
359
- var SELECTION_TOOL = {
359
+ const SELECTION_TOOL = {
360
360
  id: "".concat(PREFIX_ID, "selection"),
361
361
  type: _tools.ActionsEnum.selection,
362
362
  icon: _icons.cursorIcon,
363
363
  label: 'Sélection'
364
364
  };
365
365
  exports.SELECTION_TOOL = SELECTION_TOOL;
366
- var UNDO_TOOL = {
366
+ const UNDO_TOOL = {
367
367
  id: "".concat(PREFIX_ID, "undo"),
368
368
  type: _tools.ActionsEnum.undo,
369
369
  icon: _icons.undoIcon,
370
370
  label: 'Undo'
371
371
  };
372
372
  exports.UNDO_TOOL = UNDO_TOOL;
373
- var REDO_TOOL = {
373
+ const REDO_TOOL = {
374
374
  id: "".concat(PREFIX_ID, "redo"),
375
375
  type: _tools.ActionsEnum.redo,
376
376
  icon: _icons.redoIcon,
377
377
  label: 'Redo'
378
378
  };
379
379
  exports.REDO_TOOL = REDO_TOOL;
380
- var CLEAR_TOOL = {
380
+ const CLEAR_TOOL = {
381
381
  id: "".concat(PREFIX_ID, "clear"),
382
382
  type: _tools.ActionsEnum.clear,
383
383
  icon: _icons.clearIcon,
384
384
  label: 'Clear'
385
385
  };
386
386
  exports.CLEAR_TOOL = CLEAR_TOOL;
387
- var EXPORT_TOOL = {
387
+ const EXPORT_TOOL = {
388
388
  id: "".concat(PREFIX_ID, "export"),
389
- type: _tools.ActionsEnum["export"],
389
+ type: _tools.ActionsEnum.export,
390
390
  icon: _icons.exportFileIcon,
391
391
  label: 'Export PNG'
392
392
  };
393
393
  exports.EXPORT_TOOL = EXPORT_TOOL;
394
- var LOAD_TOOL = {
394
+ const LOAD_TOOL = {
395
395
  id: "".concat(PREFIX_ID, "load"),
396
396
  type: _tools.ActionsEnum.loadFile,
397
397
  icon: _icons.openFileIcon,
398
398
  label: 'Load project'
399
399
  };
400
400
  exports.LOAD_TOOL = LOAD_TOOL;
401
- var SAVE_TOOL = {
401
+ const SAVE_TOOL = {
402
402
  id: "".concat(PREFIX_ID, "save"),
403
403
  type: _tools.ActionsEnum.saveFile,
404
404
  icon: _icons.saveIcon,
405
405
  label: 'Save project'
406
406
  };
407
407
  exports.SAVE_TOOL = SAVE_TOOL;
408
- var MOVE_TOOL = {
408
+ const MOVE_TOOL = {
409
409
  id: "".concat(PREFIX_ID, "move"),
410
410
  type: _tools.ActionsEnum.move,
411
411
  icon: _icons.cursorIcon,
412
412
  label: 'Move'
413
413
  };
414
414
  exports.MOVE_TOOL = MOVE_TOOL;
415
- var UPLOAD_PICTURE_TOOL = {
415
+ const UPLOAD_PICTURE_TOOL = {
416
416
  id: "".concat(PREFIX_ID, "upload-picture"),
417
417
  type: _tools.ActionsEnum.uploadPicture,
418
418
  icon: _icons.pictureIcon,
419
419
  label: 'Upload picture'
420
420
  };
421
421
  exports.UPLOAD_PICTURE_TOOL = UPLOAD_PICTURE_TOOL;
422
- var ADD_URL_PICTURE_TOOL = {
422
+ const ADD_URL_PICTURE_TOOL = {
423
423
  id: "".concat(PREFIX_ID, "upload-picture"),
424
424
  type: _tools.ActionsEnum.addUrlPicture,
425
425
  icon: _icons.pictureIcon,
@@ -1,27 +1,20 @@
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) {
10
+ const useComponent = _ref => {
11
+ let {
12
+ disabled,
13
+ componentRef
14
+ } = _ref;
15
+ const [isInsideComponent, setIsInsideComponent] = (0, _react.useState)(false);
16
+ (0, _react.useEffect)(() => {
17
+ const onDetectClick = event => {
25
18
  setIsInsideComponent(!(event.target instanceof Node) || !componentRef.current ? false : componentRef.current.contains(event.target));
26
19
  };
27
20
 
@@ -36,7 +29,7 @@ var useComponent = function useComponent(_ref) {
36
29
  });
37
30
  }
38
31
 
39
- return function () {
32
+ return () => {
40
33
  if (!disabled) {
41
34
  document.removeEventListener('mousedown', onDetectClick);
42
35
  document.removeEventListener('touchstart', onDetectClick);
@@ -44,9 +37,9 @@ var useComponent = function useComponent(_ref) {
44
37
  };
45
38
  }, [disabled, componentRef]);
46
39
  return {
47
- isInsideComponent: isInsideComponent
40
+ isInsideComponent
48
41
  };
49
42
  };
50
43
 
51
44
  var _default = useComponent;
52
- exports["default"] = _default;
45
+ 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;