@threedddplus/logoeditor 0.0.66 → 0.0.67
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 +158 -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 +158 -26
- package/dist/logoeditor.esm.js.map +1 -1
- package/dist/store/converters/index.d.ts +1 -1
- 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);
|
@@ -4700,14 +4786,14 @@ var initCanvas = function initCanvas() {
|
|
4700
4786
|
return Math.abs(scaledObjCenterX - canvasCenterX) < threshold;
|
4701
4787
|
}
|
4702
4788
|
var horizontalLine = new fabric.fabric.Line([0, canv.height / 2, canv.height, canv.height / 2], {
|
4703
|
-
stroke:
|
4789
|
+
stroke: "red",
|
4704
4790
|
scaleX: 11,
|
4705
4791
|
visible: false,
|
4706
4792
|
selectable: false,
|
4707
4793
|
type: 'line'
|
4708
4794
|
});
|
4709
4795
|
var verticalLine = new fabric.fabric.Line([canv.width / 2, 0, canv.width / 2, canv.width], {
|
4710
|
-
stroke:
|
4796
|
+
stroke: "red",
|
4711
4797
|
visible: false,
|
4712
4798
|
selectable: false,
|
4713
4799
|
type: 'line'
|
@@ -4828,14 +4914,13 @@ var initCanvas = function initCanvas() {
|
|
4828
4914
|
}
|
4829
4915
|
|
4830
4916
|
var removeItem = function removeItem(value) {
|
4831
|
-
//@ts-ignore
|
4917
|
+
//@ts-ignore
|
4832
4918
|
var index = use3dddPlus.getState().storeAllObject.findIndex(function (obj) {
|
4833
4919
|
return obj.id === value.id;
|
4834
4920
|
});
|
4835
4921
|
if (index === -1 && value && value._objects && value._objects.length > 0) {
|
4836
|
-
var index = use3dddPlus.getState()
|
4837
4922
|
//@ts-ignore
|
4838
|
-
.storeAllObject.indexOf(value._objects[0]);
|
4923
|
+
var index = use3dddPlus.getState().storeAllObject.indexOf(value._objects[0]);
|
4839
4924
|
}
|
4840
4925
|
if (index > -1) {
|
4841
4926
|
use3dddPlus.getState().storeAllObject.splice(index, 1);
|
@@ -4950,6 +5035,19 @@ var initCanvas = function initCanvas() {
|
|
4950
5035
|
height1 = obj.height;
|
4951
5036
|
}
|
4952
5037
|
});
|
5038
|
+
canv.on('object:rotating', function (e) {
|
5039
|
+
var obj = e.target;
|
5040
|
+
if (obj.getBoundingRect().top < 0 || obj.getBoundingRect().left < 0) {
|
5041
|
+
obj.top = Math.max(obj.top, obj.top - obj.getBoundingRect().top);
|
5042
|
+
obj.left = Math.max(obj.left, obj.left - obj.getBoundingRect().left);
|
5043
|
+
obj.setCoords();
|
5044
|
+
}
|
5045
|
+
if (obj.getBoundingRect().top + obj.getBoundingRect().height > obj.canvas.height || obj.getBoundingRect().left + obj.getBoundingRect().width > obj.canvas.width) {
|
5046
|
+
obj.top = Math.min(obj.top, obj.canvas.height - obj.getBoundingRect().height + obj.top - obj.getBoundingRect().top);
|
5047
|
+
obj.left = Math.min(obj.left, obj.canvas.width - obj.getBoundingRect().width + obj.left - obj.getBoundingRect().left);
|
5048
|
+
obj.setCoords();
|
5049
|
+
}
|
5050
|
+
});
|
4953
5051
|
return canv;
|
4954
5052
|
};
|
4955
5053
|
|
@@ -6148,13 +6246,15 @@ var PopUpCanvas = function PopUpCanvas() {
|
|
6148
6246
|
// Iterate through objects on the canvas and check if any intersect with the mouse click
|
6149
6247
|
var removedColors = [];
|
6150
6248
|
use3dddPlus.getState().popUpCanvasUpdateModification(true);
|
6249
|
+
var color;
|
6151
6250
|
popupCanv.forEachObject(function (obj) {
|
6152
6251
|
if (obj.type === 'path') {
|
6153
6252
|
//@ts-ignore
|
6154
|
-
if (obj.containsPoint(mouseClick)) {
|
6253
|
+
if (obj.containsPoint(mouseClick) && !color) {
|
6155
6254
|
removedColors.push(obj.fill);
|
6156
6255
|
popupCanv.remove(obj);
|
6157
6256
|
popupCanv.renderAll();
|
6257
|
+
color = obj.fill;
|
6158
6258
|
}
|
6159
6259
|
}
|
6160
6260
|
});
|
@@ -6610,7 +6710,12 @@ var PopUpCanvas = function PopUpCanvas() {
|
|
6610
6710
|
textAlign: 'center',
|
6611
6711
|
marginBottom: '3px'
|
6612
6712
|
}
|
6613
|
-
},
|
6713
|
+
}, React__default.createElement("span", {
|
6714
|
+
style: {
|
6715
|
+
color: '#ffffff',
|
6716
|
+
mixBlendMode: 'difference'
|
6717
|
+
}
|
6718
|
+
}, c.updated));
|
6614
6719
|
})), React__default.createElement("div", {
|
6615
6720
|
className: "text-[#E11A38]",
|
6616
6721
|
style: {
|
@@ -6683,7 +6788,7 @@ var UploadLogo = function UploadLogo() {
|
|
6683
6788
|
_context.next = 5;
|
6684
6789
|
break;
|
6685
6790
|
}
|
6686
|
-
imageToSVG(data, true);
|
6791
|
+
imageToSVG(data, ext, true);
|
6687
6792
|
_context.next = 29;
|
6688
6793
|
break;
|
6689
6794
|
case 5:
|
@@ -6695,7 +6800,7 @@ var UploadLogo = function UploadLogo() {
|
|
6695
6800
|
return pdfConverter(data);
|
6696
6801
|
case 8:
|
6697
6802
|
pdfData = _context.sent;
|
6698
|
-
imageToSVG(pdfData);
|
6803
|
+
imageToSVG(pdfData, ext);
|
6699
6804
|
_context.next = 29;
|
6700
6805
|
break;
|
6701
6806
|
case 12:
|
@@ -6707,7 +6812,7 @@ var UploadLogo = function UploadLogo() {
|
|
6707
6812
|
return tiffConvert(data);
|
6708
6813
|
case 15:
|
6709
6814
|
tiffData = _context.sent;
|
6710
|
-
imageToSVG(tiffData);
|
6815
|
+
imageToSVG(tiffData, ext);
|
6711
6816
|
_context.next = 29;
|
6712
6817
|
break;
|
6713
6818
|
case 19:
|
@@ -6727,13 +6832,13 @@ var UploadLogo = function UploadLogo() {
|
|
6727
6832
|
fetch(aiToSvg.s3_file_url).then(function (response) {
|
6728
6833
|
return response.text();
|
6729
6834
|
}).then(function (svgText) {
|
6730
|
-
imageToSVG(svgText, false, false);
|
6835
|
+
imageToSVG(svgText, ext, false, false);
|
6731
6836
|
});
|
6732
6837
|
_context.next = 29;
|
6733
6838
|
break;
|
6734
6839
|
case 27:
|
6735
6840
|
objectURL = URL.createObjectURL(data);
|
6736
|
-
imageToSVG(objectURL);
|
6841
|
+
imageToSVG(objectURL, ext);
|
6737
6842
|
case 29:
|
6738
6843
|
setSelectedFile(null);
|
6739
6844
|
case 30:
|
@@ -8236,8 +8341,8 @@ var Rightmenu = function Rightmenu() {
|
|
8236
8341
|
});
|
8237
8342
|
_text.left = textSelected.left;
|
8238
8343
|
_text.top = textSelected.top;
|
8239
|
-
_text.width =
|
8240
|
-
_text.height =
|
8344
|
+
_text.width = _text.getBoundingRect().width;
|
8345
|
+
_text.height = _text.getBoundingRect().height;
|
8241
8346
|
_text.scaleX = textSelected.scaleX;
|
8242
8347
|
_text.scaleY = textSelected.scaleY;
|
8243
8348
|
// delete the active text object
|
@@ -8248,14 +8353,17 @@ var Rightmenu = function Rightmenu() {
|
|
8248
8353
|
// Add the text object keeping same properties
|
8249
8354
|
canvas.add(_text);
|
8250
8355
|
_text.setCoords();
|
8251
|
-
|
8252
|
-
use3dddPlus.getState().forIconCapture();
|
8253
|
-
_text['icon'] = use3dddPlus.getState().iconImage;
|
8254
|
-
updateStoreAllObject(_text);
|
8356
|
+
// set active object as path text
|
8255
8357
|
canvas.setActiveObject(_text);
|
8256
8358
|
use3dddPlus.setState({
|
8257
8359
|
activeSelection: _text
|
8258
8360
|
});
|
8361
|
+
//@ts-ignore
|
8362
|
+
use3dddPlus.getState().forIconCapture();
|
8363
|
+
_text['icon'] = use3dddPlus.getState().iconImage;
|
8364
|
+
updateStoreAllObject(_text);
|
8365
|
+
// canvas.setActiveObject(text);
|
8366
|
+
// use3dddPlus.setState({ activeSelection: text });
|
8259
8367
|
canvas.renderAll();
|
8260
8368
|
// cancel performing further functions & return back from function
|
8261
8369
|
return _context2.abrupt("return");
|
@@ -8468,14 +8576,33 @@ var Rightmenu = function Rightmenu() {
|
|
8468
8576
|
canvas.renderAll();
|
8469
8577
|
};
|
8470
8578
|
var handleSliderChange = function handleSliderChange(event) {
|
8471
|
-
var
|
8579
|
+
var fontSize = textSelected.fontSize;
|
8580
|
+
var toReduceSize = event.target.value - fontSize;
|
8581
|
+
var dublicateText = textSelected;
|
8582
|
+
// let brNew;
|
8583
|
+
dublicateText.set('fontSize', event.target.value);
|
8584
|
+
// if (currentSelection === 'path') {
|
8585
|
+
// textShapeChange(dublicateText.shapeType, true);
|
8586
|
+
// brNew = use3dddPlus.getState().activeSelection.getBoundingRect();
|
8587
|
+
// } else {
|
8588
|
+
// brNew = dublicateText.getBoundingRect();
|
8589
|
+
// }
|
8590
|
+
var brNew = dublicateText.getBoundingRect();
|
8472
8591
|
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
8592
|
if (currentSelection === 'path') {
|
8593
|
+
textSelected.set('fontSize', event.target.value - (Math.sign(toReduceSize) >= 0 ? toReduceSize : 1));
|
8475
8594
|
textShapeChange(textSelected.shapeType, true);
|
8595
|
+
} else {
|
8596
|
+
if (brNew.left < 0) {
|
8597
|
+
textSelected.set('left', textSelected.left + 1);
|
8598
|
+
}
|
8599
|
+
if (brNew.top < 0) {
|
8600
|
+
textSelected.set('top', textSelected.top + 1);
|
8601
|
+
}
|
8602
|
+
textSelected.set('fontSize', event.target.value - (Math.sign(toReduceSize) >= 0 ? toReduceSize : 1));
|
8476
8603
|
}
|
8477
8604
|
} else {
|
8478
|
-
if (
|
8605
|
+
if (fontSize > event.target.value) {
|
8479
8606
|
textSelected.set('top', textSelected.top + 1);
|
8480
8607
|
textSelected.set('left', textSelected.left + 1);
|
8481
8608
|
} else {
|
@@ -8995,7 +9122,7 @@ var Rightmenu = function Rightmenu() {
|
|
8995
9122
|
id: "shapeSize",
|
8996
9123
|
name: "shapeSize",
|
8997
9124
|
step: "10",
|
8998
|
-
value:
|
9125
|
+
value: shapeSizeVal,
|
8999
9126
|
className: "border border-[#EBEBEB] py-[10px] pl-[16px] mb-[16.5px] w-[145px]",
|
9000
9127
|
onChange: textShapeSizeHandler
|
9001
9128
|
})))), currentSelection === 'group' && React__default.createElement(React__default.Fragment, null, React__default.createElement("div", {
|
@@ -9113,7 +9240,12 @@ var Rightmenu = function Rightmenu() {
|
|
9113
9240
|
textAlign: 'center',
|
9114
9241
|
marginBottom: '3px'
|
9115
9242
|
}
|
9116
|
-
},
|
9243
|
+
}, React__default.createElement("span", {
|
9244
|
+
style: {
|
9245
|
+
color: '#ffffff',
|
9246
|
+
mixBlendMode: 'difference'
|
9247
|
+
}
|
9248
|
+
}, c));
|
9117
9249
|
}))), React__default.createElement("button", {
|
9118
9250
|
type: "button",
|
9119
9251
|
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",
|