@solostylist/image-editor 1.0.13 → 1.0.15

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.
Files changed (132) hide show
  1. package/lib/actions/add-filter.js +2 -1
  2. package/lib/actions/enable-text-content-edit.js +2 -1
  3. package/lib/actions/set-canvas-size.d.ts.map +1 -1
  4. package/lib/actions/set-crop.js +6 -1
  5. package/lib/actions/set-shown-image-dimensions.js +3 -2
  6. package/lib/components/app/index.d.ts.map +1 -1
  7. package/lib/components/app/index.js +111 -41
  8. package/lib/components/assembly-point/index.d.ts +1 -2
  9. package/lib/components/assembly-point/index.d.ts.map +1 -1
  10. package/lib/components/assembly-point/index.js +1 -5
  11. package/lib/components/common/annotation-options/index.js +3 -3
  12. package/lib/components/common/annotation-options/shadow-fields.js +2 -2
  13. package/lib/components/common/color-picker-modal/index.js +1 -1
  14. package/lib/components/common/icon-wrapper/index.js +1 -1
  15. package/lib/components/common/image-preview-tile/index.js +1 -1
  16. package/lib/components/common/slider/index.js +4 -4
  17. package/lib/components/feedback-popup/index.js +2 -2
  18. package/lib/components/layers/design-layer/index.d.ts.map +1 -1
  19. package/lib/components/layers/design-layer/index.js +11 -8
  20. package/lib/components/layers/transformers-layer/crop-transformer.js +3 -2
  21. package/lib/components/layers/transformers-layer/index.js +3 -2
  22. package/lib/components/main-canvas/canvas-node.d.ts.map +1 -1
  23. package/lib/components/main-canvas/canvas-node.js +8 -6
  24. package/lib/components/main-canvas/index.d.ts.map +1 -1
  25. package/lib/components/main-canvas/index.js +135 -33
  26. package/lib/components/main-canvas/touch-zooming-events.js +3 -2
  27. package/lib/components/node-controls/index.d.ts.map +1 -1
  28. package/lib/components/node-controls/index.js +4 -3
  29. package/lib/components/tabs/index.d.ts.map +1 -1
  30. package/lib/components/tabs/index.js +165 -23
  31. package/lib/components/tabs-drawer/index.d.ts +3 -3
  32. package/lib/components/tabs-drawer/index.d.ts.map +1 -1
  33. package/lib/components/tabs-drawer/index.js +66 -43
  34. package/lib/components/tools/crop/crop.d.ts.map +1 -1
  35. package/lib/components/tools/crop/crop.js +3 -3
  36. package/lib/components/tools/filters/filter-item.d.ts +4 -3
  37. package/lib/components/tools/filters/filter-item.d.ts.map +1 -1
  38. package/lib/components/tools/filters/filter-item.js +4 -1
  39. package/lib/components/tools/filters/filters.constants.d.ts +2 -2
  40. package/lib/components/tools/filters/filters.constants.d.ts.map +1 -1
  41. package/lib/components/tools/filters/filters.d.ts +4 -1
  42. package/lib/components/tools/filters/filters.d.ts.map +1 -1
  43. package/lib/components/tools/filters/filters.js +9 -3
  44. package/lib/components/tools/image/image-options.js +5 -4
  45. package/lib/components/tools/image/images-gallery.js +1 -1
  46. package/lib/components/tools/pen/pen-options.js +4 -3
  47. package/lib/components/tools/resize/resize.d.ts +1 -1
  48. package/lib/components/tools/resize/resize.d.ts.map +1 -1
  49. package/lib/components/tools/resize/resize.js +5 -2
  50. package/lib/components/tools/rotate/rotate-options.js +1 -1
  51. package/lib/components/tools/text/text-options/handle-text-change-area.d.ts.map +1 -1
  52. package/lib/components/tools/text/text-options/text-alignment-fields.js +1 -1
  53. package/lib/components/tools/text/text-options/text-controls.js +8 -6
  54. package/lib/components/tools/tools.constants.d.ts +2 -2
  55. package/lib/components/tools/tools.constants.d.ts.map +1 -1
  56. package/lib/components/tools/watermark/watermark-padding.js +2 -1
  57. package/lib/components/tools/watermark/watermark.js +9 -8
  58. package/lib/components/tools-bar/index.d.ts.map +1 -1
  59. package/lib/components/tools-bar/index.js +47 -22
  60. package/lib/components/tools-bar/tools-bar-item-button.d.ts.map +1 -1
  61. package/lib/components/tools-bar/tools-bar-item-button.js +8 -3
  62. package/lib/components/topbar/canvas-zooming.d.ts.map +1 -1
  63. package/lib/components/topbar/canvas-zooming.js +5 -5
  64. package/lib/components/topbar/confirmation-modal.js +2 -2
  65. package/lib/components/topbar/image-dimensions-and-display-toggle.d.ts.map +1 -1
  66. package/lib/components/topbar/image-dimensions-and-display-toggle.js +8 -6
  67. package/lib/components/topbar/index.d.ts.map +1 -1
  68. package/lib/components/topbar/index.js +33 -24
  69. package/lib/components/topbar/redo-button.js +1 -1
  70. package/lib/components/topbar/reset-button.js +1 -1
  71. package/lib/components/topbar/save-button.js +9 -6
  72. package/lib/components/topbar/topbar-action-buttons.d.ts +3 -0
  73. package/lib/components/topbar/topbar-action-buttons.d.ts.map +1 -0
  74. package/lib/components/topbar/topbar-action-buttons.js +27 -0
  75. package/lib/components/topbar/undo-button.js +1 -1
  76. package/lib/context/app-provider.d.ts.map +1 -1
  77. package/lib/context/app-provider.js +8 -6
  78. package/lib/context/app-reducer.js +2 -1
  79. package/lib/context/default-config.d.ts.map +1 -1
  80. package/lib/context/default-config.js +1 -1
  81. package/lib/context/default-translations.d.ts +1 -0
  82. package/lib/context/default-translations.d.ts.map +1 -1
  83. package/lib/context/default-translations.js +465 -113
  84. package/lib/context/get-initial-app-state.js +4 -4
  85. package/lib/custom/filters/moon.d.ts.map +1 -1
  86. package/lib/demo/app.d.ts.map +1 -1
  87. package/lib/demo/app.js +62 -18
  88. package/lib/hooks/index.d.ts +1 -0
  89. package/lib/hooks/index.d.ts.map +1 -1
  90. package/lib/hooks/index.js +2 -1
  91. package/lib/hooks/use-annotation/get-new-annotation-preview.js +2 -2
  92. package/lib/hooks/use-annotation/index.d.ts.map +1 -1
  93. package/lib/hooks/use-annotation/index.js +15 -2
  94. package/lib/hooks/use-annotation-events.d.ts.map +1 -1
  95. package/lib/hooks/use-app-reducer.d.ts.map +1 -1
  96. package/lib/hooks/use-app-reducer.js +2 -1
  97. package/lib/hooks/use-image-editor-actions.d.ts +16 -0
  98. package/lib/hooks/use-image-editor-actions.d.ts.map +1 -0
  99. package/lib/hooks/use-image-editor-actions.js +147 -0
  100. package/lib/hooks/use-resize-observer.d.ts.map +1 -1
  101. package/lib/hooks/use-resize-observer.js +2 -3
  102. package/lib/hooks/use-transformed-img-data.d.ts +1 -1
  103. package/lib/hooks/use-transformed-img-data.d.ts.map +1 -1
  104. package/lib/hooks/use-transformed-img-data.js +13 -9
  105. package/lib/types/actions.d.ts +0 -7
  106. package/lib/types/actions.d.ts.map +1 -1
  107. package/lib/types/config.d.ts +52 -3
  108. package/lib/types/config.d.ts.map +1 -1
  109. package/lib/types/state.d.ts +1 -1
  110. package/lib/types/state.d.ts.map +1 -1
  111. package/lib/utils/calculate-zoom-data.js +5 -4
  112. package/lib/utils/crop-image.d.ts +3 -1
  113. package/lib/utils/crop-image.d.ts.map +1 -1
  114. package/lib/utils/crop-image.js +10 -4
  115. package/lib/utils/extract-current-design-state.js +3 -2
  116. package/lib/utils/filter-str-to-class.js +2 -1
  117. package/lib/utils/finetunes-strs-to-classes.js +2 -1
  118. package/lib/utils/get-file-full-name.d.ts.map +1 -1
  119. package/lib/utils/get-file-full-name.js +3 -3
  120. package/lib/utils/get-pointer-offset-position-bounded-to-object.js +2 -1
  121. package/lib/utils/get-proper-dimensions.js +3 -2
  122. package/lib/utils/is-same-image.d.ts +1 -1
  123. package/lib/utils/is-same-image.d.ts.map +1 -1
  124. package/lib/utils/load-image.d.ts +1 -1
  125. package/lib/utils/load-image.d.ts.map +1 -1
  126. package/lib/utils/load-image.js +1 -3
  127. package/lib/utils/restrict-number.js +2 -2
  128. package/lib/utils/serialize-design-state.js +5 -3
  129. package/lib/utils/translator.d.ts +4 -1
  130. package/lib/utils/translator.d.ts.map +1 -1
  131. package/lib/utils/translator.js +11 -2
  132. package/package.json +14 -5
@@ -3,9 +3,10 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  export var ADD_FILTER = 'ADD_FILTER';
5
5
  var addFilter = function addFilter(state, payload) {
6
+ var _payload$filter;
6
7
  return _objectSpread(_objectSpread({}, state), {}, {
7
8
  isDesignState: !payload.dismissHistory,
8
- filter: payload.filter || null
9
+ filter: (_payload$filter = payload.filter) !== null && _payload$filter !== void 0 ? _payload$filter : null
9
10
  });
10
11
  };
11
12
  export default addFilter;
@@ -3,8 +3,9 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  export var ENABLE_TEXT_CONTENT_EDIT = 'ENABLE_TEXT_CONTENT_EDIT';
5
5
  var enableTextContentEdit = function enableTextContentEdit(state, payload) {
6
+ var _payload$textIdOfEdit;
6
7
  return _objectSpread(_objectSpread({}, state), {}, {
7
- textIdOfEditableContent: payload.textIdOfEditableContent || undefined
8
+ textIdOfEditableContent: (_payload$textIdOfEdit = payload.textIdOfEditableContent) !== null && _payload$textIdOfEdit !== void 0 ? _payload$textIdOfEdit : undefined
8
9
  });
9
10
  };
10
11
  export default enableTextContentEdit;
@@ -1 +1 @@
1
- {"version":3,"file":"set-canvas-size.d.ts","sourceRoot":"","sources":["../../src/actions/set-canvas-size.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,QAAA,MAAM,aAAa,GACjB,OAAO,QAAQ,EACf,SAAS,oBAAoB,KAC5B,QAgEF,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"set-canvas-size.d.ts","sourceRoot":"","sources":["../../src/actions/set-canvas-size.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAErD,eAAO,MAAM,eAAe,oBAAoB,CAAC;AAEjD,QAAA,MAAM,aAAa,GACjB,OAAO,QAAQ,EACf,SAAS,oBAAoB,KAC5B,QA+CF,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -6,10 +6,15 @@ export var SET_CROP = 'SET_CROP';
6
6
  var setCrop = function setCrop(state, payload) {
7
7
  var _state$adjustments$cr, _payload$ratioTitleKe;
8
8
  var oldCrop = (_state$adjustments$cr = state.adjustments.crop) !== null && _state$adjustments$cr !== void 0 ? _state$adjustments$cr : {};
9
+ var newRatio = function () {
10
+ if (typeof payload.ratio === 'string') return payload.ratio;
11
+ if (payload.ratio !== undefined) return toPrecisedFloat(payload.ratio);
12
+ return oldCrop.ratio;
13
+ }();
9
14
  var newCrop = {
10
15
  x: payload.x !== undefined ? toPrecisedFloat(payload.x) : oldCrop.x,
11
16
  y: payload.y !== undefined ? toPrecisedFloat(payload.y) : oldCrop.y,
12
- ratio: typeof payload.ratio === 'string' ? payload.ratio : payload.ratio !== undefined ? toPrecisedFloat(payload.ratio) : oldCrop.ratio,
17
+ ratio: newRatio,
13
18
  width: payload.width !== undefined ? toPrecisedFloat(payload.width) : oldCrop.width,
14
19
  height: payload.height !== undefined ? toPrecisedFloat(payload.height) : oldCrop.height,
15
20
  ratioTitleKey: (_payload$ratioTitleKe = payload.ratioTitleKey) !== null && _payload$ratioTitleKe !== void 0 ? _payload$ratioTitleKe : oldCrop.ratioTitleKey,
@@ -3,10 +3,11 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
3
3
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
4
  export var SET_SHOWN_IMAGE_DIMENSIONS = 'SET_SHOWN_IMAGE_DIMENSIONS';
5
5
  var setShownImageDimensions = function setShownImageDimensions(state, payload) {
6
+ var _payload$designLayer, _payload$previewGroup;
6
7
  return _objectSpread(_objectSpread({}, state), {}, {
7
8
  shownImageDimensions: _objectSpread(_objectSpread({}, state.shownImageDimensions), payload.shownImageDimensions),
8
- designLayer: payload.designLayer || state.designLayer,
9
- previewGroup: payload.previewGroup || state.previewGroup
9
+ designLayer: (_payload$designLayer = payload.designLayer) !== null && _payload$designLayer !== void 0 ? _payload$designLayer : state.designLayer,
10
+ previewGroup: (_payload$previewGroup = payload.previewGroup) !== null && _payload$previewGroup !== void 0 ? _payload$previewGroup : state.previewGroup
10
11
  });
11
12
  };
12
13
  export default setShownImageDimensions;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/app/index.tsx"],"names":[],"mappings":";AA6WA,wBAAyB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/app/index.tsx"],"names":[],"mappings":";AA0aA,wBAAyB"}
@@ -1,16 +1,18 @@
1
1
  import _typeof from "@babel/runtime/helpers/typeof";
2
2
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
4
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
5
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
6
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
- import { SFlexBox } from '@solostylist/ui-kit/core';
7
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
+ import { SFlexBox } from '@solostylist/ui-kit';
7
9
  import { memo, useCallback, useEffect, useRef, useState } from 'react';
8
10
  import { CircularProgress } from '@mui/material';
9
11
  import { HIDE_LOADER, RESET, SET_FEEDBACK, SET_ORIGINAL_IMAGE, SET_SHOWN_TABS_MENU, SHOW_LOADER, UPDATE_STATE } from "../../actions";
10
12
  import FeedbackPopup from "../feedback-popup";
11
13
  import MainCanvas from "../main-canvas";
12
14
  import Tabs from "../tabs";
13
- import TabsDrawer from "../tabs-drawer";
15
+ import STabsDrawer from "../tabs-drawer";
14
16
  import ToolsBar from "../tools-bar";
15
17
  import Topbar from "../topbar";
16
18
  import { usePhoneScreen, useResizeObserver, useStore, useTransformedImgData } from "../../hooks";
@@ -22,16 +24,14 @@ import isSameImage from "../../utils/is-same-image";
22
24
  import loadImage from "../../utils/load-image";
23
25
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
24
26
  var App = function App() {
25
- var _ref2, _ref3;
27
+ var _ref3, _ref4, _ref5;
26
28
  var _useStore = useStore(),
27
29
  config = _useStore.config,
28
30
  isLoadingGlobally = _useStore.isLoadingGlobally,
29
31
  haveNotSavedChanges = _useStore.haveNotSavedChanges,
30
32
  dispatch = _useStore.dispatch,
31
33
  originalImage = _useStore.originalImage,
32
- t = _useStore.t,
33
- _useStore$feedback = _useStore.feedback,
34
- feedback = _useStore$feedback === void 0 ? {} : _useStore$feedback;
34
+ t = _useStore.t;
35
35
  var loadableDesignState = config.loadableDesignState,
36
36
  source = config.source,
37
37
  avoidChangesNotSavedAlertOnLeave = config.avoidChangesNotSavedAlertOnLeave,
@@ -41,7 +41,13 @@ var App = function App() {
41
41
  getCurrentImgDataFnRef = config.getCurrentImgDataFnRef,
42
42
  updateStateFnRef = config.updateStateFnRef,
43
43
  noCrossOrigin = config.noCrossOrigin,
44
- resetOnImageSourceChange = config.resetOnImageSourceChange;
44
+ resetOnImageSourceChange = config.resetOnImageSourceChange,
45
+ containerHeight = config.containerHeight,
46
+ editorHeight = config.editorHeight,
47
+ toolbarHeight = config.toolbarHeight,
48
+ rootSx = config.rootSx,
49
+ rootClassName = config.rootClassName,
50
+ renderEmptyState = config.renderEmptyState;
45
51
  var showTabsDrawer = window.matchMedia('(max-width: 760px)').matches;
46
52
  var _useResizeObserver = useResizeObserver(),
47
53
  _useResizeObserver2 = _slicedToArray(_useResizeObserver, 2),
@@ -56,6 +62,7 @@ var App = function App() {
56
62
  setRootSize = _useState2[1];
57
63
  var isPhoneScreen = usePhoneScreen();
58
64
  var pluginRootRef = useRef(null);
65
+ var uploadInputRef = useRef(null);
59
66
  var imageBeingLoadedSrc = useRef(null);
60
67
  var haveNotSavedChangesRef = useRef(haveNotSavedChanges);
61
68
  var transformImgFn = useTransformedImgData();
@@ -80,7 +87,11 @@ var App = function App() {
80
87
  }, []);
81
88
  var loadAndSetOriginalImage = function loadAndSetOriginalImage(imgToLoad) {
82
89
  return new Promise(function (resolve) {
83
- var imgSrc = imgToLoad instanceof HTMLImageElement ? imgToLoad.src : imgToLoad;
90
+ var imgSrc = imgToLoad instanceof HTMLImageElement ? imgToLoad === null || imgToLoad === void 0 ? void 0 : imgToLoad.src : imgToLoad;
91
+ if (!imgSrc) {
92
+ resolve();
93
+ return;
94
+ }
84
95
  if (imageBeingLoadedSrc.current === imgSrc || !imgSrc && originalImage || isSameImage(imgSrc, originalImage)) {
85
96
  if (!imageBeingLoadedSrc.current) {
86
97
  resolve();
@@ -96,8 +107,8 @@ var App = function App() {
96
107
  if (typeof imgToLoad === 'string') {
97
108
  loadImage(imgToLoad, defaultSavedImageName, noCrossOrigin).then(setNewOriginalImage)["catch"](setError)["finally"](triggerResolve);
98
109
  } else if (imgToLoad instanceof HTMLImageElement) {
99
- if (!imgToLoad.name && defaultSavedImageName) {
100
- imgToLoad.name = defaultSavedImageName;
110
+ if (!imgToLoad.title && defaultSavedImageName) {
111
+ imgToLoad.title = defaultSavedImageName;
101
112
  }
102
113
  if (!imgToLoad.complete) {
103
114
  imgToLoad.addEventListener('load', function () {
@@ -121,18 +132,50 @@ var App = function App() {
121
132
  e.returnValue = '';
122
133
  }
123
134
  };
124
- var handleLoading = function handleLoading() {
125
- var loadingPromisesFn = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function () {
126
- return [];
135
+ var handleLoading = function () {
136
+ var _ref = _asyncToGenerator(_regeneratorRuntime.mark(function _callee() {
137
+ var loadingPromisesFn,
138
+ _args = arguments;
139
+ return _regeneratorRuntime.wrap(function (_context) {
140
+ while (1) switch (_context.prev = _context.next) {
141
+ case 0:
142
+ loadingPromisesFn = _args.length > 0 && _args[0] !== undefined ? _args[0] : function () {
143
+ return [];
144
+ };
145
+ dispatch({
146
+ type: SHOW_LOADER
147
+ });
148
+ _context.prev = 1;
149
+ _context.next = 2;
150
+ return Promise.all(loadingPromisesFn());
151
+ case 2:
152
+ _context.prev = 2;
153
+ dispatch({
154
+ type: HIDE_LOADER
155
+ });
156
+ return _context.finish(2);
157
+ case 3:
158
+ case "end":
159
+ return _context.stop();
160
+ }
161
+ }, _callee, null, [[1,, 2, 3]]);
162
+ }));
163
+ return function handleLoading() {
164
+ return _ref.apply(this, arguments);
127
165
  };
128
- dispatch({
129
- type: SHOW_LOADER
130
- });
131
- return Promise.all(loadingPromisesFn())["finally"](function () {
132
- dispatch({
133
- type: HIDE_LOADER
134
- });
166
+ }();
167
+ var handleUploadFiles = function handleUploadFiles(files) {
168
+ var file = Array.isArray(files) ? files[0] : files === null || files === void 0 ? void 0 : files[0];
169
+ if (!file) return;
170
+ var objectUrl = URL.createObjectURL(file);
171
+ void handleLoading(function () {
172
+ return [loadAndSetOriginalImage(objectUrl)["finally"](function () {
173
+ URL.revokeObjectURL(objectUrl);
174
+ })];
135
175
  });
176
+ if (uploadInputRef.current) {
177
+ uploadInputRef.current.value = '';
178
+ }
136
179
  };
137
180
  var updateDesignStateWithLoadableOne = function updateDesignStateWithLoadableOne() {
138
181
  if (loadableDesignState && Object.keys(loadableDesignState).length > 0) {
@@ -151,6 +194,14 @@ var App = function App() {
151
194
  return [loadAndSetOriginalImage(source)];
152
195
  });
153
196
  }
197
+ if (!source) {
198
+ dispatch({
199
+ type: SET_ORIGINAL_IMAGE,
200
+ payload: {
201
+ originalImage: undefined
202
+ }
203
+ });
204
+ }
154
205
  if (resetOnImageSourceChange) {
155
206
  dispatch({
156
207
  type: RESET,
@@ -172,9 +223,9 @@ var App = function App() {
172
223
  }, [loadableDesignState]);
173
224
  useEffect(function () {
174
225
  if (observePluginContainerSize && pluginRootRef.current) {
175
- observeResize(pluginRootRef.current.parentNode, function (_ref) {
176
- var width = _ref.width,
177
- height = _ref.height;
226
+ observeResize(pluginRootRef.current.parentNode, function (_ref2) {
227
+ var width = _ref2.width,
228
+ height = _ref2.height;
178
229
  return setRootSize({
179
230
  width: width,
180
231
  height: height
@@ -189,7 +240,8 @@ var App = function App() {
189
240
  }, [observePluginContainerSize, observeResize, unobserveElement]);
190
241
  useEffect(function () {
191
242
  var initialRequestsPromisesFn = function initialRequestsPromisesFn() {
192
- return [loadAndSetOriginalImage((loadableDesignState === null || loadableDesignState === void 0 ? void 0 : loadableDesignState.imgSrc) || source)];
243
+ var _loadableDesignState$;
244
+ return [loadAndSetOriginalImage((_loadableDesignState$ = loadableDesignState === null || loadableDesignState === void 0 ? void 0 : loadableDesignState.imgSrc) !== null && _loadableDesignState$ !== void 0 ? _loadableDesignState$ : source)];
193
245
  };
194
246
  void handleLoading(initialRequestsPromisesFn);
195
247
  if (window && !avoidChangesNotSavedAlertOnLeave) {
@@ -229,48 +281,66 @@ var App = function App() {
229
281
  };
230
282
  var renderContent = function renderContent() {
231
283
  return _jsxs(_Fragment, {
232
- children: [!showCanvasOnly && _jsxs(_Fragment, {
233
- children: [showTabsDrawer && _jsx(TabsDrawer, {
284
+ children: [originalImage && !showCanvasOnly && _jsxs(_Fragment, {
285
+ children: [showTabsDrawer && _jsx(STabsDrawer, {
234
286
  toggleMainMenu: toggleMainMenu
235
287
  }), _jsx(Topbar, {
236
288
  toggleMainMenu: toggleMainMenu
237
289
  })]
238
- }), originalImage && feedback.duration !== 0 && _jsxs(SFlexBox, {
290
+ }), _jsxs(SFlexBox, {
239
291
  sx: {
240
292
  width: '100%',
241
- flexGrow: 1
293
+ flexGrow: 1,
294
+ minHeight: 0
242
295
  },
243
296
  children: [!showCanvasOnly && !showTabsDrawer && _jsx(Tabs, {
244
297
  toggleMainMenu: toggleMainMenu
245
298
  }), _jsxs(SFlexBox, {
246
299
  sx: {
247
- height: 'calc(100vh - 60px)',
248
- width: 'calc(100% - 120px)',
300
+ height: '100%',
249
301
  flexGrow: 1,
250
302
  flexDirection: 'column',
251
- minWidth: 0
303
+ minWidth: 0,
304
+ minHeight: 0,
305
+ overflow: 'hidden'
252
306
  },
253
- children: [_jsx(MainCanvas, {}), !showCanvasOnly && _jsx(ToolsBar, {})]
307
+ children: [_jsx(SFlexBox, {
308
+ sx: {
309
+ flexGrow: 1,
310
+ minHeight: 0,
311
+ minWidth: 0,
312
+ overflow: 'hidden',
313
+ paddingBottom: 'var(--s-image-editor-toolbar-height, 120px)'
314
+ },
315
+ children: originalImage ? _jsx(MainCanvas, {}) : renderEmptyState ? _jsx(_Fragment, {
316
+ children: renderEmptyState({
317
+ onUpload: handleUploadFiles
318
+ })
319
+ }) : _jsx(_Fragment, {})
320
+ }), originalImage && !showCanvasOnly && _jsx(ToolsBar, {})]
254
321
  })]
255
322
  })]
256
323
  });
257
324
  };
258
325
  return _jsxs(SFlexBox, {
259
- className: ROOT_CONTAINER_CLASS_NAME,
260
326
  "data-phone": isPhoneScreen,
261
327
  ref: pluginRootRef,
262
- sx: {
263
- backgroundColor: 'background.default',
328
+ className: rootClassName ? "".concat(ROOT_CONTAINER_CLASS_NAME, " ").concat(rootClassName) : ROOT_CONTAINER_CLASS_NAME,
329
+ sx: _objectSpread({
330
+ backgroundColor: 'var(--s-palette-background-default, var(--working-background))',
331
+ backgroundImage: 'radial-gradient(circle at 1px 1px, var(--s-palette-divider) 1px, transparent 0)',
332
+ backgroundSize: '12px 12px',
264
333
  flexDirection: 'column',
265
334
  alignItems: 'center',
266
- height: (_ref2 = observePluginContainerSize ? rootSize.height : undefined) !== null && _ref2 !== void 0 ? _ref2 : '100%',
267
- maxHeight: '100%',
268
- width: (_ref3 = observePluginContainerSize ? rootSize.width : undefined) !== null && _ref3 !== void 0 ? _ref3 : '100%',
335
+ height: (_ref3 = editorHeight !== null && editorHeight !== void 0 ? editorHeight : containerHeight) !== null && _ref3 !== void 0 ? _ref3 : '70vh',
336
+ maxHeight: (_ref4 = editorHeight !== null && editorHeight !== void 0 ? editorHeight : containerHeight) !== null && _ref4 !== void 0 ? _ref4 : '70vh',
337
+ width: (_ref5 = observePluginContainerSize ? rootSize.width : undefined) !== null && _ref5 !== void 0 ? _ref5 : '100%',
269
338
  maxWidth: '100%',
270
- overflow: showTabsDrawer ? 'unset' : 'auto',
339
+ overflow: 'hidden',
271
340
  position: 'relative',
272
- minHeight: '100vh'
273
- },
341
+ minHeight: 0,
342
+ '--s-image-editor-toolbar-height': toolbarHeight !== null && toolbarHeight !== void 0 ? toolbarHeight : '0px'
343
+ }, rootSx !== null && rootSx !== void 0 ? rootSx : {}),
274
344
  children: [isLoadingGlobally && _jsx(CircularProgress, {
275
345
  sx: {
276
346
  position: 'absolute',
@@ -1,8 +1,7 @@
1
1
  /** External Dependencies */
2
2
  import React from 'react';
3
3
  import { ImageEditorConfig } from 'types/config';
4
- interface AssemblyPointProps extends Omit<ImageEditorConfig, 'source'> {
5
- source: string | HTMLImageElement;
4
+ interface AssemblyPointProps extends ImageEditorConfig {
6
5
  }
7
6
  declare const _default: React.MemoExoticComponent<(props: AssemblyPointProps) => import("react/jsx-runtime").JSX.Element>;
8
7
  export default _default;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/assembly-point/index.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,KAA0B,MAAM,OAAO,CAAC;AAS/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,UAAU,kBAAmB,SAAQ,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC;IACpE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAAC;CACnC;0DAE6B,kBAAkB;AA4BhD,wBAAmC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/assembly-point/index.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,KAA0B,MAAM,OAAO,CAAC;AAS/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEjD,UAAU,kBAAmB,SAAQ,iBAAiB;CAAG;0DAE3B,kBAAkB;AAkBhD,wBAAmC"}
@@ -1,5 +1,5 @@
1
1
  import React, { useEffect, memo } from 'react';
2
- import { SThemeProvider } from '@solostylist/ui-kit/core';
2
+ import { SThemeProvider } from '@solostylist/ui-kit';
3
3
  import App from "../app";
4
4
  import { AppProvider } from "../../context";
5
5
  import defaultConfig from "../../context/default-config";
@@ -7,10 +7,6 @@ import deepMerge from "../../utils/deep-merge";
7
7
  import assignFinetuneNamesToKonva from "../../utils/assign-finetune-names-to-konva";
8
8
  import { jsx as _jsx } from "react/jsx-runtime";
9
9
  var AssemblyPoint = function AssemblyPoint(props) {
10
- var source = props.source;
11
- if (!source || typeof source !== 'string' && !(source instanceof HTMLImageElement)) {
12
- throw new Error('`source` property is required either a string of image url or a HTMLImageElement for the image that will be edited.');
13
- }
14
10
  useEffect(function () {
15
11
  assignFinetuneNamesToKonva();
16
12
  }, []);
@@ -11,7 +11,7 @@ import Menu from '@mui/material/Menu';
11
11
  import Typography from '@mui/material/Typography';
12
12
  import { useStore } from "../../../hooks";
13
13
  import { useCallback, useMemo, useState } from 'react';
14
- import { SFlexBox } from '@solostylist/ui-kit/core';
14
+ import { SFlexBox } from '@solostylist/ui-kit';
15
15
  import ColorInput from "../color-input";
16
16
  import SIconButtonWrapper from "../icon-wrapper";
17
17
  import { POPPABLE_OPTIONS } from "./annotation-options.constants";
@@ -70,8 +70,8 @@ var AnnotationOptions = function AnnotationOptions(_ref) {
70
70
  }, [moreOptionsPopupComponentsObj, morePoppableOptionsAppended]);
71
71
  var toggleOptionPopup = useCallback(function (e, targetOptionName) {
72
72
  var targetAnchorEl = e === null || e === void 0 ? void 0 : e.currentTarget;
73
- setAnchorEl(targetAnchorEl || null);
74
- setCurrentOption(targetOptionName || null);
73
+ setAnchorEl(targetAnchorEl !== null && targetAnchorEl !== void 0 ? targetAnchorEl : null);
74
+ setCurrentOption(targetOptionName !== null && targetOptionName !== void 0 ? targetOptionName : null);
75
75
  }, []);
76
76
  var changeAnnotationFill = useCallback(function (newFill) {
77
77
  updateAnnotation({
@@ -31,7 +31,7 @@ var ShadowFields = function ShadowFields(_ref) {
31
31
  onChange: function onChange(val) {
32
32
  return changeSliderValue('shadowOffsetX', val, -100, 100);
33
33
  },
34
- value: shadowOffsetX || 0
34
+ value: shadowOffsetX !== null && shadowOffsetX !== void 0 ? shadowOffsetX : 0
35
35
  }), _jsx(Slider, {
36
36
  label: t('vertical'),
37
37
  annotation: "px",
@@ -40,7 +40,7 @@ var ShadowFields = function ShadowFields(_ref) {
40
40
  onChange: function onChange(val) {
41
41
  return changeSliderValue('shadowOffsetY', val, -100, 100);
42
42
  },
43
- value: shadowOffsetY || 0
43
+ value: shadowOffsetY !== null && shadowOffsetY !== void 0 ? shadowOffsetY : 0
44
44
  }), _jsx(Slider, {
45
45
  label: t('blur'),
46
46
  annotation: "%",
@@ -1,6 +1,6 @@
1
1
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
2
  import Box from '@mui/material/Box';
3
- import { SButton, SDialog, STextField } from '@solostylist/ui-kit/core';
3
+ import { SButton, SDialog, STextField } from '@solostylist/ui-kit';
4
4
  import { useCallback, useState } from 'react';
5
5
  import { HexColorPicker } from 'react-colorful';
6
6
  import { useStore } from "../../../hooks";
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  var _excluded = ["children", "active", "border", "onClick", "title", "className"];
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
- import { SIconButton } from '@solostylist/ui-kit/core';
6
+ import { SIconButton } from '@solostylist/ui-kit';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  var SIconButtonWrapper = function SIconButtonWrapper(_ref) {
9
9
  var children = _ref.children,
@@ -3,7 +3,7 @@ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProper
3
3
  var _excluded = ["src", "alt", "onClick", "selected", "size", "sx"];
4
4
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
- import { SFlexBox } from '@solostylist/ui-kit/core';
6
+ import { SFlexBox } from '@solostylist/ui-kit';
7
7
  import { jsx as _jsx } from "react/jsx-runtime";
8
8
  var ImagePreviewTile = function ImagePreviewTile(_ref) {
9
9
  var src = _ref.src,
@@ -5,7 +5,7 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
5
5
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
6
6
  import MuiSlider from '@mui/material/Slider';
7
7
  import { Box, Typography } from '@mui/material';
8
- import { SFlexBox } from '@solostylist/ui-kit/core';
8
+ import { SFlexBox } from '@solostylist/ui-kit';
9
9
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
10
10
  var Slider = function Slider(_ref) {
11
11
  var annotation = _ref.annotation,
@@ -31,13 +31,13 @@ var Slider = function Slider(_ref) {
31
31
  return _onChange ? _onChange(val) : undefined;
32
32
  },
33
33
  sx: {
34
- width: width || '200px',
35
- maxWidth: width || '200px'
34
+ width: width !== null && width !== void 0 ? width : '200px',
35
+ maxWidth: width !== null && width !== void 0 ? width : '200px'
36
36
  },
37
37
  value: value
38
38
  }, props)), _jsx(Typography, {
39
39
  variant: "body2",
40
- children: "".concat(value).concat(annotation || '')
40
+ children: "".concat(value).concat(annotation !== null && annotation !== void 0 ? annotation : '')
41
41
  })]
42
42
  })]
43
43
  });
@@ -11,7 +11,7 @@ var defaultAnchorOrigin = {
11
11
  };
12
12
  var ERROR_TO_SEVERITY = _defineProperty(_defineProperty({}, FEEDBACK_STATUSES.ERROR, 'error'), FEEDBACK_STATUSES.WARNING, 'warning');
13
13
  var FeedbackPopup = function FeedbackPopup(_ref) {
14
- var _feedback$duration;
14
+ var _feedback$duration, _feedback$status;
15
15
  var _ref$anchorOrigin = _ref.anchorOrigin,
16
16
  anchorOrigin = _ref$anchorOrigin === void 0 ? defaultAnchorOrigin : _ref$anchorOrigin;
17
17
  var _useStore = useStore(),
@@ -36,7 +36,7 @@ var FeedbackPopup = function FeedbackPopup(_ref) {
36
36
  onClose: onClose,
37
37
  children: _jsx(Alert, {
38
38
  onClose: onClose,
39
- severity: ERROR_TO_SEVERITY[feedback.status || FEEDBACK_STATUSES.ERROR],
39
+ severity: ERROR_TO_SEVERITY[(_feedback$status = feedback.status) !== null && _feedback$status !== void 0 ? _feedback$status : FEEDBACK_STATUSES.ERROR],
40
40
  children: feedback.message
41
41
  })
42
42
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layers/design-layer/index.tsx"],"names":[],"mappings":"AAqBA,QAAA,MAAM,WAAW,sDAyRhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/layers/design-layer/index.tsx"],"names":[],"mappings":"AAqBA,QAAA,MAAM,WAAW,sDA+RhB,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -94,16 +94,16 @@ var DesignLayer = function DesignLayer() {
94
94
  };
95
95
  }, [canvasScale, xPointToCenterImgInCanvas, yPointToCenterImgInCanvas, xPointNoResizeNoCrop, yPointNoResizeNoCrop, scaledSpacedOriginalImg]);
96
96
  var clipFunc = function clipFunc(ctx) {
97
- var _designLayerRef$curre;
97
+ var _designLayerRef$curre, _crop$width2, _crop$height2, _crop$x, _crop$y;
98
98
  var isCroppingAndNotSaving = isCurrentlyCropping && !((_designLayerRef$curre = designLayerRef.current) !== null && _designLayerRef$curre !== void 0 && (_designLayerRef$curre = _designLayerRef$curre.attrs) !== null && _designLayerRef$curre !== void 0 && _designLayerRef$curre.isSaving);
99
99
  var clipBox = isCroppingAndNotSaving || crop.noEffect ? _objectSpread(_objectSpread({}, imageDimensions), {}, {
100
100
  x: 0,
101
101
  y: 0
102
102
  }) : {
103
- width: crop.width || imageDimensions.width,
104
- height: crop.height || imageDimensions.height,
105
- x: crop.x || 0,
106
- y: crop.y || 0
103
+ width: (_crop$width2 = crop.width) !== null && _crop$width2 !== void 0 ? _crop$width2 : imageDimensions.width,
104
+ height: (_crop$height2 = crop.height) !== null && _crop$height2 !== void 0 ? _crop$height2 : imageDimensions.height,
105
+ x: (_crop$x = crop.x) !== null && _crop$x !== void 0 ? _crop$x : 0,
106
+ y: (_crop$y = crop.y) !== null && _crop$y !== void 0 ? _crop$y : 0
107
107
  };
108
108
  cropImage(ctx, _objectSpread({
109
109
  ratio: crop.ratio
@@ -136,7 +136,7 @@ var DesignLayer = function DesignLayer() {
136
136
  };
137
137
  }, [originalImage]);
138
138
  useEffect(function () {
139
- if (imageDimensions) {
139
+ if (imageDimensions && previewGroupRef.current) {
140
140
  dispatch({
141
141
  type: SET_SHOWN_IMAGE_DIMENSIONS,
142
142
  payload: {
@@ -146,8 +146,8 @@ var DesignLayer = function DesignLayer() {
146
146
  }
147
147
  });
148
148
  }
149
- }, [imageDimensions]);
150
- if (!xPointToCenterImgInCanvas || !yPointToCenterImgInCanvas || !imageDimensions) {
149
+ }, [imageDimensions, dispatch]);
150
+ if (typeof xPointToCenterImgInCanvas !== 'number' || isNaN(xPointToCenterImgInCanvas) || typeof yPointToCenterImgInCanvas !== 'number' || isNaN(yPointToCenterImgInCanvas) || !imageDimensions) {
151
151
  return null;
152
152
  }
153
153
  var cropCenterRotatedPoint = getCenterRotatedPoint(crop.x, crop.y, rotation);
@@ -157,6 +157,9 @@ var DesignLayer = function DesignLayer() {
157
157
  var yPoint = isCurrentlyCropping ? yPointNoResizeNoCrop : yPointAfterCrop;
158
158
  var finalScaleX = (isCurrentlyCropping ? 1 : resizedX) * scaleAfterRotation;
159
159
  var finalScaleY = (isCurrentlyCropping ? 1 : resizedY) * scaleAfterRotation;
160
+ if (!originalImage || !originalImage.width || !originalImage.height) {
161
+ return null;
162
+ }
160
163
  return _jsxs(Layer, {
161
164
  id: DESIGN_LAYER_ID,
162
165
  ref: designLayerRef,
@@ -15,6 +15,7 @@ var noEffectTextDimensions = {
15
15
  height: 100
16
16
  };
17
17
  var CropTransformer = function CropTransformer() {
18
+ var _crop$ratio;
18
19
  var _useStore = useStore(),
19
20
  dispatch = _useStore.dispatch,
20
21
  theme = _useStore.theme,
@@ -43,7 +44,7 @@ var CropTransformer = function CropTransformer() {
43
44
  });
44
45
  }, [crop.lockCropAreaAt, cropConfig]);
45
46
  var lockCropAreaAt = cropSettings.lockCropAreaAt;
46
- var cropRatio = crop.ratio || cropSettings.ratio;
47
+ var cropRatio = (_crop$ratio = crop.ratio) !== null && _crop$ratio !== void 0 ? _crop$ratio : cropSettings.ratio;
47
48
  var isCustom = cropRatio === CUSTOM_CROP;
48
49
  var isEllipse = cropRatio === ELLIPSE_CROP;
49
50
  var getProperCropRatio = function getProperCropRatio() {
@@ -186,7 +187,7 @@ var CropTransformer = function CropTransformer() {
186
187
  };
187
188
  return _jsxs(_Fragment, {
188
189
  children: [_jsx(Image, {
189
- image: originalImage,
190
+ image: originalImage !== null && originalImage !== void 0 ? originalImage : undefined,
190
191
  x: isFlippedX ? shownImageDimensions.width : 0,
191
192
  y: isFlippedY ? shownImageDimensions.height : 0,
192
193
  width: shownImageDimensions.width,
@@ -5,13 +5,14 @@ import CropTransformer from "./crop-transformer";
5
5
  import NodesTransformer from "./nodes-transformer";
6
6
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
7
  var TransformersLayer = function TransformersLayer() {
8
+ var _shownImageDimensions, _shownImageDimensions2;
8
9
  var _useStore = useStore(),
9
10
  toolId = _useStore.toolId,
10
11
  shownImageDimensions = _useStore.shownImageDimensions;
11
12
  return _jsxs(Layer, {
12
13
  id: TRANSFORMERS_LAYER_ID,
13
- x: shownImageDimensions.abstractX || 0,
14
- y: shownImageDimensions.abstractY || 0,
14
+ x: (_shownImageDimensions = shownImageDimensions.abstractX) !== null && _shownImageDimensions !== void 0 ? _shownImageDimensions : 0,
15
+ y: (_shownImageDimensions2 = shownImageDimensions.abstractY) !== null && _shownImageDimensions2 !== void 0 ? _shownImageDimensions2 : 0,
15
16
  children: [_jsx(NodesTransformer, {}), toolId === TOOLS_IDS.CROP && _jsx(CropTransformer, {})]
16
17
  });
17
18
  };
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-node.d.ts","sourceRoot":"","sources":["../../../src/components/main-canvas/canvas-node.tsx"],"names":[],"mappings":"AAuBA,UAAU,eAAe;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;2EAEiC,eAAe;AA2NjD,wBAAgC"}
1
+ {"version":3,"file":"canvas-node.d.ts","sourceRoot":"","sources":["../../../src/components/main-canvas/canvas-node.tsx"],"names":[],"mappings":"AAuBA,UAAU,eAAe;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;2EAEiC,eAAe;AA8NjD,wBAAgC"}