@solostylist/image-editor 1.0.22 → 1.0.23
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/lib/components/topbar/save-button.d.ts.map +1 -1
- package/lib/components/topbar/save-button.js +11 -3
- package/lib/hooks/use-image-editor-actions.d.ts.map +1 -1
- package/lib/hooks/use-image-editor-actions.js +10 -14
- package/lib/hooks/use-transformed-img-data.d.ts.map +1 -1
- package/lib/hooks/use-transformed-img-data.js +13 -4
- package/lib/utils/resolve-image-file-info.d.ts +16 -0
- package/lib/utils/resolve-image-file-info.d.ts.map +1 -0
- package/lib/utils/resolve-image-file-info.js +40 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save-button.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/save-button.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"save-button.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/save-button.tsx"],"names":[],"mappings":"AAgCA,QAAA,MAAM,UAAU,sDAqRf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -14,9 +14,9 @@ import { SET_FEEDBACK, SET_SAVING } from "../../actions";
|
|
|
14
14
|
import Slider from "../common/slider";
|
|
15
15
|
import { Resize } from "../tools/resize";
|
|
16
16
|
import { useStore, useTransformedImgData } from "../../hooks";
|
|
17
|
-
import { CLOSING_REASONS, DEFAULT_SAVE_QUALITY,
|
|
17
|
+
import { CLOSING_REASONS, DEFAULT_SAVE_QUALITY, SUPPORTED_IMAGE_TYPES } from "../../utils/constants";
|
|
18
18
|
import getDefaultSaveQuality from "../../utils/get-default-save-quality";
|
|
19
|
-
import
|
|
19
|
+
import resolveImageFileInfo from "../../utils/resolve-image-file-info";
|
|
20
20
|
import restrictNumber from "../../utils/restrict-number";
|
|
21
21
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
22
22
|
var isFieSaveMounted = true;
|
|
@@ -45,6 +45,7 @@ var SaveButton = function SaveButton() {
|
|
|
45
45
|
defaultSavedImageType = _state$config.defaultSavedImageType,
|
|
46
46
|
_state$config$default = _state$config.defaultSavedImageQuality,
|
|
47
47
|
defaultSavedImageQuality = _state$config$default === void 0 ? DEFAULT_SAVE_QUALITY : _state$config$default,
|
|
48
|
+
savedImageNamePrefix = _state$config.savedImageNamePrefix,
|
|
48
49
|
disableSaveIfNoChanges = _state$config.disableSaveIfNoChanges,
|
|
49
50
|
removeSaveButton = _state$config.removeSaveButton;
|
|
50
51
|
var dialog = useDialog();
|
|
@@ -142,7 +143,14 @@ var SaveButton = function SaveButton() {
|
|
|
142
143
|
}));
|
|
143
144
|
};
|
|
144
145
|
var getFileNameAndExtension = function getFileNameAndExtension() {
|
|
145
|
-
return
|
|
146
|
+
return resolveImageFileInfo({
|
|
147
|
+
defaultSavedImageName: defaultSavedImageName,
|
|
148
|
+
originalImageTitle: originalImage === null || originalImage === void 0 ? void 0 : originalImage.title,
|
|
149
|
+
savedImageNamePrefix: savedImageNamePrefix,
|
|
150
|
+
forceToPngInEllipticalCrop: forceToPngInEllipticalCrop,
|
|
151
|
+
cropRatio: crop === null || crop === void 0 ? void 0 : crop.ratio,
|
|
152
|
+
defaultSavedImageType: defaultSavedImageType
|
|
153
|
+
});
|
|
146
154
|
};
|
|
147
155
|
var _useState3 = useState(originalImage),
|
|
148
156
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-image-editor-actions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-image-editor-actions.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"use-image-editor-actions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-image-editor-actions.ts"],"names":[],"mappings":"AAYA,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,QAAA,MAAM,qBAAqB;gCAwDA,OAAO,CAAC,aAAa,CAAC,GAAG,MAAM;;mCAfR,aAAa;CAiF9D,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -6,10 +6,9 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
6
6
|
import { useCallback } from 'react';
|
|
7
7
|
import { RESET, SET_SAVING } from "../actions";
|
|
8
8
|
import { useFeedbackHandler, useStore, useTransformedImgData } from "./index";
|
|
9
|
-
import { DEFAULT_SAVE_QUALITY
|
|
9
|
+
import { DEFAULT_SAVE_QUALITY } from "../utils/constants";
|
|
10
10
|
import getDefaultSaveQuality from "../utils/get-default-save-quality";
|
|
11
|
-
import
|
|
12
|
-
import randomId from "../utils/random-id";
|
|
11
|
+
import resolveImageFileInfo from "../utils/resolve-image-file-info";
|
|
13
12
|
var useImageEditorActions = function useImageEditorActions() {
|
|
14
13
|
var _useStore = useStore(),
|
|
15
14
|
dispatch = _useStore.dispatch,
|
|
@@ -34,17 +33,14 @@ var useImageEditorActions = function useImageEditorActions() {
|
|
|
34
33
|
handleError = _useFeedbackHandler.handleError;
|
|
35
34
|
var transformImgFn = useTransformedImgData();
|
|
36
35
|
var getFileNameAndExtension = useCallback(function () {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
return "".concat(savedImageNamePrefix, "_").concat(dateStamp, "-").concat(uuid);
|
|
46
|
-
}() : undefined;
|
|
47
|
-
return getFileFullName(resolvedName, forceToPngInEllipticalCrop && (crop === null || crop === void 0 ? void 0 : crop.ratio) === ELLIPSE_CROP ? 'png' : SUPPORTED_IMAGE_TYPES.includes(defaultSavedImageType === null || defaultSavedImageType === void 0 ? void 0 : defaultSavedImageType.toLowerCase()) && defaultSavedImageType || undefined);
|
|
36
|
+
return resolveImageFileInfo({
|
|
37
|
+
defaultSavedImageName: defaultSavedImageName,
|
|
38
|
+
originalImageTitle: originalImage === null || originalImage === void 0 ? void 0 : originalImage.title,
|
|
39
|
+
savedImageNamePrefix: savedImageNamePrefix,
|
|
40
|
+
forceToPngInEllipticalCrop: forceToPngInEllipticalCrop,
|
|
41
|
+
cropRatio: crop === null || crop === void 0 ? void 0 : crop.ratio,
|
|
42
|
+
defaultSavedImageType: defaultSavedImageType
|
|
43
|
+
});
|
|
48
44
|
}, [defaultSavedImageName, originalImage, savedImageNamePrefix, forceToPngInEllipticalCrop, crop === null || crop === void 0 ? void 0 : crop.ratio, defaultSavedImageType]);
|
|
49
45
|
var getDefaultImageFileInfo = useCallback(function () {
|
|
50
46
|
var _getFileNameAndExtens = getFileNameAndExtension(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-transformed-img-data.d.ts","sourceRoot":"","sources":["../../src/hooks/use-transformed-img-data.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"use-transformed-img-data.d.ts","sourceRoot":"","sources":["../../src/hooks/use-transformed-img-data.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAU/C,UAAU,aAAa;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5C;AAED,UAAU,oBAAoB;IAC5B,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,gBAAgB,CAAC;IAC9B,kBAAkB,CAAC,EAAE,MAAM,IAAI,CAAC;CACjC;AAED,KAAK,oBAAoB,GAAG,CAC1B,aAAa,CAAC,EAAE,aAAa,EAC7B,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,EAC7B,uBAAuB,CAAC,EAAE,OAAO,EACjC,WAAW,CAAC,EAAE,OAAO,KAClB,oBAAoB,CAAC;AAE1B,QAAA,MAAM,qBAAqB,QAAO,oBAyLjC,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
|
|
@@ -4,10 +4,10 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
|
|
|
4
4
|
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; }
|
|
5
5
|
import Konva from 'konva';
|
|
6
6
|
import { HIDE_LOADER, SET_SAVED } from "../actions";
|
|
7
|
-
import {
|
|
8
|
-
import getFileFullName from "../utils/get-file-full-name";
|
|
7
|
+
import { IMAGE_NODE_ID } from "../utils/constants";
|
|
9
8
|
import getSizeAfterRotation from "../utils/get-size-after-rotation";
|
|
10
9
|
import mapCropBox from "../utils/map-crop-box";
|
|
10
|
+
import resolveImageFileInfo from "../utils/resolve-image-file-info";
|
|
11
11
|
import { serializeDesignState } from "../utils/serialize-design-state";
|
|
12
12
|
import useStore from "./use-store";
|
|
13
13
|
var useTransformedImgData = function useTransformedImgData() {
|
|
@@ -28,7 +28,9 @@ var useTransformedImgData = function useTransformedImgData() {
|
|
|
28
28
|
savingPixelRatio = _state$config.savingPixelRatio,
|
|
29
29
|
previewPixelRatio = _state$config.previewPixelRatio,
|
|
30
30
|
forceToPngInEllipticalCrop = _state$config.forceToPngInEllipticalCrop,
|
|
31
|
-
defaultSavedImageType = _state$config.defaultSavedImageType
|
|
31
|
+
defaultSavedImageType = _state$config.defaultSavedImageType,
|
|
32
|
+
defaultSavedImageName = _state$config.defaultSavedImageName,
|
|
33
|
+
savedImageNamePrefix = _state$config.savedImageNamePrefix;
|
|
32
34
|
var getTransformedImgData = function getTransformedImgData() {
|
|
33
35
|
var _x, _y, _width, _height, _mappedCropBox$x, _mappedCropBox$y, _size$width, _size$height;
|
|
34
36
|
var imageFileInfo = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
@@ -72,7 +74,14 @@ var useTransformedImgData = function useTransformedImgData() {
|
|
|
72
74
|
scaleX: preparedDesignLayerScale.x,
|
|
73
75
|
scaleY: preparedDesignLayerScale.y
|
|
74
76
|
});
|
|
75
|
-
var _ref = _objectSpread(_objectSpread({}, (!currentImgFileInfo.name || !currentImgFileInfo.extension) &&
|
|
77
|
+
var _ref = _objectSpread(_objectSpread({}, (!currentImgFileInfo.name || !currentImgFileInfo.extension) && resolveImageFileInfo({
|
|
78
|
+
defaultSavedImageName: defaultSavedImageName,
|
|
79
|
+
originalImageTitle: originalImage.title,
|
|
80
|
+
savedImageNamePrefix: savedImageNamePrefix,
|
|
81
|
+
forceToPngInEllipticalCrop: forceToPngInEllipticalCrop,
|
|
82
|
+
cropRatio: crop.ratio,
|
|
83
|
+
defaultSavedImageType: defaultSavedImageType
|
|
84
|
+
})), currentImgFileInfo),
|
|
76
85
|
name = _ref.name,
|
|
77
86
|
extension = _ref.extension,
|
|
78
87
|
_ref$quality = _ref.quality,
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface ResolveImageFileInfoParams {
|
|
2
|
+
defaultSavedImageName?: string;
|
|
3
|
+
originalImageTitle?: string;
|
|
4
|
+
savedImageNamePrefix?: string;
|
|
5
|
+
forceToPngInEllipticalCrop?: boolean;
|
|
6
|
+
cropRatio?: string | number;
|
|
7
|
+
defaultSavedImageType?: string | null;
|
|
8
|
+
}
|
|
9
|
+
interface ResolvedImageFileInfo {
|
|
10
|
+
fullName: string;
|
|
11
|
+
name: string;
|
|
12
|
+
extension: string;
|
|
13
|
+
}
|
|
14
|
+
declare const resolveImageFileInfo: ({ defaultSavedImageName, originalImageTitle, savedImageNamePrefix, forceToPngInEllipticalCrop, cropRatio, defaultSavedImageType, }: ResolveImageFileInfoParams) => ResolvedImageFileInfo;
|
|
15
|
+
export default resolveImageFileInfo;
|
|
16
|
+
//# sourceMappingURL=resolve-image-file-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"resolve-image-file-info.d.ts","sourceRoot":"","sources":["../../src/utils/resolve-image-file-info.ts"],"names":[],"mappings":"AAOA,UAAU,0BAA0B;IAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvC;AAED,UAAU,qBAAqB;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB;AAuCD,QAAA,MAAM,oBAAoB,GAAI,oIAO3B,0BAA0B,KAAG,qBAgB/B,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { ELLIPSE_CROP, SUPPORTED_IMAGE_TYPES } from "./constants";
|
|
2
|
+
import getFileFullName from "./get-file-full-name";
|
|
3
|
+
import randomId from "./random-id";
|
|
4
|
+
var buildDefaultNameFromPrefix = function buildDefaultNameFromPrefix(savedImageNamePrefix) {
|
|
5
|
+
if (!savedImageNamePrefix) {
|
|
6
|
+
return undefined;
|
|
7
|
+
}
|
|
8
|
+
var now = new Date();
|
|
9
|
+
var day = String(now.getDate()).padStart(2, '0');
|
|
10
|
+
var month = String(now.getMonth() + 1).padStart(2, '0');
|
|
11
|
+
var year = String(now.getFullYear());
|
|
12
|
+
var dateStamp = "".concat(day, "-").concat(month, "-").concat(year);
|
|
13
|
+
var uuid = typeof crypto !== 'undefined' && crypto.randomUUID ? crypto.randomUUID() : randomId();
|
|
14
|
+
return "".concat(savedImageNamePrefix, "_").concat(dateStamp, "-").concat(uuid);
|
|
15
|
+
};
|
|
16
|
+
var resolveAppendedExtension = function resolveAppendedExtension(_ref) {
|
|
17
|
+
var forceToPngInEllipticalCrop = _ref.forceToPngInEllipticalCrop,
|
|
18
|
+
cropRatio = _ref.cropRatio,
|
|
19
|
+
defaultSavedImageType = _ref.defaultSavedImageType;
|
|
20
|
+
if (forceToPngInEllipticalCrop && cropRatio === ELLIPSE_CROP) {
|
|
21
|
+
return 'png';
|
|
22
|
+
}
|
|
23
|
+
var normalizedImageType = defaultSavedImageType === null || defaultSavedImageType === void 0 ? void 0 : defaultSavedImageType.toLowerCase();
|
|
24
|
+
return normalizedImageType && SUPPORTED_IMAGE_TYPES.includes(normalizedImageType) ? normalizedImageType : undefined;
|
|
25
|
+
};
|
|
26
|
+
var resolveImageFileInfo = function resolveImageFileInfo(_ref2) {
|
|
27
|
+
var defaultSavedImageName = _ref2.defaultSavedImageName,
|
|
28
|
+
originalImageTitle = _ref2.originalImageTitle,
|
|
29
|
+
savedImageNamePrefix = _ref2.savedImageNamePrefix,
|
|
30
|
+
forceToPngInEllipticalCrop = _ref2.forceToPngInEllipticalCrop,
|
|
31
|
+
cropRatio = _ref2.cropRatio,
|
|
32
|
+
defaultSavedImageType = _ref2.defaultSavedImageType;
|
|
33
|
+
var explicitName = defaultSavedImageName && defaultSavedImageName.length > 0 ? defaultSavedImageName : originalImageTitle && originalImageTitle.length > 0 ? originalImageTitle : buildDefaultNameFromPrefix(savedImageNamePrefix);
|
|
34
|
+
return getFileFullName(explicitName, resolveAppendedExtension({
|
|
35
|
+
forceToPngInEllipticalCrop: forceToPngInEllipticalCrop,
|
|
36
|
+
cropRatio: cropRatio,
|
|
37
|
+
defaultSavedImageType: defaultSavedImageType
|
|
38
|
+
}));
|
|
39
|
+
};
|
|
40
|
+
export default resolveImageFileInfo;
|