labellife-design-tool 2.2.4 → 2.2.6

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.
@@ -1897,11 +1897,11 @@ var Store = types.model('Store', {
1897
1897
  _toCanvas: function _toCanvas() {
1898
1898
  var _arguments = arguments;
1899
1899
  return _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
1900
- var _ref4, _ref4$pixelRatio, pixelRatio, pageId, stage, page, layer, prevX, prevY, prevScaleX, prevScaleY, canvas;
1900
+ var _ref4, _ref4$pixelRatio, pixelRatio, pageId, _ref4$mimeType, mimeType, stage, page, layer, prevX, prevY, prevScaleX, prevScaleY, displayOnlyNodes, transformerNodes, rawCanvas, finalCanvas, ctx;
1901
1901
  return _regenerator().w(function (_context) {
1902
1902
  while (1) switch (_context.n) {
1903
1903
  case 0:
1904
- _ref4 = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {}, _ref4$pixelRatio = _ref4.pixelRatio, pixelRatio = _ref4$pixelRatio === void 0 ? 1 : _ref4$pixelRatio, _ref4.ignoreBackground, pageId = _ref4.pageId, _ref4.mimeType, _ref4.includeBleed, _ref4._skipTimeout, _ref4.quickMode;
1904
+ _ref4 = _arguments.length > 0 && _arguments[0] !== undefined ? _arguments[0] : {}, _ref4$pixelRatio = _ref4.pixelRatio, pixelRatio = _ref4$pixelRatio === void 0 ? 1 : _ref4$pixelRatio, _ref4.ignoreBackground, pageId = _ref4.pageId, _ref4$mimeType = _ref4.mimeType, mimeType = _ref4$mimeType === void 0 ? 'image/png' : _ref4$mimeType, _ref4.includeBleed, _ref4._skipTimeout, _ref4.quickMode;
1905
1905
  stage = self._stageRef;
1906
1906
  if (stage) {
1907
1907
  _context.n = 1;
@@ -1936,20 +1936,56 @@ var Store = types.model('Store', {
1936
1936
  layer.y(0);
1937
1937
  layer.scaleX(1);
1938
1938
  layer.scaleY(1);
1939
+
1940
+ // Hide display-only nodes (shadow, checkerboard, overlay) — not wanted in export
1941
+ displayOnlyNodes = layer.find('.display-only');
1942
+ displayOnlyNodes.forEach(function (n) {
1943
+ return n.hide();
1944
+ });
1945
+
1946
+ // Hide selection transformer handles so they don't appear in exports
1947
+ transformerNodes = layer.find('Transformer');
1948
+ transformerNodes.forEach(function (n) {
1949
+ return n.hide();
1950
+ });
1939
1951
  layer.draw();
1940
- canvas = layer.toCanvas({
1952
+ rawCanvas = layer.toCanvas({
1941
1953
  pixelRatio: pixelRatio,
1942
1954
  x: 0,
1943
1955
  y: 0,
1944
1956
  width: self.width,
1945
1957
  height: self.height
1946
- }); // Restore
1958
+ }); // Restore display-only nodes and transformer handles
1959
+ displayOnlyNodes.forEach(function (n) {
1960
+ return n.show();
1961
+ });
1962
+ transformerNodes.forEach(function (n) {
1963
+ return n.show();
1964
+ });
1965
+
1966
+ // Restore layer transform
1947
1967
  layer.x(prevX);
1948
1968
  layer.y(prevY);
1949
1969
  layer.scaleX(prevScaleX);
1950
1970
  layer.scaleY(prevScaleY);
1951
1971
  layer.draw();
1952
- return _context.a(2, canvas);
1972
+
1973
+ // For JPEG, composite onto a white canvas to eliminate any remaining transparency
1974
+ // (avoids black areas and reduces file size vs checkerboard patterns)
1975
+ if (!(mimeType === 'image/jpeg')) {
1976
+ _context.n = 4;
1977
+ break;
1978
+ }
1979
+ finalCanvas = document.createElement('canvas');
1980
+ finalCanvas.width = rawCanvas.width;
1981
+ finalCanvas.height = rawCanvas.height;
1982
+ ctx = finalCanvas.getContext('2d');
1983
+ ctx.fillStyle = '#ffffff';
1984
+ ctx.fillRect(0, 0, finalCanvas.width, finalCanvas.height);
1985
+ ctx.drawImage(rawCanvas, 0, 0);
1986
+ return _context.a(2, finalCanvas);
1987
+ case 4:
1988
+ return _context.a(2, rawCanvas);
1953
1989
  }
1954
1990
  }, _callee);
1955
1991
  }))();
@@ -1980,7 +2016,7 @@ var Store = types.model('Store', {
1980
2016
  return _regenerator().w(function (_context3) {
1981
2017
  while (1) switch (_context3.n) {
1982
2018
  case 0:
1983
- _ref6 = _arguments3.length > 0 && _arguments3[0] !== undefined ? _arguments3[0] : {}, _ref6$mimeType = _ref6.mimeType, mimeType = _ref6$mimeType === void 0 ? 'image/png' : _ref6$mimeType, _ref6$quality = _ref6.quality, quality = _ref6$quality === void 0 ? 1 : _ref6$quality, rest = _objectWithoutProperties(_ref6, _excluded2);
2019
+ _ref6 = _arguments3.length > 0 && _arguments3[0] !== undefined ? _arguments3[0] : {}, _ref6$mimeType = _ref6.mimeType, mimeType = _ref6$mimeType === void 0 ? 'image/png' : _ref6$mimeType, _ref6$quality = _ref6.quality, quality = _ref6$quality === void 0 ? 0.92 : _ref6$quality, rest = _objectWithoutProperties(_ref6, _excluded2);
1984
2020
  _context3.n = 1;
1985
2021
  return self._toCanvas(_objectSpread2({
1986
2022
  mimeType: mimeType