labellife-design-tool 2.1.8 → 2.2.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/cjs/index.js +38 -7
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/model/store.js +30 -2
- package/dist/cjs/model/store.js.map +1 -1
- package/dist/cjs/toolbar/toolbar.js +8 -5
- package/dist/cjs/toolbar/toolbar.js.map +1 -1
- package/dist/esm/index.js +38 -7
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/model/store.js +30 -2
- package/dist/esm/model/store.js.map +1 -1
- package/dist/esm/toolbar/toolbar.js +8 -5
- package/dist/esm/toolbar/toolbar.js.map +1 -1
- package/package.json +1 -1
package/dist/cjs/index.js
CHANGED
|
@@ -1429,6 +1429,31 @@ var _excluded$5 = ["mimeType", "quality", "dpi", "dpiMetadata"],
|
|
|
1429
1429
|
_excluded2$1 = ["mimeType", "quality"],
|
|
1430
1430
|
_excluded3$1 = ["fileName"],
|
|
1431
1431
|
_excluded4 = ["fileName"];
|
|
1432
|
+
|
|
1433
|
+
// Detect embedded base64 data URLs (data:...;base64,...).
|
|
1434
|
+
// These bloat exported JSON significantly (a single image can be 1MB+).
|
|
1435
|
+
// Regular http/https/blob URLs are preserved.
|
|
1436
|
+
var isBase64DataUrl = function isBase64DataUrl(v) {
|
|
1437
|
+
return typeof v === 'string' && v.startsWith('data:') && v.includes(';base64,');
|
|
1438
|
+
};
|
|
1439
|
+
var _stripBase64FromElement = function stripBase64FromElement(el) {
|
|
1440
|
+
var out = _objectSpread2({}, el);
|
|
1441
|
+
if (isBase64DataUrl(out.src)) out.src = '';
|
|
1442
|
+
if (isBase64DataUrl(out.clipSrc)) out.clipSrc = '';
|
|
1443
|
+
if (Array.isArray(out.children)) {
|
|
1444
|
+
out.children = out.children.map(_stripBase64FromElement);
|
|
1445
|
+
}
|
|
1446
|
+
return out;
|
|
1447
|
+
};
|
|
1448
|
+
var stripBase64FromExport = function stripBase64FromExport(data) {
|
|
1449
|
+
return _objectSpread2(_objectSpread2({}, data), {}, {
|
|
1450
|
+
pages: (data.pages || []).map(function (page) {
|
|
1451
|
+
return _objectSpread2(_objectSpread2({}, page), {}, {
|
|
1452
|
+
children: (page.children || []).map(_stripBase64FromElement)
|
|
1453
|
+
});
|
|
1454
|
+
})
|
|
1455
|
+
});
|
|
1456
|
+
};
|
|
1432
1457
|
var Font = mobxStateTree.types.model('Font', {
|
|
1433
1458
|
fontFamily: mobxStateTree.types.string,
|
|
1434
1459
|
url: mobxStateTree.types.optional(mobxStateTree.types.string, ''),
|
|
@@ -2133,8 +2158,11 @@ var Store = mobxStateTree.types.model('Store', {
|
|
|
2133
2158
|
saveAsJSON: function saveAsJSON() {
|
|
2134
2159
|
var _ref0 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
2135
2160
|
_ref0$fileName = _ref0.fileName,
|
|
2136
|
-
fileName = _ref0$fileName === void 0 ? 'design.json' : _ref0$fileName
|
|
2137
|
-
|
|
2161
|
+
fileName = _ref0$fileName === void 0 ? 'design.json' : _ref0$fileName,
|
|
2162
|
+
_ref0$stripBase = _ref0.stripBase64,
|
|
2163
|
+
stripBase64 = _ref0$stripBase === void 0 ? true : _ref0$stripBase;
|
|
2164
|
+
var data = stripBase64 ? stripBase64FromExport(self.toJSON()) : self.toJSON();
|
|
2165
|
+
var json = JSON.stringify(data, null, 2);
|
|
2138
2166
|
var blob = new Blob([json], {
|
|
2139
2167
|
type: 'application/json'
|
|
2140
2168
|
});
|
|
@@ -8469,7 +8497,9 @@ var DefaultDownloadButton = mobxReactLite.observer(function (_ref9) {
|
|
|
8469
8497
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
8470
8498
|
fileType = _useState6[0],
|
|
8471
8499
|
setFileType = _useState6[1];
|
|
8472
|
-
|
|
8500
|
+
// Default quality so pixelRatio=1 (output = template's own pixel size).
|
|
8501
|
+
// qualityToPixelRatio(q) = q * 3, so q = 1/3 → pixelRatio = 1.
|
|
8502
|
+
var _useState7 = React.useState(1 / 3),
|
|
8473
8503
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
8474
8504
|
quality = _useState8[0],
|
|
8475
8505
|
setQuality = _useState8[1];
|
|
@@ -8840,7 +8870,7 @@ var Toolbar = mobxReactLite.observer(function (_ref11) {
|
|
|
8840
8870
|
children: [/*#__PURE__*/jsxRuntime.jsxs(material.Box, {
|
|
8841
8871
|
sx: _objectSpread2(_objectSpread2({}, rowSx), {}, {
|
|
8842
8872
|
minHeight: 52,
|
|
8843
|
-
borderBottom:
|
|
8873
|
+
borderBottom: '1px solid #f0f0f0'
|
|
8844
8874
|
}),
|
|
8845
8875
|
children: [/*#__PURE__*/jsxRuntime.jsx(material.Tooltip, {
|
|
8846
8876
|
title: t('toolbar.undo', 'Undo'),
|
|
@@ -8953,12 +8983,13 @@ var Toolbar = mobxReactLite.observer(function (_ref11) {
|
|
|
8953
8983
|
}), DownloadButton && /*#__PURE__*/jsxRuntime.jsx(DownloadButton, {
|
|
8954
8984
|
store: store
|
|
8955
8985
|
})]
|
|
8956
|
-
}),
|
|
8986
|
+
}), /*#__PURE__*/jsxRuntime.jsx(material.Box, {
|
|
8957
8987
|
sx: _objectSpread2(_objectSpread2({}, rowSx), {}, {
|
|
8958
8988
|
minHeight: 44,
|
|
8959
|
-
backgroundColor: '#fafafa'
|
|
8989
|
+
backgroundColor: '#fafafa',
|
|
8990
|
+
visibility: element ? 'visible' : 'hidden'
|
|
8960
8991
|
}),
|
|
8961
|
-
children: /*#__PURE__*/jsxRuntime.jsx(CommonControls, {
|
|
8992
|
+
children: element && /*#__PURE__*/jsxRuntime.jsx(CommonControls, {
|
|
8962
8993
|
element: element,
|
|
8963
8994
|
store: store
|
|
8964
8995
|
})
|