@threedddplus/logoeditor 0.0.111 → 0.0.112-0
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/logoeditor.cjs.development.js +219 -68
- 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 +219 -68
- package/dist/logoeditor.esm.js.map +1 -1
- package/dist/store/converters/index.d.ts +1 -1
- package/package.json +1 -1
package/dist/logoeditor.esm.js
CHANGED
@@ -3973,19 +3973,23 @@ var converterSlice = function converterSlice(set, get) {
|
|
3973
3973
|
if (canvasToLoad === void 0) {
|
3974
3974
|
canvasToLoad = use3dddPlus.getState().popupCanv;
|
3975
3975
|
}
|
3976
|
-
fabric.loadSVGFromString(
|
3977
|
-
|
3976
|
+
fabric.loadSVGFromString(
|
3977
|
+
//@ts-ignore
|
3978
|
+
new String(svgstr), function (objects, options) {
|
3979
|
+
var _canvasToLoad, _use3dddPlus$getState;
|
3978
3980
|
var svgData = getDesignConceptSVGData(svgstr);
|
3979
3981
|
console.log(svgData);
|
3980
3982
|
var loadedObject = fabric.util.groupSVGElements(objects, options);
|
3981
|
-
// Process each SVG data item to adjust object properties
|
3982
3983
|
svgData.forEach(function (resItem) {
|
3983
|
-
var path
|
3984
|
-
|
3985
|
-
|
3984
|
+
var path;
|
3985
|
+
var node;
|
3986
|
+
objects == null ? void 0 : objects.forEach(function (item) {
|
3987
|
+
//@ts-ignore
|
3988
|
+
// console.log(item.id, res[0].path.replace("#", ""));
|
3989
|
+
//@ts-ignore
|
3986
3990
|
if (item.id === resItem.path) {
|
3987
3991
|
path = item;
|
3988
|
-
|
3992
|
+
//@ts-ignore
|
3989
3993
|
} else if (item.id === resItem.element) {
|
3990
3994
|
node = item;
|
3991
3995
|
}
|
@@ -3993,100 +3997,247 @@ var converterSlice = function converterSlice(set, get) {
|
|
3993
3997
|
if (node && path) {
|
3994
3998
|
var _resItem$node$childre, _resItem$node$childre2;
|
3995
3999
|
var fontSize = (_resItem$node$childre = resItem.node.children[0]) == null ? void 0 : (_resItem$node$childre2 = _resItem$node$childre.getAttribute('font-size')) == null ? void 0 : _resItem$node$childre2.replace('px', '');
|
4000
|
+
// console.log(
|
4001
|
+
// 'fontSize',
|
4002
|
+
// resItem.node.children[0],
|
4003
|
+
// fontSize,
|
4004
|
+
// path.top,
|
4005
|
+
// path.left,
|
4006
|
+
// path.textWidth,
|
4007
|
+
// path.width
|
4008
|
+
// );
|
3996
4009
|
node.set({
|
3997
4010
|
path: path,
|
3998
4011
|
top: path.top,
|
3999
4012
|
left: path.left,
|
4000
4013
|
pathStartOffset: path.width * parseFloat(resItem.node.startOffset.baseVal.valueAsString) / 100,
|
4014
|
+
// fontFamily: resItem.node.children[0].getAttribute("font-family"),
|
4001
4015
|
fontSize: fontSize || 25
|
4002
4016
|
});
|
4003
4017
|
node.setCoords();
|
4004
4018
|
}
|
4005
4019
|
});
|
4006
|
-
//
|
4020
|
+
// loadedObject.scaleToHeight(300);
|
4021
|
+
// loadedObject.scaleToWidth(300);
|
4007
4022
|
var canvas = (_canvasToLoad = canvasToLoad) != null ? _canvasToLoad : use3dddPlus.getState().popupCanv;
|
4008
|
-
|
4009
|
-
|
4010
|
-
|
4011
|
-
|
4023
|
+
var canvasWidth = canvas.width;
|
4024
|
+
var canvasHeight = canvas.height;
|
4025
|
+
var val = 300;
|
4026
|
+
if ((loadedObject.width <= 200 || loadedObject.height <= 200) && (loadedObject.minX === -0 || loadedObject.minX)) {
|
4027
|
+
val = 600;
|
4028
|
+
}
|
4029
|
+
if (Math.ceil(loadedObject.width + loadedObject.left + 45) >= Math.floor(canvasWidth)) {
|
4030
|
+
loadedObject.scaleToWidth(val);
|
4031
|
+
} else if (Math.ceil(loadedObject.height + loadedObject.top + 10) >= Math.floor(canvasHeight)) {
|
4032
|
+
loadedObject.scaleToHeight(val);
|
4033
|
+
} else if (Math.ceil(loadedObject.left) < 0) {
|
4034
|
+
loadedObject.scaleToWidth(val);
|
4035
|
+
} else if (Math.ceil(loadedObject.top) < 0) {
|
4036
|
+
loadedObject.scaleToHeight(val);
|
4037
|
+
} else if (loadedObject.width < 200 || loadedObject.height < 200) {
|
4038
|
+
loadedObject.scaleToWidth(val);
|
4039
|
+
}
|
4040
|
+
//@ts-ignore
|
4041
|
+
var objImage = loadedObject == null ? void 0 : loadedObject._objects;
|
4042
|
+
var _Fills = [];
|
4012
4043
|
var fillCounts = {};
|
4013
4044
|
var colorObjects = {};
|
4014
|
-
|
4015
|
-
|
4016
|
-
|
4017
|
-
|
4018
|
-
|
4019
|
-
|
4020
|
-
|
4021
|
-
|
4022
|
-
|
4023
|
-
if (
|
4024
|
-
|
4025
|
-
|
4026
|
-
};
|
4045
|
+
if (objImage) {
|
4046
|
+
objImage.forEach(function (ele) {
|
4047
|
+
var _ele$id;
|
4048
|
+
ele.set({
|
4049
|
+
strokeWidth: 0
|
4050
|
+
});
|
4051
|
+
ele.set({
|
4052
|
+
id: (_ele$id = ele.id) != null ? _ele$id : use3dddPlus.getState().guid()
|
4053
|
+
});
|
4054
|
+
if (typeof ele.fill === 'string' && ele.fill !== '') {
|
4055
|
+
set({
|
4056
|
+
fillColor: [].concat(ele.fill)
|
4057
|
+
});
|
4058
|
+
var fillColor = ele.fill.toString();
|
4059
|
+
var pixelCount = ele.width * ele.height;
|
4060
|
+
fillCounts[fillColor] = (fillCounts[fillColor] || 0) + pixelCount;
|
4061
|
+
if (colorObjects[fillColor]) {
|
4062
|
+
colorObjects[fillColor].objects.push(ele.get('id'));
|
4063
|
+
} else {
|
4064
|
+
colorObjects[fillColor] = {
|
4065
|
+
objects: [ele.get('id')]
|
4066
|
+
};
|
4067
|
+
}
|
4027
4068
|
}
|
4028
|
-
|
4029
|
-
|
4069
|
+
});
|
4070
|
+
}
|
4071
|
+
use3dddPlus.setState({
|
4072
|
+
loadedObject: objImage
|
4030
4073
|
});
|
4031
|
-
// Determine top used colors and map them
|
4032
4074
|
var sortedFillColors = Object.keys(fillCounts).sort(function (a, b) {
|
4033
4075
|
return fillCounts[b] - fillCounts[a];
|
4034
4076
|
});
|
4035
4077
|
var topColors = sortedFillColors.slice(0, colorValue);
|
4036
4078
|
var colorObjectsHex = {};
|
4037
|
-
topColors.
|
4038
|
-
|
4039
|
-
|
4040
|
-
|
4041
|
-
|
4042
|
-
|
4079
|
+
topColors.map(function (e) {
|
4080
|
+
if (e.search('#') === -1) {
|
4081
|
+
var _C = get().RGBToHex(e);
|
4082
|
+
_Fills.push(_C);
|
4083
|
+
colorObjects[e].hex = _C;
|
4084
|
+
colorObjectsHex[_C] = colorObjects[e];
|
4085
|
+
} else {
|
4086
|
+
_Fills.push(e);
|
4087
|
+
colorObjects[e].hex = e;
|
4088
|
+
colorObjectsHex[e] = colorObjects[e];
|
4089
|
+
}
|
4043
4090
|
});
|
4044
|
-
|
4045
|
-
|
4046
|
-
|
4047
|
-
|
4091
|
+
//@ts-ignore
|
4092
|
+
set({
|
4093
|
+
fillColor: get().removeDuplicates(_Fills)
|
4094
|
+
});
|
4095
|
+
//@ts-ignore
|
4096
|
+
_Fills = get().removeDuplicates(_Fills);
|
4097
|
+
var fillColors = {};
|
4098
|
+
_Fills.map(function (item, index) {
|
4099
|
+
fillColors['layer' + index] = item;
|
4100
|
+
});
|
4101
|
+
use3dddPlus.setState({
|
4102
|
+
colorFill: fillColors
|
4103
|
+
});
|
4104
|
+
// Update colors in default color fill
|
4105
|
+
var defaultCF = [];
|
4106
|
+
Object.keys(fillColors).map(function (cf) {
|
4107
|
+
defaultCF.push({
|
4108
|
+
property: cf,
|
4109
|
+
"default": fillColors[cf],
|
4110
|
+
updated: fillColors[cf],
|
4111
|
+
objects: colorObjectsHex[fillColors[cf]].objects
|
4112
|
+
});
|
4113
|
+
});
|
4114
|
+
use3dddPlus.setState({
|
4115
|
+
defaultColorFill: defaultCF
|
4116
|
+
});
|
4117
|
+
use3dddPlus.setState({
|
4118
|
+
defaultColorFillCopy: defaultCF
|
4119
|
+
});
|
4120
|
+
function euclideanDistance(color1, color2) {
|
4121
|
+
var c1 = new fabric.Color(color1).getSource();
|
4122
|
+
var c2 = new fabric.Color(color2).getSource();
|
4123
|
+
var diffR = c1[0] - c2[0];
|
4124
|
+
var diffG = c1[1] - c2[1];
|
4125
|
+
var diffB = c1[2] - c2[2];
|
4126
|
+
return Math.sqrt(Math.pow(diffR, 2) + Math.pow(diffG, 2) + Math.pow(diffB, 2));
|
4127
|
+
}
|
4128
|
+
var colorMap = {};
|
4129
|
+
sortedFillColors.forEach(function (color) {
|
4130
|
+
var closestColor = topColors.reduce(function (prev, curr) {
|
4131
|
+
var prevDiff = euclideanDistance(color, prev);
|
4132
|
+
var currDiff = euclideanDistance(color, curr);
|
4133
|
+
return prevDiff < currDiff ? prev : curr;
|
4048
4134
|
});
|
4135
|
+
colorMap[color] = closestColor;
|
4049
4136
|
});
|
4137
|
+
if (objImage) {
|
4138
|
+
objImage.forEach(function (ele) {
|
4139
|
+
ele.set({
|
4140
|
+
fill: colorMap[ele.fill.toString()]
|
4141
|
+
});
|
4142
|
+
});
|
4143
|
+
}
|
4050
4144
|
loadedObject.set({
|
4145
|
+
colorFill: fillColors,
|
4051
4146
|
//@ts-ignore
|
4052
|
-
|
4053
|
-
var _extends2;
|
4054
|
-
return _extends({}, acc, (_extends2 = {}, _extends2[hex] = colorObjectsHex[hex].objects, _extends2));
|
4055
|
-
}, {}),
|
4056
|
-
hasControls: false
|
4147
|
+
setControlVisible: false
|
4057
4148
|
});
|
4058
|
-
|
4059
|
-
//
|
4060
|
-
|
4149
|
+
loadedObject.id = use3dddPlus.getState().guid();
|
4150
|
+
// loadedObject = new fabric.Group(objImage, options);
|
4151
|
+
(_use3dddPlus$getState = use3dddPlus.getState().popupCanv) == null ? void 0 : _use3dddPlus$getState.clear();
|
4152
|
+
// use3dddPlus
|
4153
|
+
// .getState()
|
4154
|
+
// .popupCanv.setBackgroundColor(
|
4155
|
+
// {
|
4156
|
+
// source:
|
4157
|
+
// 'https://storage.googleapis.com/3ddplusgcp/logoEditor/assets/icons/checkerBoxBG.png',
|
4158
|
+
// repeat: 'repeat',
|
4159
|
+
// },
|
4160
|
+
// use3dddPlus
|
4161
|
+
// .getState()
|
4162
|
+
// .popupCanv.renderAll.bind(use3dddPlus.getState().popupCanv),
|
4163
|
+
// {
|
4164
|
+
// backgroundImageOpacity: 1,
|
4165
|
+
// scaleX: 1.1,
|
4166
|
+
// scaleY: 1.1,
|
4167
|
+
// backgroundRepeat: 'repeat',
|
4168
|
+
// }
|
4169
|
+
// );
|
4170
|
+
// const canvas = use3dddPlus.getState().popupCanv;
|
4171
|
+
var gridSize = 15; // Size of each grid cell
|
4172
|
+
// var canvasWidth = canvas.width;
|
4173
|
+
// var canvasHeight = canvas.height;
|
4174
|
+
var numCols = Math.ceil(canvasWidth / gridSize);
|
4175
|
+
var numRows = Math.ceil(canvasHeight / gridSize);
|
4176
|
+
// Function to create a rectangle with checkerboard pattern
|
4177
|
+
function createCheckerboardRect(left, top, width, height, isEvenRow) {
|
4178
|
+
var rect = new fabric.Rect({
|
4179
|
+
left: left,
|
4180
|
+
top: top,
|
4181
|
+
width: width,
|
4182
|
+
height: height,
|
4183
|
+
type: 'line',
|
4184
|
+
lockMovementX: true,
|
4185
|
+
lockMovementY: true,
|
4186
|
+
lockScalingX: true,
|
4187
|
+
lockScalingY: true,
|
4188
|
+
// backgroundColor:'#ccc',
|
4189
|
+
fill: isEvenRow && left / gridSize % 2 === 0 || !isEvenRow && left / gridSize % 2 !== 0 ? '#ffffff' : '#dadadac7'
|
4190
|
+
});
|
4191
|
+
return rect;
|
4192
|
+
}
|
4193
|
+
// Create grid lines
|
4194
|
+
for (var i = 0; i < numCols; i++) {
|
4195
|
+
var x = i * gridSize;
|
4196
|
+
canvas.add(new fabric.Line([x, 0, x, canvasHeight], {
|
4197
|
+
stroke: '#dadadac7',
|
4198
|
+
selectable: false,
|
4199
|
+
lockMovementX: true,
|
4200
|
+
lockMovementY: true,
|
4201
|
+
lockScalingX: true,
|
4202
|
+
lockScalingY: true,
|
4203
|
+
type: 'line'
|
4204
|
+
}));
|
4205
|
+
}
|
4206
|
+
for (var j = 0; j < numRows; j++) {
|
4207
|
+
var y = j * gridSize;
|
4208
|
+
canvas.add(new fabric.Line([0, y, canvasWidth, y], {
|
4209
|
+
stroke: '#FFFFFF',
|
4210
|
+
selectable: false,
|
4211
|
+
lockMovementX: true,
|
4212
|
+
lockMovementY: true,
|
4213
|
+
lockScalingX: true,
|
4214
|
+
lockScalingY: true,
|
4215
|
+
type: 'line'
|
4216
|
+
}));
|
4217
|
+
}
|
4218
|
+
// Fill grid with checkerboard pattern
|
4219
|
+
for (var i = 0; i < numCols; i++) {
|
4220
|
+
for (var j = 0; j < numRows; j++) {
|
4221
|
+
var _use3dddPlus$getState2, _use3dddPlus$getState3;
|
4222
|
+
var left = i * gridSize;
|
4223
|
+
var top = j * gridSize;
|
4224
|
+
var isEvenRow = j % 2 === 0;
|
4225
|
+
var rect = createCheckerboardRect(left, top, gridSize, gridSize, isEvenRow);
|
4226
|
+
(_use3dddPlus$getState2 = use3dddPlus.getState()) == null ? void 0 : (_use3dddPlus$getState3 = _use3dddPlus$getState2.popupCanv) == null ? void 0 : _use3dddPlus$getState3.add(rect);
|
4227
|
+
}
|
4228
|
+
}
|
4061
4229
|
canvas.add(loadedObject).renderAll();
|
4062
4230
|
canvas.centerObject(loadedObject);
|
4063
4231
|
canvas.setActiveObject(loadedObject);
|
4064
4232
|
use3dddPlus.setState({
|
4065
|
-
activeSelection: loadedObject
|
4233
|
+
activeSelection: loadedObject
|
4234
|
+
});
|
4235
|
+
use3dddPlus.setState({
|
4066
4236
|
loading: false
|
4067
4237
|
});
|
4068
|
-
// Update canvas with modifications
|
4069
4238
|
use3dddPlus.getState().popUpCanvasUpdateModification(true);
|
4070
4239
|
});
|
4071
4240
|
};
|
4072
|
-
function adjustObjectSize(loadedObject, canvas) {
|
4073
|
-
var scale = 300;
|
4074
|
-
var canvasWidth = canvas.width;
|
4075
|
-
var canvasHeight = canvas.height;
|
4076
|
-
if (loadedObject.width <= 200 || loadedObject.height <= 200) {
|
4077
|
-
scale = 600;
|
4078
|
-
}
|
4079
|
-
// Scale the object to fit within the canvas dimensions
|
4080
|
-
if (Math.ceil(loadedObject.width + loadedObject.left + 45) >= Math.floor(canvasWidth)) {
|
4081
|
-
loadedObject.scaleToWidth(scale);
|
4082
|
-
} else if (Math.ceil(loadedObject.height + loadedObject.top + 10) >= Math.floor(canvasHeight)) {
|
4083
|
-
loadedObject.scaleToHeight(scale);
|
4084
|
-
} else if (Math.ceil(loadedObject.left) < 0 || Math.ceil(loadedObject.top) < 0) {
|
4085
|
-
loadedObject.scaleToWidth(scale);
|
4086
|
-
} else if (loadedObject.width < 200 || loadedObject.height < 200) {
|
4087
|
-
loadedObject.scaleToWidth(scale);
|
4088
|
-
}
|
4089
|
-
}
|
4090
4241
|
// function convertToFabricUnits(valueWithUnit, canvasHeight = 500) {
|
4091
4242
|
// // Parse the value and unit from the string
|
4092
4243
|
// const matches = valueWithUnit.match(/^([\d.]+)(\D+)$/);
|
@@ -10280,12 +10431,12 @@ var style = {
|
|
10280
10431
|
// border: '1px solid #BEBEBE',
|
10281
10432
|
border: state.isFocused ? 0 : 0,
|
10282
10433
|
// This line disable the blue border
|
10283
|
-
boxShadow: state.isFocused ? 'none' : 'none',
|
10434
|
+
boxShadow: state.isFocused ? 'none !important' : 'none !important',
|
10284
10435
|
'&:hover': {
|
10285
10436
|
border: state.isFocused ? 0 : 0
|
10286
10437
|
},
|
10287
10438
|
'&:focus': {
|
10288
|
-
boxShadow: 'none'
|
10439
|
+
boxShadow: 'none !important'
|
10289
10440
|
}
|
10290
10441
|
});
|
10291
10442
|
},
|