@arbisoft/react-design-tool 1.0.67 → 1.0.69
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 +39 -3
- package/dist/cjs/index.js +157 -65
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/index.js +157 -65
- package/dist/esm/index.js.map +1 -1
- package/package.json +3 -3
package/dist/esm/index.js
CHANGED
|
@@ -340,6 +340,9 @@ var propTypes$z = {
|
|
|
340
340
|
disableWhiteLabel: PropTypes.bool,
|
|
341
341
|
defaultTemplatesList: PropTypes.array,
|
|
342
342
|
customTemplatesList: PropTypes.array,
|
|
343
|
+
templatesDisplayOrder: PropTypes.oneOf(['defaultFirst', 'customFirst']),
|
|
344
|
+
showOutsideBoundaryPreview: PropTypes.bool,
|
|
345
|
+
outsideBoundaryPreviewPadding: PropTypes.number,
|
|
343
346
|
qrLink: PropTypes.string,
|
|
344
347
|
styleProps: PropTypes.object,
|
|
345
348
|
defaultText: PropTypes.string,
|
|
@@ -2267,10 +2270,12 @@ var propTypes$w = {
|
|
|
2267
2270
|
setLoadingUploadImage: PropTypes.func,
|
|
2268
2271
|
cuttingGuideStroke: PropTypes.number,
|
|
2269
2272
|
cuttingGuideStrokeColor: PropTypes.string,
|
|
2270
|
-
onChangeCuttingGuideProp: PropTypes.func
|
|
2273
|
+
onChangeCuttingGuideProp: PropTypes.func,
|
|
2274
|
+
showOutsideBoundaryPreview: PropTypes.bool,
|
|
2275
|
+
outsideBoundaryPreviewPadding: PropTypes.number
|
|
2271
2276
|
};
|
|
2272
2277
|
|
|
2273
|
-
var _templateObject$r, _templateObject2$l, _templateObject3$b, _templateObject4$7, _templateObject5$
|
|
2278
|
+
var _templateObject$r, _templateObject2$l, _templateObject3$b, _templateObject4$7, _templateObject5$4;
|
|
2274
2279
|
var Container$4 = styled.div(_templateObject$r || (_templateObject$r = _taggedTemplateLiteral(["\n flex: 1;\n display: flex;\n background-color: ", ";\n background-image: ", ";\n position: relative;\n flex-direction: column;\n overflow: hidden;\n"])), theme.color.white_F7F7F7, function (_ref) {
|
|
2275
2280
|
var selectedTab = _ref.selectedTab;
|
|
2276
2281
|
return selectedTab ? 'none' : "url(".concat(EditorBg, ")");
|
|
@@ -2290,7 +2295,7 @@ var InnerContainerWrapper = styled.div(_templateObject3$b || (_templateObject3$b
|
|
|
2290
2295
|
return editorWidth || 400;
|
|
2291
2296
|
});
|
|
2292
2297
|
var Title = styled.p(_templateObject4$7 || (_templateObject4$7 = _taggedTemplateLiteral(["\n border: 1px solid ", ";\n align-self: flex-start;\n font-size: 14px;\n font-family: ", ";\n font-weight: ", ";\n color: ", ";\n padding: 0 6px;\n border-bottom-width: 0;\n"])), theme.color.gray_E8E8E8, theme.fonts.primary, theme.fontWeights[300], theme.color.gray_7A7979);
|
|
2293
|
-
var EditorBox = styled.div(_templateObject5$
|
|
2298
|
+
var EditorBox = styled.div(_templateObject5$4 || (_templateObject5$4 = _taggedTemplateLiteral(["\n height: ", "px;\n width: ", "px;\n min-height: ", "px;\n min-width: ", "px;\n background: ", ";\n box-shadow: 1.317px 1.317px 1.317px 0px rgba(0, 0, 0, 0.08);\n // transition: all 0.1s ease-in-out;\n overflow: hidden;\n"])), function (_ref6) {
|
|
2294
2299
|
var editorHeight = _ref6.editorHeight;
|
|
2295
2300
|
return editorHeight || 470;
|
|
2296
2301
|
}, function (_ref7) {
|
|
@@ -2441,7 +2446,7 @@ var StyledContainer$6 = styled.div(_templateObject$p || (_templateObject$p = _ta
|
|
|
2441
2446
|
return disabled ? 'none' : 'all';
|
|
2442
2447
|
});
|
|
2443
2448
|
|
|
2444
|
-
var _templateObject$o, _templateObject2$j, _templateObject3$a, _templateObject4$6, _templateObject5$
|
|
2449
|
+
var _templateObject$o, _templateObject2$j, _templateObject3$a, _templateObject4$6, _templateObject5$3, _templateObject6$1, _templateObject7$1;
|
|
2445
2450
|
var Wrapper = styled.span(_templateObject$o || (_templateObject$o = _taggedTemplateLiteral(["\n position: relative;\n display: inline-flex;\n cursor: ", ";\n"])), function (_ref) {
|
|
2446
2451
|
var disabled = _ref.disabled;
|
|
2447
2452
|
return disabled ? 'not-allowed' : 'pointer';
|
|
@@ -2452,13 +2457,13 @@ styled.div(_templateObject3$a || (_templateObject3$a = _taggedTemplateLiteral(["
|
|
|
2452
2457
|
return position === 'top' && css(_templateObject4$6 || (_templateObject4$6 = _taggedTemplateLiteral(["\n bottom: 110%;\n left: 50%;\n transform: translateX(-50%);\n "])));
|
|
2453
2458
|
}, function (_ref3) {
|
|
2454
2459
|
var position = _ref3.position;
|
|
2455
|
-
return position === 'right' && css(_templateObject5$
|
|
2460
|
+
return position === 'right' && css(_templateObject5$3 || (_templateObject5$3 = _taggedTemplateLiteral(["\n top: 50%;\n left: 105%;\n transform: translateY(-50%);\n "])));
|
|
2456
2461
|
}, function (_ref4) {
|
|
2457
2462
|
var position = _ref4.position;
|
|
2458
|
-
return position === 'bottom' && css(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n top: 110%;\n left: 50%;\n transform: translateX(-50%);\n "])));
|
|
2463
|
+
return position === 'bottom' && css(_templateObject6$1 || (_templateObject6$1 = _taggedTemplateLiteral(["\n top: 110%;\n left: 50%;\n transform: translateX(-50%);\n "])));
|
|
2459
2464
|
}, function (_ref5) {
|
|
2460
2465
|
var position = _ref5.position;
|
|
2461
|
-
return position === 'left' && css(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n top: 50%;\n right: 105%;\n transform: translateY(-50%);\n "])));
|
|
2466
|
+
return position === 'left' && css(_templateObject7$1 || (_templateObject7$1 = _taggedTemplateLiteral(["\n top: 50%;\n right: 105%;\n transform: translateY(-50%);\n "])));
|
|
2462
2467
|
}, Wrapper);
|
|
2463
2468
|
|
|
2464
2469
|
var Tooltip = function Tooltip(_ref) {
|
|
@@ -3014,14 +3019,16 @@ var removeImageProperty = function removeImageProperty() {
|
|
|
3014
3019
|
var exportStageAsImage = /*#__PURE__*/function () {
|
|
3015
3020
|
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(stageRef, pageSizeKey) {
|
|
3016
3021
|
var scale,
|
|
3022
|
+
cropArea,
|
|
3017
3023
|
_args3 = arguments;
|
|
3018
3024
|
return _regenerator().w(function (_context3) {
|
|
3019
3025
|
while (1) switch (_context3.n) {
|
|
3020
3026
|
case 0:
|
|
3021
3027
|
scale = _args3.length > 2 && _args3[2] !== undefined ? _args3[2] : 2;
|
|
3028
|
+
cropArea = _args3.length > 3 && _args3[3] !== undefined ? _args3[3] : null;
|
|
3022
3029
|
return _context3.a(2, new Promise(/*#__PURE__*/function () {
|
|
3023
3030
|
var _ref3 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(resolve, reject) {
|
|
3024
|
-
var stage, canvas, dataURL, _t;
|
|
3031
|
+
var stage, canvasOptions, canvas, dataURL, _t;
|
|
3025
3032
|
return _regenerator().w(function (_context2) {
|
|
3026
3033
|
while (1) switch (_context2.p = _context2.n) {
|
|
3027
3034
|
case 0:
|
|
@@ -3033,10 +3040,19 @@ var exportStageAsImage = /*#__PURE__*/function () {
|
|
|
3033
3040
|
}
|
|
3034
3041
|
return _context2.a(2, reject('Stage is not available'));
|
|
3035
3042
|
case 1:
|
|
3036
|
-
|
|
3037
|
-
return stage.toCanvas({
|
|
3043
|
+
canvasOptions = {
|
|
3038
3044
|
pixelRatio: scale
|
|
3039
|
-
}
|
|
3045
|
+
};
|
|
3046
|
+
if (cropArea && Number.isFinite(cropArea.x) && Number.isFinite(cropArea.y) && Number.isFinite(cropArea.width) && Number.isFinite(cropArea.height)) {
|
|
3047
|
+
canvasOptions.x = cropArea.x;
|
|
3048
|
+
canvasOptions.y = cropArea.y;
|
|
3049
|
+
canvasOptions.width = cropArea.width;
|
|
3050
|
+
canvasOptions.height = cropArea.height;
|
|
3051
|
+
}
|
|
3052
|
+
|
|
3053
|
+
// Create a canvas with the scale factor
|
|
3054
|
+
_context2.n = 2;
|
|
3055
|
+
return stage.toCanvas(canvasOptions);
|
|
3040
3056
|
case 2:
|
|
3041
3057
|
canvas = _context2.v;
|
|
3042
3058
|
_context2.n = 3;
|
|
@@ -4089,12 +4105,12 @@ var propTypes$i = {
|
|
|
4089
4105
|
translation: PropTypes.object
|
|
4090
4106
|
};
|
|
4091
4107
|
|
|
4092
|
-
var _templateObject$e, _templateObject2$a, _templateObject3$7, _templateObject4$4, _templateObject5$
|
|
4108
|
+
var _templateObject$e, _templateObject2$a, _templateObject3$7, _templateObject4$4, _templateObject5$2;
|
|
4093
4109
|
var Container$3 = styled.div(_templateObject$e || (_templateObject$e = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n align-items: center;\n position: relative;\n"])));
|
|
4094
4110
|
var ZoomControlWrapper = styled.div(_templateObject2$a || (_templateObject2$a = _taggedTemplateLiteral(["\n border: 1px solid ", ";\n border-radius: 6px;\n height: 44px;\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n background: white;\n"])), theme.color.gray_200);
|
|
4095
4111
|
var ZoomButton = styled.div(_templateObject3$7 || (_templateObject3$7 = _taggedTemplateLiteral(["\n height: 100%;\n display: flex;\n justify-content: center;\n align-items: center;\n padding: 0 14px;\n cursor: pointer;\n"])));
|
|
4096
4112
|
var Divider = styled.div(_templateObject4$4 || (_templateObject4$4 = _taggedTemplateLiteral(["\n width: 1px;\n height: 80%;\n background: rgba(77, 98, 119, 0.2);\n"])));
|
|
4097
|
-
var ZoomPercentage = styled.p(_templateObject5$
|
|
4113
|
+
var ZoomPercentage = styled.p(_templateObject5$2 || (_templateObject5$2 = _taggedTemplateLiteral(["\n padding: 0 14px;\n font-family: ", ";\n font-weight: ", ";\n color: ", ";\n"])), theme.fonts.primary, theme.fontWeights[500], theme.color.icon_gray);
|
|
4098
4114
|
|
|
4099
4115
|
var propTypes$h = {
|
|
4100
4116
|
varient: PropTypes.oneOf(Object.values(ButtonVarients)),
|
|
@@ -5362,8 +5378,23 @@ var Editor = function Editor(_ref) {
|
|
|
5362
5378
|
onRemoveBackgroundImage = _ref.onRemoveBackgroundImage,
|
|
5363
5379
|
showBackgroundImagePicker = _ref.showBackgroundImagePicker,
|
|
5364
5380
|
showOpacityPicker = _ref.showOpacityPicker,
|
|
5365
|
-
changeSelectedElementProperty = _ref.changeSelectedElementProperty
|
|
5381
|
+
changeSelectedElementProperty = _ref.changeSelectedElementProperty,
|
|
5382
|
+
_ref$showOutsideBound = _ref.showOutsideBoundaryPreview,
|
|
5383
|
+
showOutsideBoundaryPreview = _ref$showOutsideBound === void 0 ? false : _ref$showOutsideBound,
|
|
5384
|
+
_ref$outsideBoundaryP = _ref.outsideBoundaryPreviewPadding,
|
|
5385
|
+
outsideBoundaryPreviewPadding = _ref$outsideBoundaryP === void 0 ? 120 : _ref$outsideBoundaryP;
|
|
5366
5386
|
var transformerRef = useRef(null);
|
|
5387
|
+
var previewPadding = useMemo(function () {
|
|
5388
|
+
return showOutsideBoundaryPreview ? Math.max(0, Number(outsideBoundaryPreviewPadding) || 0) : 0;
|
|
5389
|
+
}, [showOutsideBoundaryPreview, outsideBoundaryPreviewPadding]);
|
|
5390
|
+
var stageWidth = useMemo(function () {
|
|
5391
|
+
return editorWidth + previewPadding * 2;
|
|
5392
|
+
}, [editorWidth, previewPadding]);
|
|
5393
|
+
var stageHeight = useMemo(function () {
|
|
5394
|
+
return editorHeight + previewPadding * 2;
|
|
5395
|
+
}, [editorHeight, previewPadding]);
|
|
5396
|
+
var pageOffsetX = previewPadding;
|
|
5397
|
+
var pageOffsetY = previewPadding;
|
|
5367
5398
|
useEffect(function () {
|
|
5368
5399
|
if (transformerRef !== null && transformerRef !== void 0 && transformerRef.current) {
|
|
5369
5400
|
var _stageRef$current;
|
|
@@ -5699,14 +5730,14 @@ var Editor = function Editor(_ref) {
|
|
|
5699
5730
|
showOpacityPicker: showOpacityPicker,
|
|
5700
5731
|
changeSelectedElementProperty: changeSelectedElementProperty
|
|
5701
5732
|
}), /*#__PURE__*/React.createElement(InnerContainer, null, /*#__PURE__*/React.createElement(InnerContainerWrapper, {
|
|
5702
|
-
editorHeight:
|
|
5703
|
-
editorWidth:
|
|
5733
|
+
editorHeight: stageHeight + 50,
|
|
5734
|
+
editorWidth: stageWidth
|
|
5704
5735
|
}, title && /*#__PURE__*/React.createElement(Title, null, title), /*#__PURE__*/React.createElement(EditorBox, {
|
|
5705
|
-
editorHeight:
|
|
5706
|
-
editorWidth:
|
|
5736
|
+
editorHeight: stageHeight,
|
|
5737
|
+
editorWidth: stageWidth
|
|
5707
5738
|
}, !loadingImages && !loadingFonts && /*#__PURE__*/React.createElement(Stage, {
|
|
5708
|
-
width:
|
|
5709
|
-
height:
|
|
5739
|
+
width: stageWidth,
|
|
5740
|
+
height: stageHeight,
|
|
5710
5741
|
ref: stageRef,
|
|
5711
5742
|
onMouseDown: function onMouseDown(e) {
|
|
5712
5743
|
if (e.target === e.target.getStage()) {
|
|
@@ -5721,15 +5752,21 @@ var Editor = function Editor(_ref) {
|
|
|
5721
5752
|
},
|
|
5722
5753
|
listening: false
|
|
5723
5754
|
}, /*#__PURE__*/React.createElement(Rect, {
|
|
5755
|
+
x: pageOffsetX,
|
|
5756
|
+
y: pageOffsetY,
|
|
5724
5757
|
width: editorWidth,
|
|
5725
5758
|
height: editorHeight,
|
|
5726
5759
|
fill: canvasBackgroundColor || theme.color.white
|
|
5727
5760
|
}), canvasBackgroundImage && /*#__PURE__*/React.createElement(CanvasImage, {
|
|
5728
5761
|
element: _objectSpread2(_objectSpread2({}, canvasBackgroundImage), {}, {
|
|
5762
|
+
x: pageOffsetX,
|
|
5763
|
+
y: pageOffsetY,
|
|
5729
5764
|
width: editorWidth,
|
|
5730
5765
|
height: editorHeight
|
|
5731
5766
|
})
|
|
5732
5767
|
})), /*#__PURE__*/React.createElement(Layer, null, /*#__PURE__*/React.createElement(Group, {
|
|
5768
|
+
x: pageOffsetX,
|
|
5769
|
+
y: pageOffsetY,
|
|
5733
5770
|
scaleX: zoomPercentage / 100,
|
|
5734
5771
|
scaleY: zoomPercentage / 100
|
|
5735
5772
|
}, elements === null || elements === void 0 ? void 0 : elements.map(function (el) {
|
|
@@ -5760,12 +5797,42 @@ var Editor = function Editor(_ref) {
|
|
|
5760
5797
|
}
|
|
5761
5798
|
return newBox;
|
|
5762
5799
|
}
|
|
5763
|
-
}))), /*#__PURE__*/React.createElement(Layer, {
|
|
5800
|
+
}))), showOutsideBoundaryPreview && previewPadding > 0 ? /*#__PURE__*/React.createElement(Layer, {
|
|
5764
5801
|
listening: false
|
|
5765
5802
|
}, /*#__PURE__*/React.createElement(Rect, {
|
|
5766
5803
|
listening: false,
|
|
5767
5804
|
x: 0,
|
|
5768
5805
|
y: 0,
|
|
5806
|
+
width: stageWidth,
|
|
5807
|
+
height: pageOffsetY,
|
|
5808
|
+
fill: "rgba(0, 0, 0, 0.14)"
|
|
5809
|
+
}), /*#__PURE__*/React.createElement(Rect, {
|
|
5810
|
+
listening: false,
|
|
5811
|
+
x: 0,
|
|
5812
|
+
y: pageOffsetY,
|
|
5813
|
+
width: pageOffsetX,
|
|
5814
|
+
height: editorHeight,
|
|
5815
|
+
fill: "rgba(0, 0, 0, 0.14)"
|
|
5816
|
+
}), /*#__PURE__*/React.createElement(Rect, {
|
|
5817
|
+
listening: false,
|
|
5818
|
+
x: pageOffsetX + editorWidth,
|
|
5819
|
+
y: pageOffsetY,
|
|
5820
|
+
width: stageWidth - (pageOffsetX + editorWidth),
|
|
5821
|
+
height: editorHeight,
|
|
5822
|
+
fill: "rgba(0, 0, 0, 0.14)"
|
|
5823
|
+
}), /*#__PURE__*/React.createElement(Rect, {
|
|
5824
|
+
listening: false,
|
|
5825
|
+
x: 0,
|
|
5826
|
+
y: pageOffsetY + editorHeight,
|
|
5827
|
+
width: stageWidth,
|
|
5828
|
+
height: stageHeight - (pageOffsetY + editorHeight),
|
|
5829
|
+
fill: "rgba(0, 0, 0, 0.14)"
|
|
5830
|
+
})) : null, /*#__PURE__*/React.createElement(Layer, {
|
|
5831
|
+
listening: false
|
|
5832
|
+
}, /*#__PURE__*/React.createElement(Rect, {
|
|
5833
|
+
listening: false,
|
|
5834
|
+
x: pageOffsetX,
|
|
5835
|
+
y: pageOffsetY,
|
|
5769
5836
|
width: editorWidth,
|
|
5770
5837
|
height: editorHeight,
|
|
5771
5838
|
stroke: cuttingGuideStrokeColor,
|
|
@@ -5817,6 +5884,7 @@ var propTypes$b = {
|
|
|
5817
5884
|
setLoadingUploadImage: PropTypes.func,
|
|
5818
5885
|
defaultTemplatesList: PropTypes.array,
|
|
5819
5886
|
customTemplatesList: PropTypes.array,
|
|
5887
|
+
templatesDisplayOrder: PropTypes.oneOf(['defaultFirst', 'customFirst']),
|
|
5820
5888
|
styleProps: PropTypes.object
|
|
5821
5889
|
};
|
|
5822
5890
|
|
|
@@ -5871,7 +5939,8 @@ var propTypes$9 = {
|
|
|
5871
5939
|
oncreateNewTemplate: PropTypes.func,
|
|
5872
5940
|
languageLocale: PropTypes.string,
|
|
5873
5941
|
defaultTemplatesList: PropTypes.array,
|
|
5874
|
-
customTemplatesList: PropTypes.array
|
|
5942
|
+
customTemplatesList: PropTypes.array,
|
|
5943
|
+
templatesDisplayOrder: PropTypes.oneOf(['defaultFirst', 'customFirst'])
|
|
5875
5944
|
};
|
|
5876
5945
|
|
|
5877
5946
|
var propTypes$8 = {
|
|
@@ -5883,7 +5952,7 @@ var propTypes$8 = {
|
|
|
5883
5952
|
content: PropTypes.node
|
|
5884
5953
|
};
|
|
5885
5954
|
|
|
5886
|
-
var _templateObject$8, _templateObject2$6, _templateObject3$6, _templateObject4$3, _templateObject5;
|
|
5955
|
+
var _templateObject$8, _templateObject2$6, _templateObject3$6, _templateObject4$3, _templateObject5$1;
|
|
5887
5956
|
var CollapsableContainer = styled.div(_templateObject$8 || (_templateObject$8 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n margin-top: ", "px;\n margin-bottom: ", "px;\n"])), function (_ref) {
|
|
5888
5957
|
var marginTop = _ref.marginTop;
|
|
5889
5958
|
return marginTop;
|
|
@@ -5894,7 +5963,7 @@ var CollapsableContainer = styled.div(_templateObject$8 || (_templateObject$8 =
|
|
|
5894
5963
|
var CollapsableHeader = styled.div(_templateObject2$6 || (_templateObject2$6 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n cursor: pointer;\n justify-content: flex-start;\n align-self: flex-start;\n margin-bottom: 14px;\n"])));
|
|
5895
5964
|
var LeftIconWrapper = styled.div(_templateObject3$6 || (_templateObject3$6 = _taggedTemplateLiteral(["\n margin-right: 6px;\n display: flex;\n align-items: center;\n"])));
|
|
5896
5965
|
var IconWrapper = styled.div(_templateObject4$3 || (_templateObject4$3 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: row;\n align-items: center;\n margin-top: 3px;\n"])));
|
|
5897
|
-
var CollapsableContent = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n display: ", ";\n"])), function (_ref3) {
|
|
5966
|
+
var CollapsableContent = styled.div(_templateObject5$1 || (_templateObject5$1 = _taggedTemplateLiteral(["\n display: ", ";\n"])), function (_ref3) {
|
|
5898
5967
|
var visible = _ref3.visible;
|
|
5899
5968
|
return visible ? 'flex' : 'none';
|
|
5900
5969
|
});
|
|
@@ -5934,11 +6003,14 @@ var Collapsable = function Collapsable(_ref) {
|
|
|
5934
6003
|
};
|
|
5935
6004
|
Collapsable.propTypes = propTypes$8;
|
|
5936
6005
|
|
|
5937
|
-
var _templateObject$7, _templateObject2$5, _templateObject3$5, _templateObject4$2;
|
|
6006
|
+
var _templateObject$7, _templateObject2$5, _templateObject3$5, _templateObject4$2, _templateObject5, _templateObject6, _templateObject7;
|
|
5938
6007
|
var TemplatesContainer = styled.div(_templateObject$7 || (_templateObject$7 = _taggedTemplateLiteral(["\n display: flex;\n flex-wrap: wrap;\n justify-content: space-between;\n gap: 10px;\n align-items: flex-start;\n"])));
|
|
5939
|
-
var TemplateItem = styled.div(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n cursor: pointer;\n position: relative;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 1;\n }\n\n &:hover::before {\n opacity: 1;\n }\n
|
|
5940
|
-
var StyledDeleteButton = styled.button(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n display:
|
|
5941
|
-
var
|
|
6008
|
+
var TemplateItem = styled.div(_templateObject2$5 || (_templateObject2$5 = _taggedTemplateLiteral(["\n display: flex;\n flex-direction: column;\n cursor: pointer;\n position: relative;\n gap: 6px;\n overflow: hidden;\n\n &::before {\n content: '';\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: rgba(0, 0, 0, 0.2);\n opacity: 0;\n transition: opacity 0.3s ease;\n z-index: 1;\n pointer-events: none;\n }\n\n &:hover::before {\n opacity: 1;\n }\n"])));
|
|
6009
|
+
var StyledDeleteButton = styled.button(_templateObject3$5 || (_templateObject3$5 = _taggedTemplateLiteral(["\n display: inline-flex;\n justify-content: center;\n align-items: center;\n height: 24px;\n width: 24px;\n padding: 0;\n border-radius: 6px;\n background: #fff;\n border: 1px solid #e7e7e7;\n flex-shrink: 0;\n z-index: 3;\n cursor: pointer;\n position: absolute;\n top: 6px;\n right: 6px;\n opacity: 0;\n pointer-events: none;\n transform: translateY(-4px);\n transition:\n border-color 0.2s ease,\n background-color 0.2s ease,\n opacity 0.2s ease,\n transform 0.2s ease;\n\n ", ":hover &,\n ", ":focus-within & {\n opacity: 1;\n pointer-events: auto;\n transform: translateY(0);\n }\n\n img {\n height: 14px;\n }\n\n &:hover {\n border-color: #d91919;\n background: #fff5f5;\n }\n\n &:focus {\n outline: 2px solid #d91919;\n outline-offset: 1px;\n }\n"])), TemplateItem, TemplateItem);
|
|
6010
|
+
var TemplateFooter = styled.div(_templateObject4$2 || (_templateObject4$2 = _taggedTemplateLiteral(["\n width: 115px;\n display: flex;\n align-items: center;\n gap: 6px;\n"])));
|
|
6011
|
+
var TemplateTitle = styled.div(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["\n color: #a1a1a1;\n font-size: 10px;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n flex: 1;\n min-width: 0;\n line-height: 1.2;\n padding-bottom: 2px;\n"])));
|
|
6012
|
+
var TemplatePreview = styled.div(_templateObject6 || (_templateObject6 = _taggedTemplateLiteral(["\n position: relative;\n width: 115px;\n height: 125px;\n display: flex;\n align-items: center;\n justify-content: center;\n border-radius: 6px;\n overflow: hidden;\n\n img {\n border-radius: 6px;\n }\n"])));
|
|
6013
|
+
var StyledContainer$5 = styled.div(_templateObject7 || (_templateObject7 = _taggedTemplateLiteral(["\n display: flex;\n flex: 1;\n flex-direction: column;\n padding: 20px 18px;\n overflow: auto;\n"])));
|
|
5942
6014
|
|
|
5943
6015
|
var propTypes$7 = {
|
|
5944
6016
|
text: PropTypes.string,
|
|
@@ -5995,12 +6067,14 @@ var RadioSection = function RadioSection(_ref) {
|
|
|
5995
6067
|
RadioSection.propTypes = propTypes$7;
|
|
5996
6068
|
|
|
5997
6069
|
var TemplateSideBar = function TemplateSideBar(_ref) {
|
|
5998
|
-
var _TEXT_DICTIONARY$lang, _TEXT_DICTIONARY$lang2, _TEXT_DICTIONARY$lang3, _TEXT_DICTIONARY$lang4, _TEXT_DICTIONARY$lang5, _TEXT_DICTIONARY$lang6, _TEXT_DICTIONARY$lang7;
|
|
6070
|
+
var _TEXT_DICTIONARY$lang, _TEXT_DICTIONARY$lang2, _TEXT_DICTIONARY$lang3, _TEXT_DICTIONARY$lang4, _TEXT_DICTIONARY$lang5, _TEXT_DICTIONARY$lang6, _TEXT_DICTIONARY$lang7, _TEXT_DICTIONARY$lang8;
|
|
5999
6071
|
var oncreateNewTemplate = _ref.oncreateNewTemplate,
|
|
6000
6072
|
languageLocale = _ref.languageLocale,
|
|
6001
6073
|
onDeleteCustomTemplate = _ref.onDeleteCustomTemplate,
|
|
6002
6074
|
defaultTemplatesList = _ref.defaultTemplatesList,
|
|
6003
6075
|
customTemplatesList = _ref.customTemplatesList,
|
|
6076
|
+
_ref$templatesDisplay = _ref.templatesDisplayOrder,
|
|
6077
|
+
templatesDisplayOrder = _ref$templatesDisplay === void 0 ? 'defaultFirst' : _ref$templatesDisplay,
|
|
6004
6078
|
onTemplateSelect = _ref.onTemplateSelect,
|
|
6005
6079
|
isLocationTextActive = _ref.isLocationTextActive,
|
|
6006
6080
|
onToggleLocationText = _ref.onToggleLocationText,
|
|
@@ -6017,21 +6091,12 @@ var TemplateSideBar = function TemplateSideBar(_ref) {
|
|
|
6017
6091
|
onTemplateSelect(item === null || item === void 0 ? void 0 : item.id);
|
|
6018
6092
|
}
|
|
6019
6093
|
}
|
|
6020
|
-
}, /*#__PURE__*/React.createElement(StyledImage, {
|
|
6094
|
+
}, /*#__PURE__*/React.createElement(TemplatePreview, null, /*#__PURE__*/React.createElement(StyledImage, {
|
|
6021
6095
|
src: item === null || item === void 0 ? void 0 : item.image,
|
|
6022
6096
|
maxHeight: 125,
|
|
6023
6097
|
maxWidth: 115,
|
|
6024
6098
|
borderRadius: 6
|
|
6025
|
-
}), /*#__PURE__*/React.createElement(
|
|
6026
|
-
color: theme.color.gray_A1A1A1,
|
|
6027
|
-
fontSize: 10,
|
|
6028
|
-
style: {
|
|
6029
|
-
whiteSpace: 'nowrap',
|
|
6030
|
-
overflow: 'hidden',
|
|
6031
|
-
textOverflow: 'ellipsis',
|
|
6032
|
-
maxWidth: 115
|
|
6033
|
-
}
|
|
6034
|
-
}, item === null || item === void 0 ? void 0 : item.title));
|
|
6099
|
+
})), /*#__PURE__*/React.createElement(TemplateFooter, null, /*#__PURE__*/React.createElement(TemplateTitle, null, item === null || item === void 0 ? void 0 : item.title)));
|
|
6035
6100
|
}));
|
|
6036
6101
|
}, []);
|
|
6037
6102
|
var renderCustomContent = useMemo(function () {
|
|
@@ -6044,29 +6109,23 @@ var TemplateSideBar = function TemplateSideBar(_ref) {
|
|
|
6044
6109
|
onTemplateSelect(item === null || item === void 0 ? void 0 : item.id);
|
|
6045
6110
|
}
|
|
6046
6111
|
}
|
|
6047
|
-
}, /*#__PURE__*/React.createElement(StyledImage, {
|
|
6112
|
+
}, /*#__PURE__*/React.createElement(TemplatePreview, null, /*#__PURE__*/React.createElement(StyledImage, {
|
|
6048
6113
|
src: item === null || item === void 0 ? void 0 : item.image,
|
|
6049
6114
|
maxHeight: 125,
|
|
6050
6115
|
maxWidth: 115,
|
|
6051
6116
|
borderRadius: 6
|
|
6052
6117
|
}), /*#__PURE__*/React.createElement(StyledDeleteButton, {
|
|
6118
|
+
"aria-label": "Delete ".concat((item === null || item === void 0 ? void 0 : item.title) || 'template'),
|
|
6053
6119
|
onClick: function onClick(e) {
|
|
6054
|
-
e.stopPropagation();
|
|
6055
|
-
|
|
6120
|
+
e.stopPropagation();
|
|
6121
|
+
var shouldDelete = window.confirm("Delete \"".concat((item === null || item === void 0 ? void 0 : item.title) || 'this template', "\"?"));
|
|
6122
|
+
if (shouldDelete) {
|
|
6123
|
+
onDeleteCustomTemplate === null || onDeleteCustomTemplate === void 0 || onDeleteCustomTemplate(item);
|
|
6124
|
+
}
|
|
6056
6125
|
}
|
|
6057
6126
|
}, /*#__PURE__*/React.createElement(StyledImage, {
|
|
6058
|
-
src: IconDelete
|
|
6059
|
-
|
|
6060
|
-
})), /*#__PURE__*/React.createElement(StyledText, {
|
|
6061
|
-
color: theme.color.gray_A1A1A1,
|
|
6062
|
-
fontSize: 10,
|
|
6063
|
-
style: {
|
|
6064
|
-
whiteSpace: 'nowrap',
|
|
6065
|
-
overflow: 'hidden',
|
|
6066
|
-
textOverflow: 'ellipsis',
|
|
6067
|
-
maxWidth: 115
|
|
6068
|
-
}
|
|
6069
|
-
}, item === null || item === void 0 ? void 0 : item.title));
|
|
6127
|
+
src: IconDelete
|
|
6128
|
+
}))), /*#__PURE__*/React.createElement(TemplateFooter, null, /*#__PURE__*/React.createElement(TemplateTitle, null, item === null || item === void 0 ? void 0 : item.title)));
|
|
6070
6129
|
}));
|
|
6071
6130
|
}, []);
|
|
6072
6131
|
return /*#__PURE__*/React.createElement(StyledContainer$5, null, /*#__PURE__*/React.createElement(Button, {
|
|
@@ -6118,13 +6177,16 @@ var TemplateSideBar = function TemplateSideBar(_ref) {
|
|
|
6118
6177
|
isActive: !!isQrIdTextActive,
|
|
6119
6178
|
onToggle: onToggleQrIdText,
|
|
6120
6179
|
disabled: false
|
|
6121
|
-
})) : null), /*#__PURE__*/React.createElement(Collapsable, {
|
|
6122
|
-
title: TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang6 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang6 === void 0 ? void 0 : _TEXT_DICTIONARY$lang6.
|
|
6180
|
+
})) : null), templatesDisplayOrder === 'customFirst' && customTemplatesList.length > 0 ? /*#__PURE__*/React.createElement(Collapsable, {
|
|
6181
|
+
title: TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang6 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang6 === void 0 ? void 0 : _TEXT_DICTIONARY$lang6.CUSTOM_TEMPLATES,
|
|
6182
|
+
content: renderCustomContent
|
|
6183
|
+
}) : null, /*#__PURE__*/React.createElement(Collapsable, {
|
|
6184
|
+
title: TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang7 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang7 === void 0 ? void 0 : _TEXT_DICTIONARY$lang7.DEFAULT,
|
|
6123
6185
|
content: renderDefaultContent
|
|
6124
|
-
}), customTemplatesList.length > 0
|
|
6125
|
-
title: TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$
|
|
6186
|
+
}), templatesDisplayOrder !== 'customFirst' && customTemplatesList.length > 0 ? /*#__PURE__*/React.createElement(Collapsable, {
|
|
6187
|
+
title: TEXT_DICTIONARY === null || TEXT_DICTIONARY === void 0 || (_TEXT_DICTIONARY$lang8 = TEXT_DICTIONARY[languageLocale]) === null || _TEXT_DICTIONARY$lang8 === void 0 ? void 0 : _TEXT_DICTIONARY$lang8.CUSTOM_TEMPLATES,
|
|
6126
6188
|
content: renderCustomContent
|
|
6127
|
-
}));
|
|
6189
|
+
}) : null);
|
|
6128
6190
|
};
|
|
6129
6191
|
TemplateSideBar.propTypes = propTypes$9;
|
|
6130
6192
|
|
|
@@ -6464,6 +6526,7 @@ var HelperSideBar = function HelperSideBar(_ref) {
|
|
|
6464
6526
|
setLoadingUploadImage = _ref.setLoadingUploadImage,
|
|
6465
6527
|
defaultTemplatesList = _ref.defaultTemplatesList,
|
|
6466
6528
|
customTemplatesList = _ref.customTemplatesList,
|
|
6529
|
+
templatesDisplayOrder = _ref.templatesDisplayOrder,
|
|
6467
6530
|
onDeleteCustomTemplate = _ref.onDeleteCustomTemplate,
|
|
6468
6531
|
styleProps = _ref.styleProps,
|
|
6469
6532
|
defaultText = _ref.defaultText,
|
|
@@ -6489,6 +6552,7 @@ var HelperSideBar = function HelperSideBar(_ref) {
|
|
|
6489
6552
|
onDeleteCustomTemplate: onDeleteCustomTemplate,
|
|
6490
6553
|
defaultTemplatesList: defaultTemplatesList,
|
|
6491
6554
|
customTemplatesList: customTemplatesList,
|
|
6555
|
+
templatesDisplayOrder: templatesDisplayOrder,
|
|
6492
6556
|
onTemplateSelect: onTemplateSelect,
|
|
6493
6557
|
styleProps: styleProps,
|
|
6494
6558
|
isLocationTextActive: isLocationTextActive,
|
|
@@ -6627,6 +6691,9 @@ var isPropValid = /* #__PURE__ */memoize(function (prop) {
|
|
|
6627
6691
|
* @property {boolean} [disableWhiteLabel]
|
|
6628
6692
|
* @property {Array} [defaultTemplatesList]
|
|
6629
6693
|
* @property {Array} [customTemplatesList]
|
|
6694
|
+
* @property {'defaultFirst'|'customFirst'} [templatesDisplayOrder]
|
|
6695
|
+
* @property {boolean} [showOutsideBoundaryPreview]
|
|
6696
|
+
* @property {number} [outsideBoundaryPreviewPadding]
|
|
6630
6697
|
* @property {string} [qrLink]
|
|
6631
6698
|
* @property {Object} [styleProps]
|
|
6632
6699
|
* @property {string} [defaultText]
|
|
@@ -6665,6 +6732,12 @@ var Studio = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
6665
6732
|
defaultTemplatesList = _ref$defaultTemplates === void 0 ? [] : _ref$defaultTemplates,
|
|
6666
6733
|
_ref$customTemplatesL = _ref.customTemplatesList,
|
|
6667
6734
|
customTemplatesList = _ref$customTemplatesL === void 0 ? [] : _ref$customTemplatesL,
|
|
6735
|
+
_ref$templatesDisplay = _ref.templatesDisplayOrder,
|
|
6736
|
+
templatesDisplayOrder = _ref$templatesDisplay === void 0 ? 'defaultFirst' : _ref$templatesDisplay,
|
|
6737
|
+
_ref$showOutsideBound = _ref.showOutsideBoundaryPreview,
|
|
6738
|
+
showOutsideBoundaryPreview = _ref$showOutsideBound === void 0 ? false : _ref$showOutsideBound,
|
|
6739
|
+
_ref$outsideBoundaryP = _ref.outsideBoundaryPreviewPadding,
|
|
6740
|
+
outsideBoundaryPreviewPadding = _ref$outsideBoundaryP === void 0 ? 120 : _ref$outsideBoundaryP,
|
|
6668
6741
|
onDeleteCustomTemplate = _ref.onDeleteCustomTemplate,
|
|
6669
6742
|
_ref$qrLink = _ref.qrLink,
|
|
6670
6743
|
qrLink = _ref$qrLink === void 0 ? 'www.google.com' : _ref$qrLink,
|
|
@@ -6896,7 +6969,7 @@ var Studio = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
6896
6969
|
case 1:
|
|
6897
6970
|
processedElements = removeImageProperty(elements);
|
|
6898
6971
|
_context.n = 2;
|
|
6899
|
-
return exportStageAsImage(stageRef);
|
|
6972
|
+
return exportStageAsImage(stageRef, null, 2, exportCropArea);
|
|
6900
6973
|
case 2:
|
|
6901
6974
|
dataURL = _context.v;
|
|
6902
6975
|
setLoading(false);
|
|
@@ -6961,9 +7034,13 @@ var Studio = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
6961
7034
|
var isMac = navigator.platform.toUpperCase().includes('MAC');
|
|
6962
7035
|
var ctrlOrCmd = isMac ? e.metaKey : e.ctrlKey;
|
|
6963
7036
|
var shiftKey = e.shiftKey;
|
|
7037
|
+
var activeElement = document.activeElement;
|
|
7038
|
+
var isTypingTarget = ['INPUT', 'TEXTAREA'].includes(activeElement === null || activeElement === void 0 ? void 0 : activeElement.tagName) || (activeElement === null || activeElement === void 0 ? void 0 : activeElement.isContentEditable);
|
|
7039
|
+
var isDeleteKey = e.key === 'Delete' || e.key === 'Del';
|
|
7040
|
+
var isBackspaceKey = e.key === 'Backspace';
|
|
6964
7041
|
|
|
6965
|
-
// Delete
|
|
6966
|
-
if ((
|
|
7042
|
+
// Delete selected element with Delete (Win) or Backspace (Mac)
|
|
7043
|
+
if ((isDeleteKey || isBackspaceKey) && selectedElement && !isTypingTarget) {
|
|
6967
7044
|
e.preventDefault();
|
|
6968
7045
|
onDeleteSelectedElement();
|
|
6969
7046
|
}
|
|
@@ -7070,6 +7147,18 @@ var Studio = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
7070
7147
|
return (e === null || e === void 0 ? void 0 : e.type) === (elementTypes === null || elementTypes === void 0 ? void 0 : elementTypes.pageSize);
|
|
7071
7148
|
})) === null || _elements$find2 === void 0 ? void 0 : _elements$find2.size) || (pageSizes === null || pageSizes === void 0 ? void 0 : pageSizes.A4)]) === null || _pageSizesDimensions2 === void 0 ? void 0 : _pageSizesDimensions2.width, zoomPercentage);
|
|
7072
7149
|
}, [zoomPercentage, elements]);
|
|
7150
|
+
var normalizedOutsidePreviewPadding = useMemo(function () {
|
|
7151
|
+
return Math.max(0, Number(outsideBoundaryPreviewPadding) || 0);
|
|
7152
|
+
}, [outsideBoundaryPreviewPadding]);
|
|
7153
|
+
var exportCropArea = useMemo(function () {
|
|
7154
|
+
if (!showOutsideBoundaryPreview) return null;
|
|
7155
|
+
return {
|
|
7156
|
+
x: normalizedOutsidePreviewPadding,
|
|
7157
|
+
y: normalizedOutsidePreviewPadding,
|
|
7158
|
+
width: editorWidth,
|
|
7159
|
+
height: editorHeight
|
|
7160
|
+
};
|
|
7161
|
+
}, [showOutsideBoundaryPreview, normalizedOutsidePreviewPadding, editorWidth, editorHeight]);
|
|
7073
7162
|
var selectedPageSize = useMemo(function () {
|
|
7074
7163
|
var _elements$find3;
|
|
7075
7164
|
return (elements === null || elements === void 0 || (_elements$find3 = elements.find(function (e) {
|
|
@@ -7812,7 +7901,7 @@ var Studio = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
7812
7901
|
case 2:
|
|
7813
7902
|
processedElements = removeImageProperty(elements);
|
|
7814
7903
|
_context3.n = 3;
|
|
7815
|
-
return exportStageAsImage(stageRef);
|
|
7904
|
+
return exportStageAsImage(stageRef, null, 2, exportCropArea);
|
|
7816
7905
|
case 3:
|
|
7817
7906
|
dataURL = _context3.v;
|
|
7818
7907
|
setLoading(false);
|
|
@@ -7862,6 +7951,7 @@ var Studio = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
7862
7951
|
setLoadingUploadImage: setLoadingUploadImage,
|
|
7863
7952
|
defaultTemplatesList: defaultTemplatesList,
|
|
7864
7953
|
customTemplatesList: customTemplatesList,
|
|
7954
|
+
templatesDisplayOrder: templatesDisplayOrder,
|
|
7865
7955
|
onDeleteCustomTemplate: onDeleteCustomTemplate,
|
|
7866
7956
|
styleProps: styleProps,
|
|
7867
7957
|
defaultText: defaultText,
|
|
@@ -7951,7 +8041,9 @@ var Studio = /*#__PURE__*/forwardRef(function (_ref, ref) {
|
|
|
7951
8041
|
onRemoveBackgroundImage: onRemoveBackgroundImage,
|
|
7952
8042
|
showBackgroundImagePicker: showBackgroundImagePicker,
|
|
7953
8043
|
showOpacityPicker: showOpacityPicker,
|
|
7954
|
-
changeSelectedElementProperty: changeSelectedElementProperty
|
|
8044
|
+
changeSelectedElementProperty: changeSelectedElementProperty,
|
|
8045
|
+
showOutsideBoundaryPreview: showOutsideBoundaryPreview,
|
|
8046
|
+
outsideBoundaryPreviewPadding: normalizedOutsidePreviewPadding
|
|
7955
8047
|
}), overallLoading && /*#__PURE__*/React.createElement(Overlay, null, /*#__PURE__*/React.createElement(LoadingSpinner, {
|
|
7956
8048
|
size: "60px",
|
|
7957
8049
|
color: theme.color.secondary
|