@threedddplus/logoeditor 0.0.66 → 0.0.68
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.
- package/dist/data.d.ts +44 -0
- package/dist/logoeditor.cjs.development.js +159 -26
- package/dist/logoeditor.cjs.development.js.map +1 -1
- package/dist/logoeditor.cjs.production.min.js +1 -1
- package/dist/logoeditor.cjs.production.min.js.map +1 -1
- package/dist/logoeditor.esm.js +159 -26
- package/dist/logoeditor.esm.js.map +1 -1
- package/dist/store/converters/index.d.ts +1 -1
- package/example/index.tsx +4 -31
- package/package.json +1 -1
package/dist/data.d.ts
CHANGED
@@ -21,6 +21,50 @@ export declare const optionpresets: {
|
|
21
21
|
blurradius: number;
|
22
22
|
blurdelta: number;
|
23
23
|
};
|
24
|
+
png: {
|
25
|
+
corsenabled: boolean;
|
26
|
+
ltres: number;
|
27
|
+
qtres: number;
|
28
|
+
pathomit: number;
|
29
|
+
rightangleenhance: boolean;
|
30
|
+
colorsampling: number;
|
31
|
+
numberofcolors: number;
|
32
|
+
mincolorratio: number;
|
33
|
+
colorquantcycles: number;
|
34
|
+
layering: number;
|
35
|
+
strokewidth: number;
|
36
|
+
linefilter: boolean;
|
37
|
+
scale: number;
|
38
|
+
roundcoords: number;
|
39
|
+
viewbox: boolean;
|
40
|
+
desc: boolean;
|
41
|
+
lcpr: number;
|
42
|
+
qcpr: number;
|
43
|
+
blurradius: number;
|
44
|
+
blurdelta: number;
|
45
|
+
};
|
46
|
+
jpg: {
|
47
|
+
corsenabled: boolean;
|
48
|
+
ltres: number;
|
49
|
+
qtres: number;
|
50
|
+
pathomit: number;
|
51
|
+
rightangleenhance: boolean;
|
52
|
+
colorsampling: number;
|
53
|
+
numberofcolors: number;
|
54
|
+
mincolorratio: number;
|
55
|
+
colorquantcycles: number;
|
56
|
+
layering: number;
|
57
|
+
strokewidth: number;
|
58
|
+
linefilter: boolean;
|
59
|
+
scale: number;
|
60
|
+
roundcoords: number;
|
61
|
+
viewbox: boolean;
|
62
|
+
desc: boolean;
|
63
|
+
lcpr: number;
|
64
|
+
qcpr: number;
|
65
|
+
blurradius: number;
|
66
|
+
blurdelta: number;
|
67
|
+
};
|
24
68
|
posterized1: {
|
25
69
|
colorsampling: number;
|
26
70
|
numberofcolors: number;
|
@@ -2420,15 +2420,45 @@ var fabricSlice = function fabricSlice(set, get) {
|
|
2420
2420
|
clonedObj.canvas = get().fabricCanvas;
|
2421
2421
|
clonedObj.forEachObject(function (obj, index) {
|
2422
2422
|
obj.colorFill = activeObj._objects[index].colorFill;
|
2423
|
+
// copy all path text data & clone text props as well(text with shapes applied)
|
2424
|
+
if (activeObj.type === 'path' && activeObj.pathData !== undefined) {
|
2425
|
+
obj.pathData = activeObj.pathData;
|
2426
|
+
obj.shapeSize = activeObj.shapeSize;
|
2427
|
+
obj.shapeType = activeObj.shapeType;
|
2428
|
+
obj.fontFamily = activeObj.fontFamily;
|
2429
|
+
obj.fontWeight = activeObj.fontWeight;
|
2430
|
+
obj.fontSize = activeObj.fontSize;
|
2431
|
+
obj.charSpacing = activeObj.charSpacing;
|
2432
|
+
obj.textAlign = activeObj.textAlign;
|
2433
|
+
obj.fontStyle = activeObj.fontStyle;
|
2434
|
+
obj.text = activeObj.text;
|
2435
|
+
}
|
2423
2436
|
get().fabricCanvas.add(obj);
|
2424
2437
|
});
|
2425
2438
|
clonedObj.setCoords();
|
2426
2439
|
} else {
|
2427
2440
|
clonedObj.colorFill = activeObj.colorFill;
|
2441
|
+
// copy all path text data & clone text props as well(text with shapes applied)
|
2442
|
+
if (activeObj.type === 'path' && activeObj.pathData !== undefined) {
|
2443
|
+
clonedObj.pathData = activeObj.pathData;
|
2444
|
+
clonedObj.shapeSize = activeObj.shapeSize;
|
2445
|
+
clonedObj.shapeType = activeObj.shapeType;
|
2446
|
+
clonedObj.fontFamily = activeObj.fontFamily;
|
2447
|
+
clonedObj.fontWeight = activeObj.fontWeight;
|
2448
|
+
clonedObj.fontSize = activeObj.fontSize;
|
2449
|
+
clonedObj.charSpacing = activeObj.charSpacing;
|
2450
|
+
clonedObj.textAlign = activeObj.textAlign;
|
2451
|
+
clonedObj.fontStyle = activeObj.fontStyle;
|
2452
|
+
clonedObj.text = activeObj.text;
|
2453
|
+
}
|
2428
2454
|
get().fabricCanvas.add(clonedObj);
|
2429
2455
|
}
|
2430
2456
|
clipboard.top += 20;
|
2431
2457
|
clipboard.left += 20;
|
2458
|
+
if (activeObj && activeObj.shapeType && activeObj.shapeType.length > 0) {
|
2459
|
+
clonedObj.shapeType = activeObj.shapeType;
|
2460
|
+
clonedObj.shapeSize = activeObj.shapeSize;
|
2461
|
+
}
|
2432
2462
|
get().fabricCanvas.setActiveObject(clonedObj);
|
2433
2463
|
clonedObj.set({
|
2434
2464
|
left: clonedObj.left + 20,
|
@@ -3515,7 +3545,7 @@ var optionpresets = {
|
|
3515
3545
|
pathomit: 8,
|
3516
3546
|
rightangleenhance: true,
|
3517
3547
|
// Color quantization
|
3518
|
-
colorsampling:
|
3548
|
+
colorsampling: 1,
|
3519
3549
|
numberofcolors: 8,
|
3520
3550
|
mincolorratio: 0,
|
3521
3551
|
colorquantcycles: 3,
|
@@ -3534,6 +3564,62 @@ var optionpresets = {
|
|
3534
3564
|
blurradius: 0,
|
3535
3565
|
blurdelta: 20
|
3536
3566
|
},
|
3567
|
+
'png': {
|
3568
|
+
// Tracing
|
3569
|
+
corsenabled: true,
|
3570
|
+
ltres: 0.08,
|
3571
|
+
qtres: 0.1,
|
3572
|
+
pathomit: 8,
|
3573
|
+
rightangleenhance: true,
|
3574
|
+
// Color quantization
|
3575
|
+
colorsampling: 10,
|
3576
|
+
numberofcolors: 8,
|
3577
|
+
mincolorratio: 0,
|
3578
|
+
colorquantcycles: 3,
|
3579
|
+
// Layering method
|
3580
|
+
layering: 0,
|
3581
|
+
// SVG rendering
|
3582
|
+
strokewidth: 1,
|
3583
|
+
linefilter: false,
|
3584
|
+
scale: 1,
|
3585
|
+
roundcoords: 1,
|
3586
|
+
viewbox: false,
|
3587
|
+
desc: false,
|
3588
|
+
lcpr: 0,
|
3589
|
+
qcpr: 0,
|
3590
|
+
// Blur
|
3591
|
+
blurradius: 0,
|
3592
|
+
blurdelta: 20 //20
|
3593
|
+
},
|
3594
|
+
|
3595
|
+
'jpg': {
|
3596
|
+
// Tracing
|
3597
|
+
corsenabled: true,
|
3598
|
+
ltres: 0.9,
|
3599
|
+
qtres: 0.9,
|
3600
|
+
pathomit: 16,
|
3601
|
+
rightangleenhance: true,
|
3602
|
+
// Color quantization
|
3603
|
+
colorsampling: 5,
|
3604
|
+
numberofcolors: 8,
|
3605
|
+
mincolorratio: 0,
|
3606
|
+
colorquantcycles: 10,
|
3607
|
+
// Layering method
|
3608
|
+
layering: 0,
|
3609
|
+
// SVG rendering
|
3610
|
+
strokewidth: 1,
|
3611
|
+
linefilter: false,
|
3612
|
+
scale: 1,
|
3613
|
+
roundcoords: 1,
|
3614
|
+
viewbox: false,
|
3615
|
+
desc: false,
|
3616
|
+
lcpr: 0,
|
3617
|
+
qcpr: 0,
|
3618
|
+
// Blur
|
3619
|
+
blurradius: 0.5,
|
3620
|
+
blurdelta: 10 //20
|
3621
|
+
},
|
3622
|
+
|
3537
3623
|
'posterized1': {
|
3538
3624
|
colorsampling: 0,
|
3539
3625
|
numberofcolors: 2
|
@@ -3888,7 +3974,7 @@ var converterSlice = function converterSlice(set, get) {
|
|
3888
3974
|
}
|
3889
3975
|
return loadImageFromURL;
|
3890
3976
|
}(),
|
3891
|
-
imageToSVG: function imageToSVG(data, isSVG, convert) {
|
3977
|
+
imageToSVG: function imageToSVG(data, ext, isSVG, convert) {
|
3892
3978
|
if (isSVG === void 0) {
|
3893
3979
|
isSVG = false;
|
3894
3980
|
}
|
@@ -3917,7 +4003,7 @@ var converterSlice = function converterSlice(set, get) {
|
|
3917
4003
|
imageData: svgstr
|
3918
4004
|
});
|
3919
4005
|
processImage(svgstr, 8);
|
3920
|
-
}, optionpresets["default"]);
|
4006
|
+
}, ext && (ext.toLowerCase() === "jpg" || ext.toLowerCase() === "jpeg") ? optionpresets.jpg : ext.toLowerCase() === "png" ? optionpresets.png : optionpresets["default"]);
|
3921
4007
|
}
|
3922
4008
|
} else {
|
3923
4009
|
processImage(data, 8);
|
@@ -4609,6 +4695,7 @@ var initCanvas = function initCanvas() {
|
|
4609
4695
|
getAllColors();
|
4610
4696
|
};
|
4611
4697
|
var onObjectMoving = function onObjectMoving(e) {
|
4698
|
+
console.log('onMoveing', e);
|
4612
4699
|
use3dddPlus.getState().updateModifaction(false);
|
4613
4700
|
var obj = e.target;
|
4614
4701
|
// if (
|
@@ -4700,14 +4787,14 @@ var initCanvas = function initCanvas() {
|
|
4700
4787
|
return Math.abs(scaledObjCenterX - canvasCenterX) < threshold;
|
4701
4788
|
}
|
4702
4789
|
var horizontalLine = new fabric.fabric.Line([0, canv.height / 2, canv.height, canv.height / 2], {
|
4703
|
-
stroke:
|
4790
|
+
stroke: "red",
|
4704
4791
|
scaleX: 11,
|
4705
4792
|
visible: false,
|
4706
4793
|
selectable: false,
|
4707
4794
|
type: 'line'
|
4708
4795
|
});
|
4709
4796
|
var verticalLine = new fabric.fabric.Line([canv.width / 2, 0, canv.width / 2, canv.width], {
|
4710
|
-
stroke:
|
4797
|
+
stroke: "red",
|
4711
4798
|
visible: false,
|
4712
4799
|
selectable: false,
|
4713
4800
|
type: 'line'
|
@@ -4828,14 +4915,13 @@ var initCanvas = function initCanvas() {
|
|
4828
4915
|
}
|
4829
4916
|
|
4830
4917
|
var removeItem = function removeItem(value) {
|
4831
|
-
//@ts-ignore
|
4918
|
+
//@ts-ignore
|
4832
4919
|
var index = use3dddPlus.getState().storeAllObject.findIndex(function (obj) {
|
4833
4920
|
return obj.id === value.id;
|
4834
4921
|
});
|
4835
4922
|
if (index === -1 && value && value._objects && value._objects.length > 0) {
|
4836
|
-
var index = use3dddPlus.getState()
|
4837
4923
|
//@ts-ignore
|
4838
|
-
.storeAllObject.indexOf(value._objects[0]);
|
4924
|
+
var index = use3dddPlus.getState().storeAllObject.indexOf(value._objects[0]);
|
4839
4925
|
}
|
4840
4926
|
if (index > -1) {
|
4841
4927
|
use3dddPlus.getState().storeAllObject.splice(index, 1);
|
@@ -4950,6 +5036,19 @@ var initCanvas = function initCanvas() {
|
|
4950
5036
|
height1 = obj.height;
|
4951
5037
|
}
|
4952
5038
|
});
|
5039
|
+
canv.on('object:rotating', function (e) {
|
5040
|
+
var obj = e.target;
|
5041
|
+
if (obj.getBoundingRect().top < 0 || obj.getBoundingRect().left < 0) {
|
5042
|
+
obj.top = Math.max(obj.top, obj.top - obj.getBoundingRect().top);
|
5043
|
+
obj.left = Math.max(obj.left, obj.left - obj.getBoundingRect().left);
|
5044
|
+
obj.setCoords();
|
5045
|
+
}
|
5046
|
+
if (obj.getBoundingRect().top + obj.getBoundingRect().height > obj.canvas.height || obj.getBoundingRect().left + obj.getBoundingRect().width > obj.canvas.width) {
|
5047
|
+
obj.top = Math.min(obj.top, obj.canvas.height - obj.getBoundingRect().height + obj.top - obj.getBoundingRect().top);
|
5048
|
+
obj.left = Math.min(obj.left, obj.canvas.width - obj.getBoundingRect().width + obj.left - obj.getBoundingRect().left);
|
5049
|
+
obj.setCoords();
|
5050
|
+
}
|
5051
|
+
});
|
4953
5052
|
return canv;
|
4954
5053
|
};
|
4955
5054
|
|
@@ -6148,13 +6247,15 @@ var PopUpCanvas = function PopUpCanvas() {
|
|
6148
6247
|
// Iterate through objects on the canvas and check if any intersect with the mouse click
|
6149
6248
|
var removedColors = [];
|
6150
6249
|
use3dddPlus.getState().popUpCanvasUpdateModification(true);
|
6250
|
+
var color;
|
6151
6251
|
popupCanv.forEachObject(function (obj) {
|
6152
6252
|
if (obj.type === 'path') {
|
6153
6253
|
//@ts-ignore
|
6154
|
-
if (obj.containsPoint(mouseClick)) {
|
6254
|
+
if (obj.containsPoint(mouseClick) && !color) {
|
6155
6255
|
removedColors.push(obj.fill);
|
6156
6256
|
popupCanv.remove(obj);
|
6157
6257
|
popupCanv.renderAll();
|
6258
|
+
color = obj.fill;
|
6158
6259
|
}
|
6159
6260
|
}
|
6160
6261
|
});
|
@@ -6610,7 +6711,12 @@ var PopUpCanvas = function PopUpCanvas() {
|
|
6610
6711
|
textAlign: 'center',
|
6611
6712
|
marginBottom: '3px'
|
6612
6713
|
}
|
6613
|
-
},
|
6714
|
+
}, React__default.createElement("span", {
|
6715
|
+
style: {
|
6716
|
+
color: '#ffffff',
|
6717
|
+
mixBlendMode: 'difference'
|
6718
|
+
}
|
6719
|
+
}, c.updated));
|
6614
6720
|
})), React__default.createElement("div", {
|
6615
6721
|
className: "text-[#E11A38]",
|
6616
6722
|
style: {
|
@@ -6683,7 +6789,7 @@ var UploadLogo = function UploadLogo() {
|
|
6683
6789
|
_context.next = 5;
|
6684
6790
|
break;
|
6685
6791
|
}
|
6686
|
-
imageToSVG(data, true);
|
6792
|
+
imageToSVG(data, ext, true);
|
6687
6793
|
_context.next = 29;
|
6688
6794
|
break;
|
6689
6795
|
case 5:
|
@@ -6695,7 +6801,7 @@ var UploadLogo = function UploadLogo() {
|
|
6695
6801
|
return pdfConverter(data);
|
6696
6802
|
case 8:
|
6697
6803
|
pdfData = _context.sent;
|
6698
|
-
imageToSVG(pdfData);
|
6804
|
+
imageToSVG(pdfData, ext);
|
6699
6805
|
_context.next = 29;
|
6700
6806
|
break;
|
6701
6807
|
case 12:
|
@@ -6707,7 +6813,7 @@ var UploadLogo = function UploadLogo() {
|
|
6707
6813
|
return tiffConvert(data);
|
6708
6814
|
case 15:
|
6709
6815
|
tiffData = _context.sent;
|
6710
|
-
imageToSVG(tiffData);
|
6816
|
+
imageToSVG(tiffData, ext);
|
6711
6817
|
_context.next = 29;
|
6712
6818
|
break;
|
6713
6819
|
case 19:
|
@@ -6727,13 +6833,13 @@ var UploadLogo = function UploadLogo() {
|
|
6727
6833
|
fetch(aiToSvg.s3_file_url).then(function (response) {
|
6728
6834
|
return response.text();
|
6729
6835
|
}).then(function (svgText) {
|
6730
|
-
imageToSVG(svgText, false, false);
|
6836
|
+
imageToSVG(svgText, ext, false, false);
|
6731
6837
|
});
|
6732
6838
|
_context.next = 29;
|
6733
6839
|
break;
|
6734
6840
|
case 27:
|
6735
6841
|
objectURL = URL.createObjectURL(data);
|
6736
|
-
imageToSVG(objectURL);
|
6842
|
+
imageToSVG(objectURL, ext);
|
6737
6843
|
case 29:
|
6738
6844
|
setSelectedFile(null);
|
6739
6845
|
case 30:
|
@@ -8236,8 +8342,8 @@ var Rightmenu = function Rightmenu() {
|
|
8236
8342
|
});
|
8237
8343
|
_text.left = textSelected.left;
|
8238
8344
|
_text.top = textSelected.top;
|
8239
|
-
_text.width =
|
8240
|
-
_text.height =
|
8345
|
+
_text.width = _text.getBoundingRect().width;
|
8346
|
+
_text.height = _text.getBoundingRect().height;
|
8241
8347
|
_text.scaleX = textSelected.scaleX;
|
8242
8348
|
_text.scaleY = textSelected.scaleY;
|
8243
8349
|
// delete the active text object
|
@@ -8248,14 +8354,17 @@ var Rightmenu = function Rightmenu() {
|
|
8248
8354
|
// Add the text object keeping same properties
|
8249
8355
|
canvas.add(_text);
|
8250
8356
|
_text.setCoords();
|
8251
|
-
|
8252
|
-
use3dddPlus.getState().forIconCapture();
|
8253
|
-
_text['icon'] = use3dddPlus.getState().iconImage;
|
8254
|
-
updateStoreAllObject(_text);
|
8357
|
+
// set active object as path text
|
8255
8358
|
canvas.setActiveObject(_text);
|
8256
8359
|
use3dddPlus.setState({
|
8257
8360
|
activeSelection: _text
|
8258
8361
|
});
|
8362
|
+
//@ts-ignore
|
8363
|
+
use3dddPlus.getState().forIconCapture();
|
8364
|
+
_text['icon'] = use3dddPlus.getState().iconImage;
|
8365
|
+
updateStoreAllObject(_text);
|
8366
|
+
// canvas.setActiveObject(text);
|
8367
|
+
// use3dddPlus.setState({ activeSelection: text });
|
8259
8368
|
canvas.renderAll();
|
8260
8369
|
// cancel performing further functions & return back from function
|
8261
8370
|
return _context2.abrupt("return");
|
@@ -8468,14 +8577,33 @@ var Rightmenu = function Rightmenu() {
|
|
8468
8577
|
canvas.renderAll();
|
8469
8578
|
};
|
8470
8579
|
var handleSliderChange = function handleSliderChange(event) {
|
8471
|
-
var
|
8580
|
+
var fontSize = textSelected.fontSize;
|
8581
|
+
var toReduceSize = event.target.value - fontSize;
|
8582
|
+
var dublicateText = textSelected;
|
8583
|
+
// let brNew;
|
8584
|
+
dublicateText.set('fontSize', event.target.value);
|
8585
|
+
// if (currentSelection === 'path') {
|
8586
|
+
// textShapeChange(dublicateText.shapeType, true);
|
8587
|
+
// brNew = use3dddPlus.getState().activeSelection.getBoundingRect();
|
8588
|
+
// } else {
|
8589
|
+
// brNew = dublicateText.getBoundingRect();
|
8590
|
+
// }
|
8591
|
+
var brNew = dublicateText.getBoundingRect();
|
8472
8592
|
if (brNew.width + brNew.left >= textSelected.canvas.width || brNew.height + brNew.top >= textSelected.canvas.height || brNew.left < 0 || brNew.top < 0) {
|
8473
|
-
textSelected.set('fontSize', event.target.value - 1);
|
8474
8593
|
if (currentSelection === 'path') {
|
8594
|
+
textSelected.set('fontSize', event.target.value - (Math.sign(toReduceSize) >= 0 ? toReduceSize : 1));
|
8475
8595
|
textShapeChange(textSelected.shapeType, true);
|
8596
|
+
} else {
|
8597
|
+
if (brNew.left < 0) {
|
8598
|
+
textSelected.set('left', textSelected.left + 1);
|
8599
|
+
}
|
8600
|
+
if (brNew.top < 0) {
|
8601
|
+
textSelected.set('top', textSelected.top + 1);
|
8602
|
+
}
|
8603
|
+
textSelected.set('fontSize', event.target.value - (Math.sign(toReduceSize) >= 0 ? toReduceSize : 1));
|
8476
8604
|
}
|
8477
8605
|
} else {
|
8478
|
-
if (
|
8606
|
+
if (fontSize > event.target.value) {
|
8479
8607
|
textSelected.set('top', textSelected.top + 1);
|
8480
8608
|
textSelected.set('left', textSelected.left + 1);
|
8481
8609
|
} else {
|
@@ -8995,7 +9123,7 @@ var Rightmenu = function Rightmenu() {
|
|
8995
9123
|
id: "shapeSize",
|
8996
9124
|
name: "shapeSize",
|
8997
9125
|
step: "10",
|
8998
|
-
value:
|
9126
|
+
value: shapeSizeVal,
|
8999
9127
|
className: "border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]",
|
9000
9128
|
onChange: textShapeSizeHandler
|
9001
9129
|
})))), currentSelection === 'group' && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
@@ -9113,7 +9241,12 @@ var Rightmenu = function Rightmenu() {
|
|
9113
9241
|
textAlign: 'center',
|
9114
9242
|
marginBottom: '3px'
|
9115
9243
|
}
|
9116
|
-
},
|
9244
|
+
}, React__default.createElement("span", {
|
9245
|
+
style: {
|
9246
|
+
color: '#ffffff',
|
9247
|
+
mixBlendMode: 'difference'
|
9248
|
+
}
|
9249
|
+
}, c));
|
9117
9250
|
}))), React__default.createElement("button", {
|
9118
9251
|
type: "button",
|
9119
9252
|
className: "mt-3 inline-flex justify-center bg-white px-[110px] py-2 text-sm font-medium text-[#E11A38] shadow-sm ring-1 ring-inset ring-[#E11A38] hover:bg-gray-50 sm:mt-0 w-full",
|