@arbisoft/react-design-tool 1.0.17 → 1.0.19
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/README.md +2 -2
- package/dist/cjs/index.js +61 -27
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +61 -27
- package/dist/esm/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -36,11 +36,11 @@ yarn add @arbisoft/react-design-tool
|
|
|
36
36
|
#### ⚠️ Important: Installation Guide for React 18 and Below
|
|
37
37
|
|
|
38
38
|
```bash
|
|
39
|
-
npm install @arbisoft/react-design-tool@1.0.
|
|
39
|
+
npm install @arbisoft/react-design-tool@1.0.19
|
|
40
40
|
```
|
|
41
41
|
OR
|
|
42
42
|
```bash
|
|
43
|
-
yarn add @arbisoft/react-design-tool@1.0.
|
|
43
|
+
yarn add @arbisoft/react-design-tool@1.0.19
|
|
44
44
|
|
|
45
45
|
```
|
|
46
46
|
## 🚀 Quick Start
|
package/dist/cjs/index.js
CHANGED
|
@@ -2767,7 +2767,7 @@ var OpacityPicker = function OpacityPicker(_ref) {
|
|
|
2767
2767
|
src: IconOpacity
|
|
2768
2768
|
})), /*#__PURE__*/React.createElement(StyledText, {
|
|
2769
2769
|
fontFamily: fontFamily
|
|
2770
|
-
}, varient === 'opacity' ? "".concat(value * 100, "%") : value), rightChild && rightChild), opacityPickerVisible && /*#__PURE__*/React.createElement("div", {
|
|
2770
|
+
}, varient === 'opacity' ? "".concat(value * 100, "%") : Math.round(value)), rightChild && rightChild), opacityPickerVisible && /*#__PURE__*/React.createElement("div", {
|
|
2771
2771
|
style: {
|
|
2772
2772
|
position: 'absolute',
|
|
2773
2773
|
bottom: -50,
|
|
@@ -4204,31 +4204,35 @@ TextEditor.propTypes = propTypes$c;
|
|
|
4204
4204
|
|
|
4205
4205
|
var EditableText = function EditableText(_ref) {
|
|
4206
4206
|
var element = _ref.element,
|
|
4207
|
+
trRef = _ref.trRef,
|
|
4207
4208
|
onClick = _ref.onClick,
|
|
4208
4209
|
_onDragEnd = _ref.onDragEnd,
|
|
4209
4210
|
onTransformEnd = _ref.onTransformEnd,
|
|
4210
4211
|
id = _ref.id,
|
|
4211
4212
|
onTransform = _ref.onTransform,
|
|
4212
4213
|
onChangeTextContent = _ref.onChangeTextContent,
|
|
4213
|
-
onChangeTextProperty = _ref.onChangeTextProperty,
|
|
4214
4214
|
onDragMove = _ref.onDragMove;
|
|
4215
4215
|
var textRef = React.useRef();
|
|
4216
4216
|
var _useState = React.useState(element === null || element === void 0 ? void 0 : element.width),
|
|
4217
4217
|
_useState2 = _slicedToArray(_useState, 2),
|
|
4218
4218
|
textWidth = _useState2[0],
|
|
4219
4219
|
setTextWidth = _useState2[1];
|
|
4220
|
-
var _useState3 = React.useState(
|
|
4220
|
+
var _useState3 = React.useState(element === null || element === void 0 ? void 0 : element.fontSize),
|
|
4221
4221
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
var _useState5 = React.useState(
|
|
4222
|
+
textFontSize = _useState4[0],
|
|
4223
|
+
setTextFontSize = _useState4[1];
|
|
4224
|
+
var _useState5 = React.useState(false),
|
|
4225
4225
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
var _useState7 = React.useState(
|
|
4226
|
+
isEditing = _useState6[0],
|
|
4227
|
+
setIsEditing = _useState6[1];
|
|
4228
|
+
var _useState7 = React.useState(element === null || element === void 0 ? void 0 : element.text),
|
|
4229
4229
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
4230
|
-
|
|
4231
|
-
|
|
4230
|
+
text = _useState8[0],
|
|
4231
|
+
setText = _useState8[1];
|
|
4232
|
+
var _useState9 = React.useState(false),
|
|
4233
|
+
_useState10 = _slicedToArray(_useState9, 2),
|
|
4234
|
+
isFontLoaded = _useState10[0],
|
|
4235
|
+
setIsFontLoaded = _useState10[1];
|
|
4232
4236
|
React.useEffect(function () {
|
|
4233
4237
|
setIsFontLoaded(false);
|
|
4234
4238
|
setTimeout(function () {
|
|
@@ -4238,23 +4242,49 @@ var EditableText = function EditableText(_ref) {
|
|
|
4238
4242
|
React.useEffect(function () {
|
|
4239
4243
|
setTextWidth(element === null || element === void 0 ? void 0 : element.width);
|
|
4240
4244
|
setText(element === null || element === void 0 ? void 0 : element.text);
|
|
4245
|
+
setTextFontSize(element === null || element === void 0 ? void 0 : element.fontSize);
|
|
4241
4246
|
}, [element]);
|
|
4242
4247
|
var tranform = function tranform(e) {
|
|
4243
|
-
var
|
|
4248
|
+
var transformer = trRef.current;
|
|
4249
|
+
var activeAnchor = transformer.getActiveAnchor();
|
|
4250
|
+
if (activeAnchor === 'middle-right' || activeAnchor === 'middle-left') {
|
|
4251
|
+
var node = e.target;
|
|
4252
|
+
var scaleX = sanitizeNumber(node.scaleX(), 1);
|
|
4253
|
+
var updatedWidth = sanitizeNumber(node.width() * scaleX, element.width);
|
|
4254
|
+
var updatedObject = _objectSpread2(_objectSpread2({}, node.attrs), {}, {
|
|
4255
|
+
width: updatedWidth,
|
|
4256
|
+
scaleX: 1,
|
|
4257
|
+
scaleY: 1
|
|
4258
|
+
});
|
|
4259
|
+
delete updatedObject['ref'];
|
|
4260
|
+
setTextWidth(updatedWidth);
|
|
4261
|
+
onTransform && onTransform(updatedObject);
|
|
4262
|
+
node.scaleX(1);
|
|
4263
|
+
node.scaleY(1);
|
|
4264
|
+
}
|
|
4265
|
+
};
|
|
4266
|
+
var handleTransformEnd = function handleTransformEnd(e) {
|
|
4267
|
+
var transformer = trRef.current;
|
|
4268
|
+
var activeAnchor = transformer.getActiveAnchor();
|
|
4269
|
+
if (activeAnchor === 'middle-right' || activeAnchor === 'middle-left') {
|
|
4270
|
+
onTransformEnd && onTransformEnd(e);
|
|
4271
|
+
return;
|
|
4272
|
+
}
|
|
4273
|
+
var node = textRef.current;
|
|
4274
|
+
var nodeAttrs = node.attrs;
|
|
4244
4275
|
var scaleX = sanitizeNumber(node.scaleX(), 1);
|
|
4245
|
-
var
|
|
4246
|
-
var
|
|
4276
|
+
var newFontSize = nodeAttrs.fontSize * scaleX;
|
|
4277
|
+
var updatedWidth = sanitizeNumber(node.width() * scaleX, nodeAttrs.width);
|
|
4278
|
+
node.scaleX(1);
|
|
4279
|
+
node.scaleY(1);
|
|
4280
|
+
var updatedObject = _objectSpread2(_objectSpread2({}, nodeAttrs), {}, {
|
|
4247
4281
|
width: updatedWidth,
|
|
4248
|
-
|
|
4249
|
-
scaleY: 1
|
|
4282
|
+
fontSize: newFontSize
|
|
4250
4283
|
});
|
|
4251
|
-
|
|
4284
|
+
setTextFontSize(newFontSize);
|
|
4252
4285
|
setTextWidth(updatedWidth);
|
|
4286
|
+
delete updatedObject['ref'];
|
|
4253
4287
|
onTransform && onTransform(updatedObject);
|
|
4254
|
-
node.scaleX(1);
|
|
4255
|
-
node.scaleY(1);
|
|
4256
|
-
};
|
|
4257
|
-
var transformEnd = function transformEnd(e) {
|
|
4258
4288
|
onTransformEnd && onTransformEnd(e);
|
|
4259
4289
|
};
|
|
4260
4290
|
var handleTextDblClick = function handleTextDblClick() {
|
|
@@ -4270,7 +4300,7 @@ var EditableText = function EditableText(_ref) {
|
|
|
4270
4300
|
var width = textRef === null || textRef === void 0 || (_textRef$current = textRef.current) === null || _textRef$current === void 0 ? void 0 : _textRef$current.getWidth();
|
|
4271
4301
|
if (width) {
|
|
4272
4302
|
setTextWidth(width);
|
|
4273
|
-
onChangeTextProperty('width', width);
|
|
4303
|
+
// onChangeTextProperty('width', width);
|
|
4274
4304
|
}
|
|
4275
4305
|
// const scaleX = sanitizeNumber(node?.scaleX(), 1);
|
|
4276
4306
|
// const updatedWidth = sanitizeNumber(node?.width() * scaleX, element?.width);
|
|
@@ -4287,6 +4317,7 @@ var EditableText = function EditableText(_ref) {
|
|
|
4287
4317
|
fontVariant: element === null || element === void 0 ? void 0 : element.fontWeight,
|
|
4288
4318
|
align: element === null || element === void 0 ? void 0 : element.textAlign,
|
|
4289
4319
|
width: textWidth,
|
|
4320
|
+
fontSize: textFontSize,
|
|
4290
4321
|
text: text,
|
|
4291
4322
|
fill: element === null || element === void 0 ? void 0 : element.color,
|
|
4292
4323
|
opacity: 0,
|
|
@@ -4301,6 +4332,7 @@ var EditableText = function EditableText(_ref) {
|
|
|
4301
4332
|
fontVariant: element === null || element === void 0 ? void 0 : element.fontWeight,
|
|
4302
4333
|
align: element === null || element === void 0 ? void 0 : element.textAlign,
|
|
4303
4334
|
width: textWidth,
|
|
4335
|
+
fontSize: textFontSize,
|
|
4304
4336
|
text: text,
|
|
4305
4337
|
fill: element === null || element === void 0 ? void 0 : element.color,
|
|
4306
4338
|
onClick: function onClick() {
|
|
@@ -4313,7 +4345,7 @@ var EditableText = function EditableText(_ref) {
|
|
|
4313
4345
|
return _onDragEnd && _onDragEnd(e);
|
|
4314
4346
|
},
|
|
4315
4347
|
onTransformEnd: function onTransformEnd(e) {
|
|
4316
|
-
|
|
4348
|
+
handleTransformEnd(e);
|
|
4317
4349
|
},
|
|
4318
4350
|
onDragMove: onDragMove,
|
|
4319
4351
|
onDblClick: handleTextDblClick,
|
|
@@ -4963,6 +4995,7 @@ var Editor = function Editor(_ref) {
|
|
|
4963
4995
|
});
|
|
4964
4996
|
case elementTypes.text:
|
|
4965
4997
|
return /*#__PURE__*/React.createElement(EditableText, {
|
|
4998
|
+
trRef: transformerRef,
|
|
4966
4999
|
key: el.id,
|
|
4967
5000
|
id: el.id,
|
|
4968
5001
|
element: el,
|
|
@@ -4977,8 +5010,7 @@ var Editor = function Editor(_ref) {
|
|
|
4977
5010
|
handleDragEnd(e);
|
|
4978
5011
|
},
|
|
4979
5012
|
onDragMove: handleDragging,
|
|
4980
|
-
onChangeTextContent: onChangeTextContent
|
|
4981
|
-
onChangeTextProperty: onChangeTextProperty
|
|
5013
|
+
onChangeTextContent: onChangeTextContent
|
|
4982
5014
|
});
|
|
4983
5015
|
default:
|
|
4984
5016
|
return null;
|
|
@@ -5067,7 +5099,7 @@ var Editor = function Editor(_ref) {
|
|
|
5067
5099
|
ref: transformerRef,
|
|
5068
5100
|
onTransform: handleResizing,
|
|
5069
5101
|
onTransformEnd: handleResizeEnd,
|
|
5070
|
-
enabledAnchors: selectedElement !== null && selectedElement !== void 0 && selectedElement.draggable ? (selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.type) === (elementTypes === null || elementTypes === void 0 ? void 0 : elementTypes.text) ? ['middle-left', 'middle-right'] : ['top-left', 'top-right', 'bottom-left', 'bottom-right', 'middle-left', 'middle-right', 'top-center', 'bottom-center'] : [],
|
|
5102
|
+
enabledAnchors: selectedElement !== null && selectedElement !== void 0 && selectedElement.draggable ? (selectedElement === null || selectedElement === void 0 ? void 0 : selectedElement.type) === (elementTypes === null || elementTypes === void 0 ? void 0 : elementTypes.text) ? ['top-left', 'top-right', 'bottom-left', 'bottom-right', 'middle-left', 'middle-right'] : ['top-left', 'top-right', 'bottom-left', 'bottom-right', 'middle-left', 'middle-right', 'top-center', 'bottom-center'] : [],
|
|
5071
5103
|
borderStroke: theme.color.primary,
|
|
5072
5104
|
borderStrokeWidth: 2
|
|
5073
5105
|
// add anchors
|
|
@@ -5082,7 +5114,9 @@ var Editor = function Editor(_ref) {
|
|
|
5082
5114
|
,
|
|
5083
5115
|
boundBoxFunc: function boundBoxFunc(oldBox, newBox) {
|
|
5084
5116
|
// limit resize
|
|
5085
|
-
if (!(selectedElement !== null && selectedElement !== void 0 && selectedElement.draggable)
|
|
5117
|
+
if (!(selectedElement !== null && selectedElement !== void 0 && selectedElement.draggable) ||
|
|
5118
|
+
// Handle element flliping
|
|
5119
|
+
newBox.width < 1 || newBox.height < 1) {
|
|
5086
5120
|
return oldBox;
|
|
5087
5121
|
}
|
|
5088
5122
|
return newBox;
|