@solostylist/image-editor 1.0.17 → 1.0.20
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/app/index.js +4 -4
- package/lib/components/assembly-point/index.js +1 -1
- package/lib/components/common/annotation-options/index.js +1 -1
- package/lib/components/common/color-picker-modal/index.d.ts.map +1 -1
- package/lib/components/common/color-picker-modal/index.js +9 -1
- package/lib/components/common/icon-wrapper/index.js +1 -1
- package/lib/components/common/image-preview-tile/index.js +1 -1
- package/lib/components/common/slider/index.js +1 -1
- package/lib/components/layers/design-layer/annotation-nodes/index.d.ts.map +1 -1
- package/lib/components/layers/design-layer/annotation-nodes/index.js +8 -2
- package/lib/components/main-canvas/index.d.ts.map +1 -1
- package/lib/components/main-canvas/index.js +7 -17
- package/lib/components/main-canvas/original-preview-layer.d.ts +3 -0
- package/lib/components/main-canvas/original-preview-layer.d.ts.map +1 -0
- package/lib/components/main-canvas/original-preview-layer.js +26 -0
- package/lib/components/node-controls/index.d.ts.map +1 -1
- package/lib/components/node-controls/index.js +2 -1
- package/lib/components/tabs/index.js +1 -1
- package/lib/components/tabs-drawer/index.js +1 -1
- package/lib/components/tools/crop/crop.js +1 -1
- package/lib/components/tools/filters/filter-item.js +1 -1
- package/lib/components/tools/image/images-gallery.js +1 -1
- package/lib/components/tools/resize/resize.d.ts.map +1 -1
- package/lib/components/tools/resize/resize.js +3 -1
- package/lib/components/tools/rotate/rotate-options.d.ts.map +1 -1
- package/lib/components/tools/rotate/rotate-options.js +2 -1
- package/lib/components/tools/text/text-options/text-alignment-fields.js +1 -1
- package/lib/components/tools/text/text-options/text-controls.d.ts.map +1 -1
- package/lib/components/tools/text/text-options/text-controls.js +3 -1
- package/lib/components/tools/watermark/watermark.js +1 -1
- package/lib/components/tools-bar/index.d.ts.map +1 -1
- package/lib/components/tools-bar/index.js +2 -1
- package/lib/components/tools-bar/tools-bar-item-button.js +1 -1
- package/lib/components/topbar/canvas-zooming.d.ts.map +1 -1
- package/lib/components/topbar/canvas-zooming.js +2 -1
- package/lib/components/topbar/confirmation-modal.d.ts.map +1 -1
- package/lib/components/topbar/confirmation-modal.js +3 -1
- package/lib/components/topbar/image-dimensions-and-display-toggle.d.ts.map +1 -1
- package/lib/components/topbar/image-dimensions-and-display-toggle.js +30 -17
- package/lib/components/topbar/index.d.ts.map +1 -1
- package/lib/components/topbar/index.js +2 -1
- package/lib/components/topbar/redo-button.js +1 -1
- package/lib/components/topbar/reset-button.js +1 -1
- package/lib/components/topbar/save-button.d.ts.map +1 -1
- package/lib/components/topbar/save-button.js +6 -1
- package/lib/components/topbar/topbar-action-buttons.js +1 -1
- package/lib/components/topbar/undo-button.js +1 -1
- package/lib/demo/app.d.ts.map +1 -1
- package/lib/demo/app.js +4 -1
- package/lib/hooks/use-annotation/index.d.ts.map +1 -1
- package/lib/hooks/use-annotation/index.js +0 -12
- package/package.json +72 -28
|
@@ -5,7 +5,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
5
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; }
|
|
6
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; }
|
|
7
7
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
8
|
-
import { SFlexBox } from '@solostylist/ui-kit';
|
|
8
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
9
9
|
import SFileDropzone from '@solostylist/ui-kit/s-file-dropzone';
|
|
10
10
|
import { memo, useCallback, useEffect, useRef, useState } from 'react';
|
|
11
11
|
import { Box, CircularProgress } from '@mui/material';
|
|
@@ -179,9 +179,9 @@ var App = function App() {
|
|
|
179
179
|
};
|
|
180
180
|
var renderDefaultEmptyState = function renderDefaultEmptyState() {
|
|
181
181
|
return _jsx(SFlexBox, {
|
|
182
|
-
alignItems:
|
|
183
|
-
justifyContent:
|
|
184
|
-
width:
|
|
182
|
+
alignItems: 'center',
|
|
183
|
+
justifyContent: 'center',
|
|
184
|
+
width: '100%',
|
|
185
185
|
children: _jsx(Box, {
|
|
186
186
|
sx: {
|
|
187
187
|
width: '100%',
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React, { useEffect, memo } from 'react';
|
|
2
|
-
import { SThemeProvider } from '@solostylist/ui-kit';
|
|
2
|
+
import { SThemeProvider } from '@solostylist/ui-kit/s-theme-provider';
|
|
3
3
|
import App from "../app";
|
|
4
4
|
import { AppProvider } from "../../context";
|
|
5
5
|
import defaultConfig from "../../context/default-config";
|
|
@@ -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';
|
|
14
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
15
15
|
import ColorInput from "../color-input";
|
|
16
16
|
import SIconButtonWrapper from "../icon-wrapper";
|
|
17
17
|
import { POPPABLE_OPTIONS } from "./annotation-options.constants";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/color-picker-modal/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/common/color-picker-modal/index.tsx"],"names":[],"mappings":"AAWA,UAAU,qBAAqB;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IACnC,OAAO,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACpC;AAED,QAAA,MAAM,gBAAgB,GAAI,qDAMvB,qBAAqB,mDAyEvB,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import Box from '@mui/material/Box';
|
|
3
|
-
import { SButton
|
|
3
|
+
import { SButton } from '@solostylist/ui-kit/s-button';
|
|
4
|
+
import { SDialog } from '@solostylist/ui-kit/s-dialog';
|
|
5
|
+
import { STextField } from '@solostylist/ui-kit/s-text-field';
|
|
4
6
|
import { useCallback, useState } from 'react';
|
|
5
7
|
import { HexColorPicker } from 'react-colorful';
|
|
6
8
|
import { useStore } from "../../../hooks";
|
|
@@ -47,6 +49,12 @@ var ColorPickerModal = function ColorPickerModal(_ref) {
|
|
|
47
49
|
title: t('colorPickerModalTitleLabel'),
|
|
48
50
|
maxWidth: "xs",
|
|
49
51
|
content: _jsxs(Box, {
|
|
52
|
+
sx: {
|
|
53
|
+
'& .react-colorful__pointer': {
|
|
54
|
+
width: 22,
|
|
55
|
+
height: 22
|
|
56
|
+
}
|
|
57
|
+
},
|
|
50
58
|
children: [_jsx(HexColorPicker, {
|
|
51
59
|
color: currentColor,
|
|
52
60
|
onChange: handleColorChange,
|
|
@@ -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';
|
|
6
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
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';
|
|
6
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
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';
|
|
8
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
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,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/layers/design-layer/annotation-nodes/index.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/layers/design-layer/annotation-nodes/index.tsx"],"names":[],"mappings":"AAQA,QAAA,MAAM,eAAe,iDAsBpB,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { useMemo } from 'react';
|
|
1
|
+
import { useEffect, useMemo } from 'react';
|
|
2
2
|
import { useAnnotationEvents, useStore } from "../../../../hooks";
|
|
3
3
|
import MemoizedAnnotation from "./memoized-annotation";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -7,8 +7,14 @@ var AnnotationNodes = function AnnotationNodes() {
|
|
|
7
7
|
_useStore$annotations = _useStore.annotations,
|
|
8
8
|
annotations = _useStore$annotations === void 0 ? {} : _useStore$annotations,
|
|
9
9
|
_useStore$selectionsI = _useStore.selectionsIds,
|
|
10
|
-
selectionsIds = _useStore$selectionsI === void 0 ? [] : _useStore$selectionsI
|
|
10
|
+
selectionsIds = _useStore$selectionsI === void 0 ? [] : _useStore$selectionsI,
|
|
11
|
+
designLayer = _useStore.designLayer;
|
|
11
12
|
var annotationEvents = useAnnotationEvents();
|
|
13
|
+
useEffect(function () {
|
|
14
|
+
if (designLayer) {
|
|
15
|
+
designLayer.batchDraw();
|
|
16
|
+
}
|
|
17
|
+
}, [annotations, selectionsIds, designLayer]);
|
|
12
18
|
return useMemo(function () {
|
|
13
19
|
return Object.values(annotations).map(function (annotation) {
|
|
14
20
|
return _jsx(MemoizedAnnotation, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/main-canvas/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/main-canvas/index.tsx"],"names":[],"mappings":"AAaA,QAAA,MAAM,UAAU,+CA+Gf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -6,9 +6,9 @@ import NodeControls from "../node-controls";
|
|
|
6
6
|
import { AppProviderOverridenValue } from "../../context";
|
|
7
7
|
import { useStore } from "../../hooks";
|
|
8
8
|
import CanvasNode from "./canvas-node";
|
|
9
|
-
import
|
|
9
|
+
import OriginalPreviewLayer from "./original-preview-layer";
|
|
10
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
10
11
|
var MainCanvas = function MainCanvas() {
|
|
11
|
-
var _providedAppContext$o;
|
|
12
12
|
var providedAppContext = useStore();
|
|
13
13
|
var canvasContainerRef = useRef(null);
|
|
14
14
|
var contextRef = useRef(providedAppContext);
|
|
@@ -85,22 +85,12 @@ var MainCanvas = function MainCanvas() {
|
|
|
85
85
|
flexGrow: 1,
|
|
86
86
|
ref: canvasContainerRef,
|
|
87
87
|
width: '100%',
|
|
88
|
-
children: [!providedAppContext.textIdOfEditableContent && _jsx(NodeControls, {}),
|
|
89
|
-
|
|
90
|
-
style: {
|
|
91
|
-
maxWidth: '98%',
|
|
92
|
-
maxHeight: '98%',
|
|
93
|
-
position: 'absolute',
|
|
94
|
-
top: '50%',
|
|
95
|
-
left: '50%',
|
|
96
|
-
transform: 'translate(-50%, -50%)',
|
|
97
|
-
zIndex: 2
|
|
98
|
-
},
|
|
99
|
-
src: (_providedAppContext$o = providedAppContext.originalImage) === null || _providedAppContext$o === void 0 ? void 0 : _providedAppContext$o.src
|
|
100
|
-
}), _jsx(CanvasNode, {
|
|
101
|
-
children: _jsxs(AppProviderOverridenValue, {
|
|
88
|
+
children: [!providedAppContext.textIdOfEditableContent && !providedAppContext.isShowOriginalImage && _jsx(NodeControls, {}), _jsx(CanvasNode, {
|
|
89
|
+
children: _jsx(AppProviderOverridenValue, {
|
|
102
90
|
overridingValue: providedAppContext,
|
|
103
|
-
children:
|
|
91
|
+
children: providedAppContext.isShowOriginalImage ? _jsx(OriginalPreviewLayer, {}) : _jsxs(_Fragment, {
|
|
92
|
+
children: [_jsx(DesignLayer, {}), _jsx(TransformersLayer, {})]
|
|
93
|
+
})
|
|
104
94
|
})
|
|
105
95
|
})]
|
|
106
96
|
})
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"original-preview-layer.d.ts","sourceRoot":"","sources":["../../../src/components/main-canvas/original-preview-layer.tsx"],"names":[],"mappings":"AAMA,QAAA,MAAM,oBAAoB,sDA4BzB,CAAC;AAEF,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Image, Layer } from 'react-konva';
|
|
2
|
+
import { useStore } from "../../hooks";
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
var OriginalPreviewLayer = function OriginalPreviewLayer() {
|
|
5
|
+
var _ref, _x, _ref2, _y;
|
|
6
|
+
var _useStore = useStore(),
|
|
7
|
+
originalImage = _useStore.originalImage,
|
|
8
|
+
shownImageDimensions = _useStore.shownImageDimensions;
|
|
9
|
+
if (!originalImage || !(shownImageDimensions !== null && shownImageDimensions !== void 0 && shownImageDimensions.width) || !(shownImageDimensions !== null && shownImageDimensions !== void 0 && shownImageDimensions.height)) {
|
|
10
|
+
return null;
|
|
11
|
+
}
|
|
12
|
+
var x = (_ref = (_x = shownImageDimensions.x) !== null && _x !== void 0 ? _x : shownImageDimensions.abstractX) !== null && _ref !== void 0 ? _ref : 0;
|
|
13
|
+
var y = (_ref2 = (_y = shownImageDimensions.y) !== null && _y !== void 0 ? _y : shownImageDimensions.abstractY) !== null && _ref2 !== void 0 ? _ref2 : 0;
|
|
14
|
+
return _jsx(Layer, {
|
|
15
|
+
listening: false,
|
|
16
|
+
children: _jsx(Image, {
|
|
17
|
+
image: originalImage,
|
|
18
|
+
x: x,
|
|
19
|
+
y: y,
|
|
20
|
+
width: shownImageDimensions.width,
|
|
21
|
+
height: shownImageDimensions.height,
|
|
22
|
+
listening: false
|
|
23
|
+
})
|
|
24
|
+
});
|
|
25
|
+
};
|
|
26
|
+
export default OriginalPreviewLayer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/node-controls/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/node-controls/index.tsx"],"names":[],"mappings":"AAkBA,QAAA,MAAM,YAAY,sDA4EjB,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
2
2
|
import { ContentCopy, DeleteOutlined } from '@mui/icons-material';
|
|
3
|
-
import { SFlexBox
|
|
3
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
4
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
4
5
|
import { useEffect, useMemo, useState } from 'react';
|
|
5
6
|
import { DUPLICATE_ANNOTATIONS, REMOVE_ANNOTATIONS } from "../../actions";
|
|
6
7
|
import { useStore } from "../../hooks";
|
|
@@ -5,7 +5,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
5
5
|
import ChevronLeftIcon from '@mui/icons-material/ChevronLeft';
|
|
6
6
|
import ChevronRightIcon from '@mui/icons-material/ChevronRight';
|
|
7
7
|
import { Box, ListItem, ListItemButton, ListItemIcon, ListItemText, Typography } from '@mui/material';
|
|
8
|
-
import { SIconButton } from '@solostylist/ui-kit';
|
|
8
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
9
9
|
import { useCallback, useEffect, useMemo, useState } from 'react';
|
|
10
10
|
import { SELECT_TAB } from "../../actions";
|
|
11
11
|
import { useStore } from "../../hooks";
|
|
@@ -4,7 +4,7 @@ import Box from '@mui/material/Box';
|
|
|
4
4
|
import SwipeableDrawer from '@mui/material/SwipeableDrawer';
|
|
5
5
|
import ButtonBase from '@mui/material/ButtonBase';
|
|
6
6
|
import Typography from '@mui/material/Typography';
|
|
7
|
-
import { SIconButton } from '@solostylist/ui-kit';
|
|
7
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
8
8
|
import { useStore } from "../../hooks";
|
|
9
9
|
import { SELECT_TAB } from "../../actions";
|
|
10
10
|
import { AVAILABLE_TABS } from "../tabs/tabs.constants";
|
|
@@ -2,7 +2,7 @@ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
|
2
2
|
import { CropOutlined as CropIcon } from '@mui/icons-material';
|
|
3
3
|
import { Box, InputAdornment } from '@mui/material';
|
|
4
4
|
import { useMemo } from 'react';
|
|
5
|
-
import { SSelect } from '@solostylist/ui-kit';
|
|
5
|
+
import { SSelect } from '@solostylist/ui-kit/s-select';
|
|
6
6
|
import { SET_CROP, SET_RESIZE, ZOOM_CANVAS } from "../../../actions";
|
|
7
7
|
import { useStore } from "../../../hooks";
|
|
8
8
|
import { DEFAULT_ZOOM_FACTOR, ORIGINAL_CROP, TOOLS_IDS } from "../../../utils/constants";
|
|
@@ -4,7 +4,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
4
4
|
import { memo, useCallback, useEffect, useRef } from 'react';
|
|
5
5
|
import { Layer, Image, Stage } from 'react-konva';
|
|
6
6
|
import { Typography } from '@mui/material';
|
|
7
|
-
import { SFlexBox } from '@solostylist/ui-kit';
|
|
7
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
8
8
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
9
|
var MAX_FILTER_PREVIEW_WIDTH = 80;
|
|
10
10
|
var MAX_FILTER_PREVIEW_HEIGHT = 60;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Popover } from '@mui/material';
|
|
2
|
-
import { SFlexBox } from '@solostylist/ui-kit';
|
|
2
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
3
3
|
import ImagePreviewTile from "../../common/image-preview-tile";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
var ImagesGallery = function ImagesGallery(_ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../../../src/components/tools/resize/resize.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../../../src/components/tools/resize/resize.tsx"],"names":[],"mappings":"AAeA,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,UAAU,WAAW;IACnB,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;IACpD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,QAAA,MAAM,MAAM,GAAI,6CAIb,WAAW,mDAyLb,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -2,7 +2,9 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
2
2
|
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; }
|
|
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
|
import { Refresh, LockOutlined, LockOpenOutlined } from '@mui/icons-material';
|
|
5
|
-
import { SFlexBox
|
|
5
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
6
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
7
|
+
import { STextField } from '@solostylist/ui-kit/s-text-field';
|
|
6
8
|
import { SET_RESIZE, ZOOM_CANVAS } from "../../../actions";
|
|
7
9
|
import { useStore } from "../../../hooks";
|
|
8
10
|
import { DEFAULT_ZOOM_FACTOR } from "../../../utils/constants";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rotate-options.d.ts","sourceRoot":"","sources":["../../../../src/components/tools/rotate/rotate-options.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"rotate-options.d.ts","sourceRoot":"","sources":["../../../../src/components/tools/rotate/rotate-options.tsx"],"names":[],"mappings":"AAkBA,QAAA,MAAM,aAAa,+CAsGlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -6,7 +6,8 @@ import restrictNumber from "../../../utils/restrict-number";
|
|
|
6
6
|
import getSizeAfterRotation from "../../../utils/get-size-after-rotation";
|
|
7
7
|
import { TOOLS_IDS } from "../../../utils/constants";
|
|
8
8
|
import ToolsBarItemButton from "../../tools-bar/tools-bar-item-button";
|
|
9
|
-
import { SFlexBox
|
|
9
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
10
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
10
11
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
12
|
var RotateOptions = function RotateOptions() {
|
|
12
13
|
var _useStore = useStore(),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { FormatAlignCenterOutlined, FormatAlignLeftOutlined } from '@mui/icons-material';
|
|
2
|
-
import { SFlexBox } from '@solostylist/ui-kit';
|
|
2
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
3
3
|
import SIconButtonWrapper from "../../../common/icon-wrapper";
|
|
4
4
|
import { TextAlignment } from "../../../../types/annotations";
|
|
5
5
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text-controls.d.ts","sourceRoot":"","sources":["../../../../../src/components/tools/text/text-options/text-controls.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"text-controls.d.ts","sourceRoot":"","sources":["../../../../../src/components/tools/text/text-options/text-controls.tsx"],"names":[],"mappings":"AAeA,OAAO,EAAc,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAe/D,UAAU,iBAAiB;IAGzB,IAAI,EAAE,cAAc,GAAG;QAAE,UAAU,CAAC,EAAE,OAAO,CAAC;QAAC,SAAS,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IACrE,QAAQ,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,GAAG,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC;IAC9E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B;AAED,QAAA,MAAM,YAAY,GAAI,8BAA8B,iBAAiB,4CA8IpE,CAAC;AAEF,eAAe,YAAY,CAAC"}
|
|
@@ -9,7 +9,9 @@ import SIconButtonWrapper from "../../../common/icon-wrapper";
|
|
|
9
9
|
import { ENABLE_TEXT_CONTENT_EDIT } from "../../../../actions";
|
|
10
10
|
import restrictNumber from "../../../../utils/restrict-number";
|
|
11
11
|
import { useStore } from "../../../../hooks";
|
|
12
|
-
import { SFlexBox
|
|
12
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
13
|
+
import { SSelect } from '@solostylist/ui-kit/s-select';
|
|
14
|
+
import { STextField } from '@solostylist/ui-kit/s-text-field';
|
|
13
15
|
import { textOptionsPopupComponents, TEXT_POPPABLE_OPTIONS } from "./text-options.constants";
|
|
14
16
|
import { activateTextChange, deactivateTextChange } from "./handle-text-change-area";
|
|
15
17
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -3,7 +3,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
3
3
|
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; }
|
|
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 { FileUploadOutlined, TextFieldsOutlined } from '@mui/icons-material';
|
|
6
|
-
import { SFlexBox } from '@solostylist/ui-kit';
|
|
6
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
7
7
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
8
8
|
import { CLEAR_ANNOTATIONS_SELECTIONS, SELECT_ANNOTATION, SET_ANNOTATION, SET_FEEDBACK } from "../../../actions";
|
|
9
9
|
import ButtonWithMenu from "../../common/button-with-menu";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tools-bar/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tools-bar/index.tsx"],"names":[],"mappings":"AAgBA,QAAA,MAAM,QAAQ,+CAgLb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { cloneElement, isValidElement, useCallback, useEffect, useMemo } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
3
|
+
import { SToolBar } from '@solostylist/ui-kit/s-tool-bar';
|
|
3
4
|
import { SELECT_TOOL } from "../../actions";
|
|
4
5
|
import { TABS_TOOLS, TOOLS_ITEMS } from "../tools/tools.constants";
|
|
5
6
|
import { useImageEditorActions, useStore } from "../../hooks";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
|
|
2
2
|
import Typography from '@mui/material/Typography';
|
|
3
|
-
import { SButton } from '@solostylist/ui-kit';
|
|
3
|
+
import { SButton } from '@solostylist/ui-kit/s-button';
|
|
4
4
|
import { memo } from 'react';
|
|
5
5
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
6
6
|
var ToolsBarItemButton = function ToolsBarItemButton(_ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-zooming.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/canvas-zooming.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"canvas-zooming.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/canvas-zooming.tsx"],"names":[],"mappings":"AAoBA,QAAA,MAAM,aAAa,+CAwIlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -5,7 +5,8 @@ import Menu from '@mui/material/Menu';
|
|
|
5
5
|
import MenuItem from '@mui/material/MenuItem';
|
|
6
6
|
import { useState } from 'react';
|
|
7
7
|
import { Typography } from '@mui/material';
|
|
8
|
-
import { SFlexBox
|
|
8
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
9
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
9
10
|
import { ZOOM_CANVAS } from "../../actions";
|
|
10
11
|
import { useStore } from "../../hooks";
|
|
11
12
|
import { DEFAULT_ZOOM_FACTOR, TOOLS_IDS } from "../../utils/constants";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"confirmation-modal.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/confirmation-modal.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"confirmation-modal.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/confirmation-modal.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAgB,YAAY,EAAe,MAAM,OAAO,CAAC;AAOhE,UAAU,sBAAsB;IAC9B,QAAQ,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,QAAA,MAAM,iBAAiB,GAAI,wBAGxB,sBAAsB,4CA2DxB,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useDialog } from '@solostylist/ui-kit/hooks/use-dialog';
|
|
2
|
+
import { SButton } from '@solostylist/ui-kit/s-button';
|
|
3
|
+
import { SDialog } from '@solostylist/ui-kit/s-dialog';
|
|
2
4
|
import { cloneElement, useCallback } from 'react';
|
|
3
5
|
import { RESET } from "../../actions";
|
|
4
6
|
import { useStore } from "../../hooks";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-dimensions-and-display-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/image-dimensions-and-display-toggle.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image-dimensions-and-display-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/image-dimensions-and-display-toggle.tsx"],"names":[],"mappings":"AAaA,QAAA,MAAM,+BAA+B,sDA2FpC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import Compare from '@mui/icons-material/Compare';
|
|
2
2
|
import { Typography } from '@mui/material';
|
|
3
|
-
import {
|
|
3
|
+
import { useCallback, useEffect } from 'react';
|
|
4
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
5
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
4
6
|
import { TOGGLE_ORIGINAL_IMAGE_DISPLAY } from "../../actions";
|
|
5
7
|
import { useStore } from "../../hooks";
|
|
6
8
|
import getProperDimensions from "../../utils/get-proper-dimensions";
|
|
@@ -9,8 +11,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
9
11
|
var ImageDimensionsAndDisplayToggle = function ImageDimensionsAndDisplayToggle() {
|
|
10
12
|
var _useStore = useStore(),
|
|
11
13
|
dispatch = _useStore.dispatch,
|
|
12
|
-
_useStore$isResetted = _useStore.isResetted,
|
|
13
|
-
isResetted = _useStore$isResetted === void 0 ? true : _useStore$isResetted,
|
|
14
14
|
originalImage = _useStore.originalImage,
|
|
15
15
|
_useStore$resize = _useStore.resize,
|
|
16
16
|
resize = _useStore$resize === void 0 ? {} : _useStore$resize,
|
|
@@ -20,31 +20,44 @@ var ImageDimensionsAndDisplayToggle = function ImageDimensionsAndDisplayToggle()
|
|
|
20
20
|
rotation = _useStore$adjustments2 === void 0 ? 0 : _useStore$adjustments2,
|
|
21
21
|
shownImageDimensions = _useStore.shownImageDimensions,
|
|
22
22
|
disableZooming = _useStore.config.disableZooming,
|
|
23
|
+
_useStore$isResetted = _useStore.isResetted,
|
|
24
|
+
isResetted = _useStore$isResetted === void 0 ? true : _useStore$isResetted,
|
|
23
25
|
t = _useStore.t;
|
|
24
|
-
var
|
|
26
|
+
var hideOriginalImage = useCallback(function () {
|
|
25
27
|
dispatch({
|
|
26
28
|
type: TOGGLE_ORIGINAL_IMAGE_DISPLAY,
|
|
27
29
|
payload: {
|
|
28
30
|
isShow: false
|
|
29
31
|
}
|
|
30
32
|
});
|
|
31
|
-
document.removeEventListener('mouseup',
|
|
32
|
-
document.removeEventListener('mouseleave',
|
|
33
|
-
document.removeEventListener('touchcancel',
|
|
34
|
-
document.removeEventListener('touchend',
|
|
35
|
-
};
|
|
36
|
-
var showOriginalImage = function
|
|
33
|
+
document.removeEventListener('mouseup', hideOriginalImage);
|
|
34
|
+
document.removeEventListener('mouseleave', hideOriginalImage);
|
|
35
|
+
document.removeEventListener('touchcancel', hideOriginalImage);
|
|
36
|
+
document.removeEventListener('touchend', hideOriginalImage);
|
|
37
|
+
}, [dispatch]);
|
|
38
|
+
var showOriginalImage = useCallback(function () {
|
|
39
|
+
if (isResetted) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
37
42
|
dispatch({
|
|
38
43
|
type: TOGGLE_ORIGINAL_IMAGE_DISPLAY,
|
|
39
44
|
payload: {
|
|
40
45
|
isShow: true
|
|
41
46
|
}
|
|
42
47
|
});
|
|
43
|
-
document.addEventListener('mouseup',
|
|
44
|
-
document.addEventListener('mouseleave',
|
|
45
|
-
document.addEventListener('touchcancel',
|
|
46
|
-
document.addEventListener('touchend',
|
|
47
|
-
};
|
|
48
|
+
document.addEventListener('mouseup', hideOriginalImage);
|
|
49
|
+
document.addEventListener('mouseleave', hideOriginalImage);
|
|
50
|
+
document.addEventListener('touchcancel', hideOriginalImage);
|
|
51
|
+
document.addEventListener('touchend', hideOriginalImage);
|
|
52
|
+
}, [dispatch, hideOriginalImage, isResetted]);
|
|
53
|
+
useEffect(function () {
|
|
54
|
+
return function () {
|
|
55
|
+
document.removeEventListener('mouseup', hideOriginalImage);
|
|
56
|
+
document.removeEventListener('mouseleave', hideOriginalImage);
|
|
57
|
+
document.removeEventListener('touchcancel', hideOriginalImage);
|
|
58
|
+
document.removeEventListener('touchend', hideOriginalImage);
|
|
59
|
+
};
|
|
60
|
+
}, [hideOriginalImage]);
|
|
48
61
|
if (!originalImage) {
|
|
49
62
|
return null;
|
|
50
63
|
}
|
|
@@ -58,9 +71,9 @@ var ImageDimensionsAndDisplayToggle = function ImageDimensionsAndDisplayToggle()
|
|
|
58
71
|
borderColor: 'divider'
|
|
59
72
|
},
|
|
60
73
|
children: [_jsx(SIconButton, {
|
|
61
|
-
onMouseDown: isResetted ? undefined : showOriginalImage,
|
|
62
|
-
onTouchStart: isResetted ? undefined : showOriginalImage,
|
|
63
74
|
disabled: isResetted,
|
|
75
|
+
onMouseDown: showOriginalImage,
|
|
76
|
+
onTouchStart: showOriginalImage,
|
|
64
77
|
tooltipOptions: {
|
|
65
78
|
title: t('showImageTitle')
|
|
66
79
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/index.tsx"],"names":[],"mappings":"AAAA,4BAA4B;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/index.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAW5B,UAAU,WAAW;IACnB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1C;AAED,QAAA,MAAM,MAAM,GAAI,oBAA+B,WAAW,4CAoDzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { Menu } from '@mui/icons-material';
|
|
2
|
-
import { SFlexBox
|
|
2
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
3
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
3
4
|
import ImageDimensionsAndDisplayToggle from "./image-dimensions-and-display-toggle";
|
|
4
5
|
import RedoButton from "./redo-button";
|
|
5
6
|
import UndoButton from "./undo-button";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import RedoIcon from '@mui/icons-material/Redo';
|
|
3
|
-
import { SIconButton } from '@solostylist/ui-kit';
|
|
3
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
4
4
|
import { REDO } from "../../actions";
|
|
5
5
|
import { useStore } from "../../hooks";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import ResetIcon from '@mui/icons-material/Refresh';
|
|
2
|
-
import { SIconButton } from '@solostylist/ui-kit';
|
|
2
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
3
3
|
import { useStore } from "../../hooks";
|
|
4
4
|
import ConfirmationModal from "./confirmation-modal";
|
|
5
5
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
@@ -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":"AAiCA,QAAA,MAAM,UAAU,sDAsRf,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -3,7 +3,12 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
|
3
3
|
import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
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 {
|
|
6
|
+
import { useDialog } from '@solostylist/ui-kit/hooks/use-dialog';
|
|
7
|
+
import { SButton } from '@solostylist/ui-kit/s-button';
|
|
8
|
+
import { SDialog } from '@solostylist/ui-kit/s-dialog';
|
|
9
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
10
|
+
import { SSelect } from '@solostylist/ui-kit/s-select';
|
|
11
|
+
import { STextField } from '@solostylist/ui-kit/s-text-field';
|
|
7
12
|
import { useEffect, useRef, useState } from 'react';
|
|
8
13
|
import { SET_FEEDBACK, SET_SAVING } from "../../actions";
|
|
9
14
|
import Slider from "../common/slider";
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Download } from '@mui/icons-material';
|
|
2
|
-
import { SIconButton } from '@solostylist/ui-kit';
|
|
2
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
3
3
|
import { useImageEditorActions, useStore } from "../../hooks";
|
|
4
4
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
5
5
|
var DownloadButton = function DownloadButton() {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useCallback } from 'react';
|
|
2
2
|
import UndoIcon from '@mui/icons-material/Undo';
|
|
3
|
-
import { SIconButton } from '@solostylist/ui-kit';
|
|
3
|
+
import { SIconButton } from '@solostylist/ui-kit/s-icon-button';
|
|
4
4
|
import { UNDO } from "../../actions";
|
|
5
5
|
import { useStore } from "../../hooks";
|
|
6
6
|
import { jsx as _jsx } from "react/jsx-runtime";
|
package/lib/demo/app.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/demo/app.tsx"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../src/demo/app.tsx"],"names":[],"mappings":"AAAA,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AACpC,OAAO,4BAA4B,CAAC;AA6CpC,QAAA,MAAM,OAAO,+CA0KZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
|
package/lib/demo/app.js
CHANGED
|
@@ -5,7 +5,10 @@ import '@fontsource/outfit/500.css';
|
|
|
5
5
|
import '@fontsource/outfit/600.css';
|
|
6
6
|
import AddPhotoAlternateIcon from '@mui/icons-material/AddPhotoAlternate';
|
|
7
7
|
import { Box, Typography } from '@mui/material';
|
|
8
|
-
import { SButton
|
|
8
|
+
import { SButton } from '@solostylist/ui-kit/s-button';
|
|
9
|
+
import { SCheckbox } from '@solostylist/ui-kit/s-checkbox';
|
|
10
|
+
import { SFlexBox } from '@solostylist/ui-kit/s-flex-box';
|
|
11
|
+
import { SThemeProvider } from '@solostylist/ui-kit/s-theme-provider';
|
|
9
12
|
import SLazyImage from '@solostylist/ui-kit/s-lazy-image';
|
|
10
13
|
import { useCallback, useRef, useState } from 'react';
|
|
11
14
|
import ImageEditorComponent, { TABS } from '..';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-annotation/index.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAI/C;;;GAGG;AACH,UAAU,qBAAqB;IAE7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,KAAK,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IAGtB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IAGpB,KAAK,CAAC,EAAE,CAAC,MAAM,GAAG;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,EAAE,CAAC;IACtD,YAAY,CAAC,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,IAAI,KAAK,IAAI,CAAC;CAC9E;AAED,KAAK,aAAa,GACd,OAAO,CAAC,qBAAqB,CAAC,GAC9B,CAAC,CAAC,MAAM,EAAE,qBAAqB,KAAK,OAAO,CAAC,qBAAqB,CAAC,CAAC,CAAC;AAExE;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,aAAa,GAAI,CAAC,SAAS,UAAU,GAAG,UAAU,EACtD,aAAY,OAAO,CAAC,qBAAqB,CAAM,EAC/C,gBAAe,OAAc,KAC5B,CACD,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,YAAY,GAAG,WAAW,CAAC,EAC3D,CAAC,cAAc,EAAE,aAAa,KAAK,IAAI,EACvC,CAAC,iBAAiB,EAAE,OAAO,CAAC,qBAAqB,CAAC,KAAK,IAAI,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/use-annotation/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,21 +122,9 @@ var useAnnotation = function useAnnotation() {
|
|
|
122
122
|
var stopAnnotationEventsListening = null;
|
|
123
123
|
if (canvas && enablePreview) {
|
|
124
124
|
var annotationInitialProps = getAnnotationInitialProps(tmpAnnotation, annotation.name);
|
|
125
|
-
console.log('[useAnnotation] attach preview events', {
|
|
126
|
-
hasCanvas: Boolean(canvas),
|
|
127
|
-
hasPreviewGroup: Boolean(previewGroup),
|
|
128
|
-
annotationName: annotation.name
|
|
129
|
-
});
|
|
130
125
|
stopAnnotationEventsListening = previewThenCallAnnotationAdding(canvas, _objectSpread(_objectSpread({}, annotationInitialProps), {}, {
|
|
131
126
|
name: annotation.name
|
|
132
127
|
}), previewGroup, saveAnnotationNoDebounce);
|
|
133
|
-
} else {
|
|
134
|
-
console.log('[useAnnotation] skip preview events', {
|
|
135
|
-
hasCanvas: Boolean(canvas),
|
|
136
|
-
enablePreview: enablePreview,
|
|
137
|
-
hasPreviewGroup: Boolean(previewGroup),
|
|
138
|
-
annotationName: annotation.name
|
|
139
|
-
});
|
|
140
128
|
}
|
|
141
129
|
return function () {
|
|
142
130
|
if (stopAnnotationEventsListening) {
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "1.0.
|
|
6
|
+
"version": "1.0.20",
|
|
7
7
|
"license": "MIT",
|
|
8
8
|
"author": "Lê Đặng Trường Đạt",
|
|
9
9
|
"main": "./lib/index.js",
|
|
@@ -29,49 +29,93 @@
|
|
|
29
29
|
"files": [
|
|
30
30
|
"lib"
|
|
31
31
|
],
|
|
32
|
+
"scripts": {
|
|
33
|
+
"build": "rimraf lib && yarn build:babel && yarn build:types",
|
|
34
|
+
"build:babel": "cross-env BABEL_ENV=production NODE_ENV=production babel src -d lib --config-file ./babel.config.json --extensions '.ts,.tsx' --ignore '**/*.d.ts' --copy-files -D",
|
|
35
|
+
"build:types": "tsc --project tsconfig.build.json",
|
|
36
|
+
"dev": "vite",
|
|
37
|
+
"dev:force": "vite --force",
|
|
38
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
39
|
+
"lint:fix": "eslint src --ext .ts,.tsx --fix",
|
|
40
|
+
"format": "prettier --write \"src/**/*.{js,jsx,ts,tsx,json,md}\" --cache",
|
|
41
|
+
"format:check": "prettier --check \"src/**/*.{js,jsx,ts,tsx,json,md}\" --cache",
|
|
42
|
+
"typecheck": "tsc --noEmit",
|
|
43
|
+
"clean": "rimraf lib",
|
|
44
|
+
"clean:dist": "rimraf dist",
|
|
45
|
+
"upgrade": "yarn upgrade-interactive",
|
|
46
|
+
"upgrade:check": "yarn outdated",
|
|
47
|
+
"upgrade:dedupe": "yarn dedupe",
|
|
48
|
+
"app:publish": "yarn build && yarn npm publish"
|
|
49
|
+
},
|
|
32
50
|
"dependencies": {
|
|
33
|
-
"@babel/runtime": "^7.
|
|
51
|
+
"@babel/runtime": "^7.29.2",
|
|
34
52
|
"@emotion/cache": "^11.14.0",
|
|
35
53
|
"@emotion/react": "^11.14.0",
|
|
36
54
|
"@emotion/styled": "^11.14.1",
|
|
37
55
|
"@fontsource/outfit": "^5.2.8",
|
|
38
|
-
"@mui/icons-material": "^7.3.
|
|
39
|
-
"@mui/lab": "^7.0.1-beta.
|
|
40
|
-
"@mui/material": "^7.3.
|
|
41
|
-
"@mui/system": "^7.3.
|
|
42
|
-
"@mui/utils": "^7.3.
|
|
43
|
-
"@solostylist/ui-kit": "^1.0.
|
|
44
|
-
"dayjs": "^1.11.
|
|
45
|
-
"
|
|
46
|
-
"
|
|
56
|
+
"@mui/icons-material": "^7.3.9",
|
|
57
|
+
"@mui/lab": "^7.0.1-beta.23",
|
|
58
|
+
"@mui/material": "^7.3.9",
|
|
59
|
+
"@mui/system": "^7.3.9",
|
|
60
|
+
"@mui/utils": "^7.3.9",
|
|
61
|
+
"@solostylist/ui-kit": "^1.0.210",
|
|
62
|
+
"dayjs": "^1.11.20",
|
|
63
|
+
"embla-carousel": "8.6.0",
|
|
64
|
+
"embla-carousel-autoplay": "^8.6.0",
|
|
65
|
+
"embla-carousel-react": "^8.6.0",
|
|
66
|
+
"framer-motion": "^12.38.0",
|
|
47
67
|
"overlayscrollbars": "^2.14.0",
|
|
48
68
|
"overlayscrollbars-react": "^0.5.6",
|
|
49
69
|
"react-colorful": "^5.6.1",
|
|
50
|
-
"react-slick": "^0.31.0",
|
|
51
|
-
"slick-carousel": "^1.8.1",
|
|
52
70
|
"uuid": "^13.0.0"
|
|
53
71
|
},
|
|
54
72
|
"peerDependencies": {
|
|
73
|
+
"konva": "^10.2.0",
|
|
55
74
|
"react": ">=17.0.0",
|
|
56
75
|
"react-dom": ">=17.0.0",
|
|
57
76
|
"react-konva": ">=17.0.0"
|
|
58
77
|
},
|
|
59
|
-
"scripts": {
|
|
60
|
-
"build": "rimraf lib && yarn build:babel && yarn build:types",
|
|
61
|
-
"build:babel": "cross-env BABEL_ENV=production NODE_ENV=production babel src -d lib --config-file ../../babel.config.json --extensions '.ts,.tsx' --ignore '**/*.d.ts' --copy-files -D",
|
|
62
|
-
"build:types": "tsc --project tsconfig.build.json",
|
|
63
|
-
"clean": "rimraf lib",
|
|
64
|
-
"lint": "yarn --cwd ../.. exec eslint packages/image-editor/src --ext .ts,.tsx",
|
|
65
|
-
"lint:fix": "yarn --cwd ../.. exec eslint packages/image-editor/src --ext .ts,.tsx --fix",
|
|
66
|
-
"typecheck": "tsc --noEmit",
|
|
67
|
-
"app:publish": "yarn npm publish"
|
|
68
|
-
},
|
|
69
|
-
"gitHead": "eb3c52c580ba7169cbfe3a226748fa9b4ddd0d30",
|
|
70
78
|
"devDependencies": {
|
|
79
|
+
"@babel/cli": "^7.28.6",
|
|
80
|
+
"@babel/core": "^7.29.0",
|
|
81
|
+
"@babel/plugin-transform-runtime": "^7.29.0",
|
|
82
|
+
"@babel/preset-env": "^7.29.2",
|
|
83
|
+
"@babel/preset-react": "^7.28.5",
|
|
84
|
+
"@babel/preset-typescript": "^7.28.5",
|
|
85
|
+
"@eslint/compat": "^2.0.3",
|
|
86
|
+
"@eslint/js": "^10.0.1",
|
|
87
|
+
"@rollup/plugin-node-resolve": "^16.0.3",
|
|
88
|
+
"@types/node": "^25.5.0",
|
|
71
89
|
"@types/react": "^19.2.14",
|
|
72
90
|
"@types/react-dom": "^19.2.3",
|
|
73
|
-
"react": "^
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
|
|
91
|
+
"@vitejs/plugin-react": "^6.0.1",
|
|
92
|
+
"babel-loader": "^10.1.1",
|
|
93
|
+
"babel-plugin-module-resolver": "^5.0.3",
|
|
94
|
+
"babel-plugin-transform-react-remove-prop-types": "^0.4.24",
|
|
95
|
+
"babel-preset-minify": "^0.5.2",
|
|
96
|
+
"cross-env": "^10.1.0",
|
|
97
|
+
"eslint": "^10.1.0",
|
|
98
|
+
"eslint-config-prettier": "^10.1.8",
|
|
99
|
+
"eslint-import-resolver-typescript": "^4.4.4",
|
|
100
|
+
"eslint-plugin-import-x": "^4.16.2",
|
|
101
|
+
"eslint-plugin-prettier": "^5.5.5",
|
|
102
|
+
"eslint-plugin-react": "^7.37.5",
|
|
103
|
+
"eslint-plugin-react-hooks": "^7.0.1",
|
|
104
|
+
"form-data": "^4.0.5",
|
|
105
|
+
"globals": "^17.4.0",
|
|
106
|
+
"isomorphic-fetch": "^3.0.0",
|
|
107
|
+
"konva": "10.2.3",
|
|
108
|
+
"prettier": "^3.8.1",
|
|
109
|
+
"react": "19.2.4",
|
|
110
|
+
"react-dom": "19.2.4",
|
|
111
|
+
"react-dropzone": "^15.0.0",
|
|
112
|
+
"react-konva": "19.2.3",
|
|
113
|
+
"rimraf": "^6.1.3",
|
|
114
|
+
"terser": "^5.46.1",
|
|
115
|
+
"typescript": "^5.9.3",
|
|
116
|
+
"typescript-eslint": "^8.57.1",
|
|
117
|
+
"vite": "^8.0.1"
|
|
118
|
+
},
|
|
119
|
+
"packageManager": "yarn@4.5.3",
|
|
120
|
+
"type": "module"
|
|
77
121
|
}
|