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