@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 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: 10,
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: 'red',
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: 'red',
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
- }, c.updated);
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 = textSelected.width;
8240
- _text.height = textSelected.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
- //@ts-ignore
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 brNew = textSelected.getBoundingRect();
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 (textSelected.fontSize > event.target.value) {
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: textSelected.shapeSize ? textSelected.shapeSize : shapeSizeVal,
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
- }, c);
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",