react-design-editor 0.0.37 → 0.0.41

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 (99) hide show
  1. package/dist/react-design-editor.js +773 -726
  2. package/dist/react-design-editor.min.js +1 -1
  3. package/lib/Canvas.d.ts +18 -0
  4. package/lib/Canvas.js +172 -0
  5. package/lib/CanvasObject.d.ts +10 -0
  6. package/lib/CanvasObject.js +96 -0
  7. package/lib/constants/code.d.ts +19 -0
  8. package/lib/constants/code.js +22 -0
  9. package/lib/constants/defaults.d.ts +38 -0
  10. package/lib/constants/defaults.js +69 -0
  11. package/lib/constants/index.d.ts +3 -0
  12. package/lib/constants/index.js +26 -0
  13. package/lib/handlers/AlignmentHandler.d.ts +18 -0
  14. package/lib/handlers/AlignmentHandler.js +58 -0
  15. package/lib/handlers/AnimationHandler.d.ts +50 -0
  16. package/lib/handlers/AnimationHandler.js +323 -0
  17. package/lib/handlers/ChartHandler.d.ts +8 -0
  18. package/lib/handlers/ChartHandler.js +8 -0
  19. package/lib/handlers/ContextmenuHandler.d.ts +28 -0
  20. package/lib/handlers/ContextmenuHandler.js +65 -0
  21. package/lib/handlers/CropHandler.d.ts +43 -0
  22. package/lib/handlers/CropHandler.js +261 -0
  23. package/lib/handlers/CustomHandler.d.ts +7 -0
  24. package/lib/handlers/CustomHandler.js +10 -0
  25. package/lib/handlers/DrawingHandler.d.ts +28 -0
  26. package/lib/handlers/DrawingHandler.js +318 -0
  27. package/lib/handlers/ElementHandler.d.ts +80 -0
  28. package/lib/handlers/ElementHandler.js +154 -0
  29. package/lib/handlers/EventHandler.d.ts +170 -0
  30. package/lib/handlers/EventHandler.js +880 -0
  31. package/lib/handlers/FiberHandler.d.ts +6 -0
  32. package/lib/handlers/FiberHandler.js +23 -0
  33. package/lib/handlers/GridHandler.d.ts +19 -0
  34. package/lib/handlers/GridHandler.js +77 -0
  35. package/lib/handlers/GuidelineHandler.d.ts +61 -0
  36. package/lib/handlers/GuidelineHandler.js +315 -0
  37. package/lib/handlers/Handler.d.ts +622 -0
  38. package/lib/handlers/Handler.js +1640 -0
  39. package/lib/handlers/ImageHandler.d.ts +307 -0
  40. package/lib/handlers/ImageHandler.js +529 -0
  41. package/lib/handlers/InteractionHandler.d.ts +45 -0
  42. package/lib/handlers/InteractionHandler.js +164 -0
  43. package/lib/handlers/LinkHandler.d.ts +115 -0
  44. package/lib/handlers/LinkHandler.js +247 -0
  45. package/lib/handlers/NodeHandler.d.ts +50 -0
  46. package/lib/handlers/NodeHandler.js +274 -0
  47. package/lib/handlers/PortHandler.d.ts +22 -0
  48. package/lib/handlers/PortHandler.js +179 -0
  49. package/lib/handlers/ShortcutHandler.d.ts +119 -0
  50. package/lib/handlers/ShortcutHandler.js +151 -0
  51. package/lib/handlers/TooltipHandler.d.ts +33 -0
  52. package/lib/handlers/TooltipHandler.js +91 -0
  53. package/lib/handlers/TransactionHandler.d.ts +59 -0
  54. package/lib/handlers/TransactionHandler.js +137 -0
  55. package/lib/handlers/WorkareaHandler.d.ts +43 -0
  56. package/lib/handlers/WorkareaHandler.js +354 -0
  57. package/lib/handlers/ZoomHandler.d.ts +48 -0
  58. package/lib/handlers/ZoomHandler.js +143 -0
  59. package/lib/handlers/index.d.ts +23 -0
  60. package/lib/handlers/index.js +48 -0
  61. package/lib/index.d.ts +6 -0
  62. package/lib/index.js +20 -0
  63. package/lib/objects/Arrow.d.ts +2 -0
  64. package/lib/objects/Arrow.js +40 -0
  65. package/lib/objects/Chart.d.ts +10 -0
  66. package/lib/objects/Chart.js +124 -0
  67. package/lib/objects/CirclePort.d.ts +2 -0
  68. package/lib/objects/CirclePort.js +28 -0
  69. package/lib/objects/Cube.d.ts +5 -0
  70. package/lib/objects/Cube.js +71 -0
  71. package/lib/objects/CurvedLink.d.ts +2 -0
  72. package/lib/objects/CurvedLink.js +51 -0
  73. package/lib/objects/Element.d.ts +13 -0
  74. package/lib/objects/Element.js +84 -0
  75. package/lib/objects/Gif.d.ts +3 -0
  76. package/lib/objects/Gif.js +41 -0
  77. package/lib/objects/Iframe.d.ts +9 -0
  78. package/lib/objects/Iframe.js +70 -0
  79. package/lib/objects/Line.d.ts +2 -0
  80. package/lib/objects/Line.js +24 -0
  81. package/lib/objects/Link.d.ts +15 -0
  82. package/lib/objects/Link.js +106 -0
  83. package/lib/objects/Node.d.ts +59 -0
  84. package/lib/objects/Node.js +271 -0
  85. package/lib/objects/OrthogonalLink.d.ts +2 -0
  86. package/lib/objects/OrthogonalLink.js +54 -0
  87. package/lib/objects/Port.d.ts +12 -0
  88. package/lib/objects/Port.js +28 -0
  89. package/lib/objects/Svg.d.ts +8 -0
  90. package/lib/objects/Svg.js +77 -0
  91. package/lib/objects/Video.d.ts +14 -0
  92. package/lib/objects/Video.js +120 -0
  93. package/lib/objects/index.d.ts +15 -0
  94. package/lib/objects/index.js +32 -0
  95. package/lib/utils/ObjectUtil.d.ts +407 -0
  96. package/lib/utils/ObjectUtil.js +13 -0
  97. package/lib/utils/index.d.ts +1 -0
  98. package/lib/utils/index.js +13 -0
  99. package/package.json +1 -1
@@ -0,0 +1,529 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.capitalize = exports.FILTER_TYPES = void 0;
7
+ const fabric_1 = require("fabric");
8
+ const isEqual_1 = __importDefault(require("lodash/isEqual"));
9
+ exports.FILTER_TYPES = [
10
+ 'grayscale',
11
+ 'invert',
12
+ 'remove-color',
13
+ 'sepia',
14
+ 'brownie',
15
+ 'brightness',
16
+ 'contrast',
17
+ 'saturation',
18
+ 'noise',
19
+ 'vintage',
20
+ 'pixelate',
21
+ 'blur',
22
+ 'sharpen',
23
+ 'emboss',
24
+ 'technicolor',
25
+ 'polaroid',
26
+ 'blend-color',
27
+ 'gamma',
28
+ 'kodachrome',
29
+ 'blackwhite',
30
+ 'blend-image',
31
+ 'hue',
32
+ 'resize',
33
+ 'tint',
34
+ 'mask',
35
+ 'multiply',
36
+ 'sepia2',
37
+ ];
38
+ exports.capitalize = (str) => (str ? str.charAt(0).toUpperCase() + str.slice(1) : false);
39
+ const SHARPEN_MATRIX = [0, -1, 0, -1, 5, -1, 0, -1, 0];
40
+ const EMBOSS_MATRIX = [1, 1, 1, 1, 0.7, -1, -1, -1, -1];
41
+ /**
42
+ * Image Handler
43
+ * @author salgum1114
44
+ * @date 2019-09-01
45
+ * @class ImageHandler
46
+ * @implements {IBaseHandler}
47
+ */
48
+ class ImageHandler {
49
+ constructor(handler) {
50
+ /**
51
+ * Create filter by type
52
+ * @param {IFilter} filter
53
+ */
54
+ this.createFilter = (filter) => {
55
+ const { type: filterType, ...other } = filter;
56
+ const type = filterType.toLowerCase();
57
+ if (type === 'grayscale') {
58
+ return new fabric_1.fabric.Image.filters.Grayscale(other);
59
+ }
60
+ else if (type === 'invert') {
61
+ return new fabric_1.fabric.Image.filters.Invert();
62
+ // } else if (type === 'remove-color') {
63
+ // return new fabric.Image.filters.RemoveColor(other);
64
+ }
65
+ else if (type === 'sepia') {
66
+ return new fabric_1.fabric.Image.filters.Sepia();
67
+ // } else if (type === 'brownie') {
68
+ // return new fabric.Image.filters.Brownie();
69
+ }
70
+ else if (type === 'brightness') {
71
+ return new fabric_1.fabric.Image.filters.Brightness({ brightness: other.brightness });
72
+ }
73
+ else if (type === 'contrast') {
74
+ return new fabric_1.fabric.Image.filters.Contrast(other);
75
+ }
76
+ else if (type === 'saturation') {
77
+ return new fabric_1.fabric.Image.filters.Saturation(other);
78
+ }
79
+ else if (type === 'noise') {
80
+ return new fabric_1.fabric.Image.filters.Noise({ noise: other.noise });
81
+ // } else if (type === 'vintage') {
82
+ // return new fabric.Image.filters.Vintage();
83
+ }
84
+ else if (type === 'pixelate') {
85
+ return new fabric_1.fabric.Image.filters.Pixelate(other);
86
+ // } else if (type === 'blur') {
87
+ // return new fabric.Image.filters.Blur(other);
88
+ }
89
+ else if (type === 'sharpen') {
90
+ return new fabric_1.fabric.Image.filters.Convolute({
91
+ matrix: SHARPEN_MATRIX,
92
+ });
93
+ }
94
+ else if (type === 'emboss') {
95
+ return new fabric_1.fabric.Image.filters.Convolute({
96
+ matrix: EMBOSS_MATRIX,
97
+ });
98
+ // } else if (type === 'technicolor') {
99
+ // return new fabric.Image.filters.Technicolor();
100
+ // } else if (type === 'polaroid') {
101
+ // return new fabric.Image.filters.Polaroid();
102
+ }
103
+ else if (type === 'blend-color') {
104
+ return new fabric_1.fabric.Image.filters.BlendColor(other);
105
+ // } else if (type === 'gamma') {
106
+ // return new fabric.Image.filters.Gamma(other);
107
+ // } else if (type === 'kodachrome') {
108
+ // return new fabric.Image.filters.Kodachrome();
109
+ // } else if (type === 'blackwhite') {
110
+ // return new fabric.Image.filters.BlackWhite();
111
+ }
112
+ else if (type === 'blend-image') {
113
+ return new fabric_1.fabric.Image.filters.BlendImage(other);
114
+ // } else if (type === 'hue') {
115
+ // return new fabric.Image.filters.HueRotation(other);
116
+ }
117
+ else if (type === 'resize') {
118
+ return new fabric_1.fabric.Image.filters.Resize(other);
119
+ }
120
+ else if (type === 'tint') {
121
+ return new fabric_1.fabric.Image.filters.Tint(other);
122
+ }
123
+ else if (type === 'mask') {
124
+ return new fabric_1.fabric.Image.filters.Mask({
125
+ channel: other.channel,
126
+ mask: other.mask,
127
+ });
128
+ }
129
+ else if (type === 'multiply') {
130
+ return new fabric_1.fabric.Image.filters.Multiply({
131
+ color: other.color,
132
+ });
133
+ }
134
+ else if (type === 'sepia2') {
135
+ return new fabric_1.fabric.Image.filters.Sepia2(other);
136
+ }
137
+ return false;
138
+ };
139
+ /**
140
+ * Create filter by types
141
+ * @param {IFilter[]} filters
142
+ */
143
+ this.createFilters = (filters) => {
144
+ const createdFilters = filters.reduce((prev, filter) => {
145
+ let type = filter.type;
146
+ if (type.toLowerCase() === 'convolute' && isEqual_1.default(filter.matrix, SHARPEN_MATRIX)) {
147
+ type = 'sharpen';
148
+ }
149
+ else if (type.toLowerCase() === 'convolute' && isEqual_1.default(filter.matrix, EMBOSS_MATRIX)) {
150
+ type = 'emboss';
151
+ }
152
+ const findIndex = exports.FILTER_TYPES.findIndex(filterType => type.toLowerCase() === filterType);
153
+ if (findIndex > -1) {
154
+ prev[findIndex] = this.createFilter({
155
+ ...filter,
156
+ type,
157
+ });
158
+ }
159
+ return prev;
160
+ }, []);
161
+ return createdFilters;
162
+ };
163
+ /**
164
+ * Apply filter by type
165
+ * @param {string} type
166
+ * @param {*} [value]
167
+ * @param {fabric.Image} [imageObj]
168
+ */
169
+ this.applyFilterByType = (type, apply = true, value, imageObj) => {
170
+ const obj = imageObj || this.handler.canvas.getActiveObject();
171
+ const findIndex = exports.FILTER_TYPES.findIndex(ft => ft === type);
172
+ if (obj.filters && findIndex > -1) {
173
+ if (apply) {
174
+ obj.filters[findIndex] = this.createFilter({
175
+ type,
176
+ ...value,
177
+ });
178
+ obj.applyFilters();
179
+ }
180
+ else {
181
+ obj.filters[findIndex] = false;
182
+ obj.applyFilters();
183
+ }
184
+ this.handler.canvas.requestRenderAll();
185
+ }
186
+ };
187
+ /**
188
+ * Apply filter in image
189
+ * @param {fabric.Image} [imageObj]
190
+ * @param {number} index
191
+ * @param {fabric.IBaseFilter} filter
192
+ */
193
+ this.applyFilter = (index, filter, imageObj) => {
194
+ const obj = imageObj || this.handler.canvas.getActiveObject();
195
+ if (obj.filters) {
196
+ obj.filters[index] = filter;
197
+ obj.applyFilters();
198
+ this.handler.canvas.requestRenderAll();
199
+ }
200
+ };
201
+ /**
202
+ * Apply filter value in image
203
+ * @param {fabric.Image} [imageObj]
204
+ * @param {number} index
205
+ * @param {string} prop
206
+ * @param {any} value
207
+ */
208
+ this.applyFilterValue = (index, prop, value, imageObj) => {
209
+ const obj = imageObj || this.handler.canvas.getActiveObject();
210
+ if (obj.filters) {
211
+ const filter = obj.filters[index];
212
+ if (filter) {
213
+ filter.setOptions({
214
+ [prop]: value,
215
+ });
216
+ obj.applyFilters();
217
+ this.handler.canvas.requestRenderAll();
218
+ }
219
+ }
220
+ };
221
+ /**
222
+ * Apply grayscale in image
223
+ * @param {fabric.Image} [imageObj]
224
+ * @param {boolean} [grayscale=false]
225
+ * @param {GrayscaleModeType} [value]
226
+ */
227
+ this.applyGrayscale = (grayscale = false, value, imageObj) => {
228
+ this.applyFilter(0, grayscale &&
229
+ new fabric_1.fabric.Image.filters.Grayscale(value
230
+ ? {
231
+ mode: value,
232
+ }
233
+ : undefined), imageObj);
234
+ };
235
+ /**
236
+ * Apply invert in image
237
+ * @param {fabric.Image} [imageObj]
238
+ * @param {boolean} [invert=false]
239
+ */
240
+ this.applyInvert = (invert = false, imageObj) => {
241
+ this.applyFilter(1, invert && new fabric_1.fabric.Image.filters.Invert(), imageObj);
242
+ };
243
+ /**
244
+ * Apply remove color in image
245
+ * @param {fabric.Image} [imageObj]
246
+ * @param {boolean} [removeColor=false]
247
+ * @param {RemoveColorFilter} [value]
248
+ */
249
+ // public applyRemoveColor = (removeColor = false, value?: RemoveColorFilter, imageObj?: fabric.Image): void => {
250
+ // this.applyFilter(2, removeColor && new fabric.Image.filters.RemoveColor(value), imageObj);
251
+ // }
252
+ /**
253
+ * Apply sepia in image
254
+ * @param {fabric.Image} [imageObj]
255
+ * @param {boolean} [sepia=false]
256
+ */
257
+ this.applySepia = (sepia = false, imageObj) => {
258
+ this.applyFilter(3, sepia && new fabric_1.fabric.Image.filters.Sepia(), imageObj);
259
+ };
260
+ /**
261
+ * Apply brownie in image
262
+ * @param {boolean} [brownie=false]
263
+ * @param {fabric.Image} [imageObj]
264
+ */
265
+ // public applyBrownie = (brownie = false, imageObj?: fabric.Image): void => {
266
+ // this.applyFilter(4, brownie && new fabric.Image.filters.Brownie(), imageObj);
267
+ // }
268
+ /**
269
+ * Apply brightness in image
270
+ * @param {boolean} [brightness=false]
271
+ * @param {number} [value]
272
+ * @param {fabric.Image} [imageObj]
273
+ */
274
+ this.applyBrightness = (brightness = false, value, imageObj) => {
275
+ this.applyFilter(5, brightness &&
276
+ new fabric_1.fabric.Image.filters.Brightness(value
277
+ ? {
278
+ brightness: value,
279
+ }
280
+ : undefined), imageObj);
281
+ };
282
+ /**
283
+ * Apply contrast in image
284
+ * @param {boolean} [contrast=false]
285
+ * @param {number} [value]
286
+ * @param {fabric.Image} [imageObj]
287
+ */
288
+ this.applyContrast = (contrast = false, value, imageObj) => {
289
+ this.applyFilter(6, contrast &&
290
+ new fabric_1.fabric.Image.filters.Contrast(value
291
+ ? {
292
+ contrast: value,
293
+ }
294
+ : undefined), imageObj);
295
+ };
296
+ /**
297
+ * Apply saturation in image
298
+ * @param {boolean} [saturation=false]
299
+ * @param {number} [value]
300
+ * @param {fabric.Image} [imageObj]
301
+ */
302
+ this.applySaturation = (saturation = false, value, imageObj) => {
303
+ this.applyFilter(7, saturation &&
304
+ new fabric_1.fabric.Image.filters.Saturation(value
305
+ ? {
306
+ saturation: value,
307
+ }
308
+ : undefined), imageObj);
309
+ };
310
+ /**
311
+ * Apply noise in image
312
+ * @param {boolean} [noise=false]
313
+ * @param {number} [value]
314
+ * @param {fabric.Image} [imageObj]
315
+ */
316
+ this.applyNoise = (noise = false, value, imageObj) => {
317
+ this.applyFilter(8, noise &&
318
+ new fabric_1.fabric.Image.filters.Noise(value
319
+ ? {
320
+ noise: value,
321
+ }
322
+ : undefined), imageObj);
323
+ };
324
+ /**
325
+ * Apply vintage in image
326
+ * @param {boolean} [vintage=false]
327
+ * @param {fabric.Image} [imageObj]
328
+ */
329
+ // public applyVintage = (vintage = false, imageObj?: fabric.Image): void => {
330
+ // this.applyFilter(9, vintage && new fabric.Image.filters.Vintage(), imageObj);
331
+ // }
332
+ /**
333
+ * Apply pixelate in image
334
+ * @param {boolean} [pixelate=false]
335
+ * @param {number} [value]
336
+ * @param {fabric.Image} [imageObj]
337
+ */
338
+ this.applyPixelate = (pixelate = false, value, imageObj) => {
339
+ this.applyFilter(10, pixelate &&
340
+ new fabric_1.fabric.Image.filters.Pixelate(value
341
+ ? {
342
+ blocksize: value,
343
+ }
344
+ : undefined), imageObj);
345
+ };
346
+ /**
347
+ * Apply blur in image
348
+ * @param {boolean} [blur=false]
349
+ * @param {number} [value]
350
+ * @param {fabric.Image} imageObj
351
+ */
352
+ // public applyBlur = (blur = false, value?: number, imageObj?: fabric.Image): void => {
353
+ // this.applyFilter(11, blur && new fabric.Image.filters.Blur(value ? {
354
+ // value,
355
+ // } : undefined), imageObj);
356
+ // }
357
+ /**
358
+ * Apply sharpen in image
359
+ * @param {boolean} [sharpen=false]
360
+ * @param {number[]} [value=[0, -1, 0, -1, 5, -1, 0, -1, 0]]
361
+ * @param {fabric.Image} [imageObj]
362
+ */
363
+ this.applySharpen = (sharpen = false, value = SHARPEN_MATRIX, imageObj) => {
364
+ this.applyFilter(12, sharpen &&
365
+ new fabric_1.fabric.Image.filters.Convolute(value
366
+ ? {
367
+ matrix: value,
368
+ }
369
+ : undefined), imageObj);
370
+ };
371
+ /**
372
+ * Apply emboss in image
373
+ * @param {boolean} [emboss=false]
374
+ * @param {number[]} [value=[1, 1, 1, 1, 0.7, -1, -1, -1, -1]]
375
+ * @param {fabric.Image} [imageObj]
376
+ */
377
+ this.applyEmboss = (emboss = false, value = EMBOSS_MATRIX, imageObj) => {
378
+ this.applyFilter(13, emboss &&
379
+ new fabric_1.fabric.Image.filters.Convolute(value
380
+ ? {
381
+ matrix: value,
382
+ }
383
+ : undefined), imageObj);
384
+ };
385
+ /**
386
+ * Apply technicolor in image
387
+ * @param {boolean} [technicolor=false]
388
+ * @param {fabric.Image} [imageObj]
389
+ */
390
+ // public applyTechnicolor = (technicolor = false, imageObj?: fabric.Image): void => {
391
+ // this.applyFilter(14, technicolor && new fabric.Image.filters.Technicolor(), imageObj);
392
+ // }
393
+ /**
394
+ * Apply polaroid in image
395
+ * @param {boolean} [polaroid=false]
396
+ * @param {fabric.Image} [imageObj]
397
+ */
398
+ // public applyPolaroid = (polaroid = false, imageObj?: fabric.Image): void => {
399
+ // this.applyFilter(15, polaroid && new fabric.Image.filters.Polaroid(), imageObj);
400
+ // }
401
+ /**
402
+ * Apply blend color in image
403
+ * @param {boolean} [blend=false]
404
+ * @param {BlendColorFilter} [value]
405
+ * @param {fabric.Image} [imageObj]
406
+ */
407
+ this.applyBlendColor = (blend = false, value, imageObj) => {
408
+ this.applyFilter(16, blend && new fabric_1.fabric.Image.filters.BlendColor(value), imageObj);
409
+ };
410
+ /**
411
+ * Apply gamma in image
412
+ * @param {boolean} [gamma=false]
413
+ * @param {GammaFilter} [value]
414
+ * @param {fabric.Image} [imageObj]
415
+ */
416
+ // public applyGamma = (gamma = false, value?: GammaFilter, imageObj?: fabric.Image): void => {
417
+ // this.applyFilter(17, gamma && new fabric.Image.filters.Gamma(value), imageObj);
418
+ // }
419
+ /**
420
+ * Apply kodachrome in image
421
+ * @param {boolean} [kodachrome=false]
422
+ * @param {fabric.Image} [imageObj]
423
+ */
424
+ // public applyKodachrome = (kodachrome = false, imageObj?: fabric.Image): void => {
425
+ // this.applyFilter(18, kodachrome && new fabric.Image.filters.Kodachrome(), imageObj);
426
+ // }
427
+ /**
428
+ * Apply black white in image
429
+ * @param {boolean} [blackWhite=false]
430
+ * @param {fabric.Image} [imageObj]
431
+ */
432
+ // public applyBlackWhite = (blackWhite = false, imageObj?: fabric.Image): void => {
433
+ // this.applyFilter(19, blackWhite && new fabric.Image.filters.BlackWhite(), imageObj);
434
+ // }
435
+ /**
436
+ * Apply blend image in image
437
+ * @param {boolean} [blendImage=false]
438
+ * @param {BlendImageFilter} value
439
+ * @param {fabric.Image} [imageObj]
440
+ */
441
+ this.applyBlendImage = (blendImage = false, value, imageObj) => {
442
+ this.applyFilter(20, blendImage && new fabric_1.fabric.Image.filters.BlendImage(value), imageObj);
443
+ };
444
+ /**
445
+ * Apply hue rotation in image
446
+ * @param {boolean} [hue=false]
447
+ * @param {HueRotationFilter} [value]
448
+ * @param {fabric.Image} [imageObj]
449
+ */
450
+ // public applyHue = (hue = false, value?: HueRotationFilter, imageObj?: fabric.Image): void => {
451
+ // this.applyFilter(21, hue && new fabric.Image.filters.HueRotation(value ? {
452
+ // rotation: value,
453
+ // } : undefined), imageObj);
454
+ // }
455
+ /**
456
+ * Apply resize in image
457
+ * @param {boolean} [resize=false]
458
+ * @param {ResizeFilter} [value]
459
+ * @param {fabric.Image} [imageObj]
460
+ */
461
+ this.applyResize = (resize = false, value, imageObj) => {
462
+ this.applyFilter(22, resize && new fabric_1.fabric.Image.filters.Resize(value), imageObj);
463
+ };
464
+ /**
465
+ * Apply tint in image
466
+ * @param {boolean} [tint=false]
467
+ * @param {TintFilter} [value]
468
+ * @param {fabric.Image} [imageObj]
469
+ */
470
+ this.applyTint = (tint = false, value, imageObj) => {
471
+ this.applyFilter(23, tint && new fabric_1.fabric.Image.filters.Tint(value), imageObj);
472
+ };
473
+ /**
474
+ * Apply mask in image
475
+ * @param {boolean} [mask=false]
476
+ * @param {MaskFilter} [value]
477
+ * @param {fabric.Image} [imageObj]
478
+ */
479
+ this.applyMask = (mask = false, value, imageObj) => {
480
+ this.applyFilter(24, mask && new fabric_1.fabric.Image.filters.Mask(value), imageObj);
481
+ };
482
+ /**
483
+ * Apply multiply in image
484
+ * @param {boolean} [multiply=false]
485
+ * @param {MultiplyFilter} [value]
486
+ * @param {fabric.Image} [imageObj]
487
+ */
488
+ this.applyMultiply = (multiply = false, value, imageObj) => {
489
+ this.applyFilter(25, multiply && new fabric_1.fabric.Image.filters.Multiply(value), imageObj);
490
+ };
491
+ /**
492
+ * Apply sepia2 in image
493
+ * @param {boolean} [sepia2=false]
494
+ * @param {fabric.Image} [imageObj]
495
+ */
496
+ this.applySepia2 = (sepia2 = false, imageObj) => {
497
+ this.applyFilter(26, sepia2 && new fabric_1.fabric.Image.filters.Sepia2(), imageObj);
498
+ };
499
+ /**
500
+ * Apply gradient transparency in image
501
+ * @param {boolean} [gradientTransparency=false]
502
+ * @param {GradientTransparencyFilter} [value]
503
+ * @param {fabric.Image} [imageObj]
504
+ */
505
+ this.applyGradientTransparency = (gradientTransparency = false, value, imageObj) => {
506
+ this.applyFilter(27, gradientTransparency && new fabric_1.fabric.Image.filters.GradientTransparency(value), imageObj);
507
+ };
508
+ /**
509
+ * Apply color matrix in image
510
+ * @param {boolean} [colorMatrix=false]
511
+ * @param {ColorMatrixFilter} [value]
512
+ * @param {fabric.Image} [imageObj]
513
+ */
514
+ this.applyColorMatrix = (colorMatrix = false, value, imageObj) => {
515
+ this.applyFilter(28, colorMatrix && new fabric_1.fabric.Image.filters.ColorMatrix(value), imageObj);
516
+ };
517
+ /**
518
+ * Apply remove white in image
519
+ * @param {boolean} [removeWhite=false]
520
+ * @param {RemoveWhiteFilter} [value]
521
+ * @param {fabric.Image} [imageObj]
522
+ */
523
+ this.applyRemoveWhite = (removeWhite = false, value, imageObj) => {
524
+ this.applyFilter(29, removeWhite && new fabric_1.fabric.Image.filters.RemoveWhite(value), imageObj);
525
+ };
526
+ this.handler = handler;
527
+ }
528
+ }
529
+ exports.default = ImageHandler;
@@ -0,0 +1,45 @@
1
+ import { FabricObject, InteractionMode } from '../utils';
2
+ import Handler from './Handler';
3
+ declare type IReturnType = {
4
+ selectable?: boolean;
5
+ evented?: boolean;
6
+ } | boolean;
7
+ declare class InteractionHandler {
8
+ handler: Handler;
9
+ constructor(handler: Handler);
10
+ /**
11
+ * Change selection mode
12
+ * @param {(obj: FabricObject) => IReturnType} [callback]
13
+ */
14
+ selection: (callback?: (obj: FabricObject) => IReturnType) => void;
15
+ /**
16
+ * Change grab mode
17
+ * @param {(obj: FabricObject) => IReturnType} [callback]
18
+ */
19
+ grab: (callback?: (obj: FabricObject) => IReturnType) => void;
20
+ /**
21
+ * Change drawing mode
22
+ * @param {InteractionMode} [type]
23
+ * @param {(obj: FabricObject) => IReturnType} [callback]
24
+ */
25
+ drawing: (type?: InteractionMode, callback?: (obj: FabricObject) => IReturnType) => void;
26
+ linking: (callback?: (obj: FabricObject) => IReturnType) => void;
27
+ /**
28
+ * Moving objects in grap mode
29
+ * @param {MouseEvent} e
30
+ */
31
+ moving: (e: MouseEvent) => void;
32
+ /**
33
+ * Whether is drawing mode
34
+ * @returns
35
+ */
36
+ isDrawingMode: () => boolean;
37
+ /**
38
+ * Interaction callback
39
+ *
40
+ * @param {FabricObject} obj
41
+ * @param {(obj: FabricObject) => void} [callback]
42
+ */
43
+ private interactionCallback;
44
+ }
45
+ export default InteractionHandler;