@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
@@ -1,11 +1,12 @@
1
- import { useCallback, useEffect, useMemo } from 'react';
2
- import { SFlexBox } from '@solostylist/ui-kit/core';
1
+ import { cloneElement, isValidElement, useCallback, useEffect, useMemo } from 'react';
2
+ import { SAiToolBar, SFlexBox } from '@solostylist/ui-kit';
3
3
  import { SELECT_TOOL } from "../../actions";
4
4
  import { TABS_TOOLS, TOOLS_ITEMS } from "../tools/tools.constants";
5
- import { useStore } from "../../hooks";
5
+ import { useImageEditorActions, useStore } from "../../hooks";
6
6
  import { TABS_IDS } from "../../utils/constants";
7
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
7
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
8
8
  var ToolsBar = function ToolsBar() {
9
+ var _ref;
9
10
  var _useStore = useStore(),
10
11
  t = _useStore.t,
11
12
  dispatch = _useStore.dispatch,
@@ -16,10 +17,15 @@ var ToolsBar = function ToolsBar() {
16
17
  selectionsIds = _useStore$selectionsI === void 0 ? [] : _useStore$selectionsI,
17
18
  _useStore$config = _useStore.config,
18
19
  defaultTabId = _useStore$config.defaultTabId,
19
- defaultToolId = _useStore$config.defaultToolId;
20
+ defaultToolId = _useStore$config.defaultToolId,
21
+ renderFloatingToolbar = _useStore$config.renderFloatingToolbar,
22
+ toolBarNode = _useStore$config.toolBarNode,
23
+ language = _useStore$config.language;
24
+ var _useImageEditorAction = useImageEditorActions(),
25
+ saveImage = _useImageEditorAction.saveImage;
20
26
  var currentTabId = tabId || defaultTabId;
21
27
  var tabToolsForCurrentTab = currentTabId ? TABS_TOOLS[currentTabId] : undefined;
22
- var currentToolId = toolId || defaultToolId || (tabToolsForCurrentTab === null || tabToolsForCurrentTab === void 0 ? void 0 : tabToolsForCurrentTab[0]);
28
+ var currentToolId = (_ref = toolId !== null && toolId !== void 0 ? toolId : defaultToolId) !== null && _ref !== void 0 ? _ref : tabToolsForCurrentTab === null || tabToolsForCurrentTab === void 0 ? void 0 : tabToolsForCurrentTab[0];
23
29
  var tabTools = useMemo(function () {
24
30
  var _TABS_TOOLS$currentTa;
25
31
  return currentTabId ? (_TABS_TOOLS$currentTa = TABS_TOOLS[currentTabId]) !== null && _TABS_TOOLS$currentTa !== void 0 ? _TABS_TOOLS$currentTa : [] : [];
@@ -76,6 +82,10 @@ var ToolsBar = function ToolsBar() {
76
82
  return OptionsComponent ? _jsx(SFlexBox, {
77
83
  gap: 1,
78
84
  justifyContent: "center",
85
+ sx: {
86
+ width: '100%',
87
+ minWidth: 0
88
+ },
79
89
  children: _jsx(OptionsComponent, {
80
90
  t: t
81
91
  })
@@ -91,26 +101,41 @@ var ToolsBar = function ToolsBar() {
91
101
  });
92
102
  }
93
103
  }, []);
94
- return _jsxs(SFlexBox, {
95
- height: 120,
96
- width: "100%",
104
+ var toolButtons = _jsx(SFlexBox, {
97
105
  gap: 1,
98
- flexDirection: "column",
99
106
  alignItems: "center",
100
- sx: {
101
- p: 1,
102
- zIndex: 10,
103
- overflow: 'visible'
104
- },
105
- children: [toolOptionsElement, _jsx(SFlexBox, {
107
+ justifyContent: "center",
108
+ children: items
109
+ });
110
+ if (toolBarNode && isValidElement(toolBarNode)) {
111
+ return _jsx(_Fragment, {
112
+ children: cloneElement(toolBarNode, {
113
+ customActionButtons: toolButtons,
114
+ centerContent: toolOptionsElement
115
+ })
116
+ });
117
+ }
118
+ if (renderFloatingToolbar) {
119
+ return _jsx(_Fragment, {
120
+ children: renderFloatingToolbar({
121
+ toolButtons: toolButtons,
122
+ toolOptions: toolOptionsElement,
123
+ t: t,
124
+ language: language,
125
+ onDownload: saveImage
126
+ })
127
+ });
128
+ }
129
+ return _jsx(SAiToolBar, {
130
+ hideProcessButton: true,
131
+ onDownload: saveImage,
132
+ customActionButtons: _jsxs(SFlexBox, {
106
133
  gap: 1,
107
- alignItems: "flex-end",
134
+ alignItems: "center",
108
135
  justifyContent: "center",
109
- flexWrap: "wrap",
110
- height: "100%",
111
- width: "100%",
112
- children: items
113
- })]
136
+ flexDirection: "column",
137
+ children: [toolButtons, toolOptionsElement]
138
+ })
114
139
  });
115
140
  };
116
141
  export default ToolsBar;
@@ -1 +1 @@
1
- {"version":3,"file":"tools-bar-item-button.d.ts","sourceRoot":"","sources":["../../../src/components/tools-bar/tools-bar-item-button.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAK1E,UAAU,2BAA2B;IACnC,IAAI,CAAC,EAAE;QACL,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;KACrB,CAAC;CACH;AAED,UAAU,uBAAuB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/D,IAAI,EAAE,oBAAoB,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG;QAC1D,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;wIAWE,uBAAuB;AAiC1B,wBAAwC"}
1
+ {"version":3,"file":"tools-bar-item-button.d.ts","sourceRoot":"","sources":["../../../src/components/tools-bar/tools-bar-item-button.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oCAAoC,CAAC;AAK1E,UAAU,2BAA2B;IACnC,IAAI,CAAC,EAAE;QACL,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;KACrB,CAAC;CACH;AAED,UAAU,uBAAuB;IAC/B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAC/D,IAAI,EAAE,oBAAoB,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG;QAC1D,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,2BAA2B,CAAC;CACzC;wIAWE,uBAAuB;AAuC1B,wBAAwC"}
@@ -1,10 +1,10 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
2
  import Typography from '@mui/material/Typography';
3
- import { SButton } from '@solostylist/ui-kit/core';
3
+ import { SButton } from '@solostylist/ui-kit';
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) {
7
- var _slotProps$icon, _slotProps$icon2;
7
+ var _slotProps$icon;
8
8
  var id = _ref.id,
9
9
  _ref$label = _ref.label,
10
10
  label = _ref$label === void 0 ? '' : _ref$label,
@@ -19,9 +19,11 @@ var ToolsBarItemButton = function ToolsBarItemButton(_ref) {
19
19
  var handleClick = function handleClick(e) {
20
20
  onClick(id, e);
21
21
  };
22
+ var iconSlotSx = slotProps === null || slotProps === void 0 || (_slotProps$icon = slotProps.icon) === null || _slotProps$icon === void 0 ? void 0 : _slotProps$icon.sx;
23
+ var extraIconSxArray = Array.isArray(iconSlotSx) ? iconSlotSx : iconSlotSx ? [iconSlotSx] : [];
22
24
  var iconSx = [{
23
25
  color: isSelected ? 'primary.main' : 'text.primary'
24
- }].concat(_toConsumableArray(Array.isArray(slotProps === null || slotProps === void 0 || (_slotProps$icon = slotProps.icon) === null || _slotProps$icon === void 0 ? void 0 : _slotProps$icon.sx) ? slotProps.icon.sx : slotProps !== null && slotProps !== void 0 && (_slotProps$icon2 = slotProps.icon) !== null && _slotProps$icon2 !== void 0 && _slotProps$icon2.sx ? [slotProps.icon.sx] : []));
26
+ }].concat(_toConsumableArray(extraIconSxArray));
25
27
  return _jsxs(SButton, {
26
28
  startIcon: _jsx(Icon, {
27
29
  sx: iconSx
@@ -35,6 +37,9 @@ var ToolsBarItemButton = function ToolsBarItemButton(_ref) {
35
37
  },
36
38
  children: [label && _jsx(Typography, {
37
39
  color: isSelected ? 'primary.main' : 'text.primary',
40
+ sx: {
41
+ textWrap: 'nowrap'
42
+ },
38
43
  children: label
39
44
  }), children]
40
45
  });
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-zooming.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/canvas-zooming.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,aAAa,+CAqIlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"canvas-zooming.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/canvas-zooming.tsx"],"names":[],"mappings":"AAmBA,QAAA,MAAM,aAAa,+CAwIlB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -5,7 +5,7 @@ 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, SIconButton } from '@solostylist/ui-kit/core';
8
+ import { SFlexBox, SIconButton } from '@solostylist/ui-kit';
9
9
  import { ZOOM_CANVAS } from "../../actions";
10
10
  import { useStore } from "../../hooks";
11
11
  import { DEFAULT_ZOOM_FACTOR, TOOLS_IDS } from "../../utils/constants";
@@ -47,7 +47,7 @@ var CanvasZooming = function CanvasZooming() {
47
47
  var fitCanvas = function fitCanvas() {
48
48
  var usedAsOrgDimens = resize.width && resize.height && resize || crop.width && crop.height && crop || shownImageDimensions;
49
49
  var fitCanvasFactor = getZoomFitFactor(crop.width && crop.height && crop || shownImageDimensions, usedAsOrgDimens);
50
- saveZoom(fitCanvasFactor || DEFAULT_ZOOM_FACTOR, true);
50
+ saveZoom(fitCanvasFactor !== null && fitCanvasFactor !== void 0 ? fitCanvasFactor : DEFAULT_ZOOM_FACTOR, true);
51
51
  };
52
52
  var zoomOut = function zoomOut() {
53
53
  saveZoom(zoom.factor / MULTIPLY_ZOOM_FACTOR);
@@ -61,12 +61,12 @@ var CanvasZooming = function CanvasZooming() {
61
61
  toggleZoomingMenu();
62
62
  return;
63
63
  }
64
- var factorToAchieveSelected = resize.width || resize.height ? factor : Math.min(factor * originalImage.width / shownImageDimensions.width, factor * originalImage.height / shownImageDimensions.height);
64
+ var factorToAchieveSelected = resize.width || resize.height ? factor : Math.min(factor * ((originalImage === null || originalImage === void 0 ? void 0 : originalImage.width) || 0) / shownImageDimensions.width, factor * ((originalImage === null || originalImage === void 0 ? void 0 : originalImage.height) || 0) / shownImageDimensions.height);
65
65
  saveZoom(factorToAchieveSelected, true);
66
66
  toggleZoomingMenu();
67
67
  };
68
68
  var isZoomDisabled = toolId === TOOLS_IDS.CROP || isBlockerError;
69
- var previewToRealImgFactor = originalImage && !resize.width && !resize.height ? Math.min(shownImageDimensions.width * zoom.factor / originalImage.width, shownImageDimensions.height * zoom.factor / originalImage.height) : zoom.factor;
69
+ var previewToRealImgFactor = originalImage && !resize.width && !resize.height ? Math.min(shownImageDimensions.width * zoom.factor / ((originalImage === null || originalImage === void 0 ? void 0 : originalImage.width) || 1), shownImageDimensions.height * zoom.factor / ((originalImage === null || originalImage === void 0 ? void 0 : originalImage.height) || 1)) : zoom.factor;
70
70
  return _jsxs(SFlexBox, {
71
71
  sx: {
72
72
  alignItems: 'center',
@@ -119,7 +119,7 @@ var CanvasZooming = function CanvasZooming() {
119
119
  children: _jsx(ListItemText, {
120
120
  children: label !== null && label !== void 0 ? label : t(labelKey)
121
121
  })
122
- }, label || labelKey);
122
+ }, label !== null && label !== void 0 ? label : labelKey);
123
123
  })
124
124
  })]
125
125
  });
@@ -1,4 +1,4 @@
1
- import { SButton, SDialog, useDialog } from '@solostylist/ui-kit/core';
1
+ import { SButton, SDialog, useDialog } from '@solostylist/ui-kit';
2
2
  import { cloneElement, useCallback } from 'react';
3
3
  import { RESET } from "../../actions";
4
4
  import { useStore } from "../../hooks";
@@ -25,7 +25,7 @@ var ConfirmationModal = function ConfirmationModal(_ref) {
25
25
  }
26
26
  });
27
27
  dialog.handleClose();
28
- }, [config]);
28
+ }, [config, dispatch, dialog]);
29
29
  if (typeof onClose !== 'function' && !isReset) {
30
30
  return _jsx("span", {});
31
31
  }
@@ -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":"AAWA,QAAA,MAAM,+BAA+B,sDA2EpC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
1
+ {"version":3,"file":"image-dimensions-and-display-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/image-dimensions-and-display-toggle.tsx"],"names":[],"mappings":"AAWA,QAAA,MAAM,+BAA+B,sDA6EpC,CAAC;AAEF,eAAe,+BAA+B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import Compare from '@mui/icons-material/Compare';
2
2
  import { Typography } from '@mui/material';
3
- import { SFlexBox, SIconButton } from '@solostylist/ui-kit/core';
3
+ import { SFlexBox, SIconButton } from '@solostylist/ui-kit';
4
4
  import { TOGGLE_ORIGINAL_IMAGE_DISPLAY } from "../../actions";
5
5
  import { useStore } from "../../hooks";
6
6
  import getProperDimensions from "../../utils/get-proper-dimensions";
@@ -53,12 +53,11 @@ var ImageDimensionsAndDisplayToggle = function ImageDimensionsAndDisplayToggle()
53
53
  sx: {
54
54
  gap: 1,
55
55
  alignItems: 'center',
56
- order: 2
56
+ order: 2,
57
+ borderLeft: '1px solid',
58
+ borderColor: 'divider'
57
59
  },
58
- children: [_jsx(Typography, {
59
- title: t('imageDimensionsHoverTitle'),
60
- children: "".concat(dimensions.width, " x ").concat(dimensions.height, " px")
61
- }), _jsx(SIconButton, {
60
+ children: [_jsx(SIconButton, {
62
61
  onMouseDown: isResetted ? undefined : showOriginalImage,
63
62
  onTouchStart: isResetted ? undefined : showOriginalImage,
64
63
  disabled: isResetted,
@@ -66,6 +65,9 @@ var ImageDimensionsAndDisplayToggle = function ImageDimensionsAndDisplayToggle()
66
65
  title: t('showImageTitle')
67
66
  },
68
67
  children: _jsx(Compare, {})
68
+ }), _jsx(Typography, {
69
+ title: t('imageDimensionsHoverTitle'),
70
+ children: "".concat(dimensions.width, " x ").concat(dimensions.height, " px")
69
71
  }), !disableZooming && _jsx(CanvasZooming, {})]
70
72
  });
71
73
  };
@@ -1 +1 @@
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,4CAgDzD,CAAC;AAEF,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/index.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAU5B,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,31 +1,41 @@
1
1
  import { Menu } from '@mui/icons-material';
2
- import { SFlexBox, SIconButton } from '@solostylist/ui-kit/core';
2
+ import { SFlexBox, SIconButton } from '@solostylist/ui-kit';
3
3
  import ImageDimensionsAndDisplayToggle from "./image-dimensions-and-display-toggle";
4
4
  import RedoButton from "./redo-button";
5
- import ResetButton from "./reset-button";
6
- import SaveButton from "./save-button";
7
5
  import UndoButton from "./undo-button";
6
+ import ResetButton from "./reset-button";
8
7
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
9
8
  var Topbar = function Topbar(_ref) {
10
9
  var _ref$toggleMainMenu = _ref.toggleMainMenu,
11
10
  toggleMainMenu = _ref$toggleMainMenu === void 0 ? function () {} : _ref$toggleMainMenu;
12
- return _jsxs(SFlexBox, {
11
+ return _jsx(SFlexBox, {
13
12
  sx: {
14
- padding: 1,
15
- width: '100%',
16
- gap: 1,
13
+ width: 'calc(100% - var(--s-image-editor-tabs-width, 0px))',
14
+ justifyContent: 'center',
17
15
  alignItems: 'center',
18
- justifyContent: 'space-between',
19
- borderBottom: '1px solid',
20
- borderColor: 'divider',
21
- height: 60,
22
- minHeight: 60
16
+ paddingY: 1.5,
17
+ position: 'absolute',
18
+ top: 0,
19
+ left: 'var(--s-image-editor-tabs-width, 0px)',
20
+ right: 0,
21
+ maxWidth: '100%',
22
+ zIndex: 30,
23
+ backgroundColor: 'transparent',
24
+ pointerEvents: 'none',
25
+ transition: 'left 0.3s ease, width 0.3s ease'
23
26
  },
24
- children: [_jsxs(SFlexBox, {
27
+ children: _jsxs(SFlexBox, {
25
28
  sx: {
29
+ width: 'fit-content',
26
30
  alignItems: 'center',
27
- order: 1,
28
- gap: 1
31
+ gap: 1.5,
32
+ paddingX: 0.5,
33
+ paddingY: 0.75,
34
+ borderRadius: 1,
35
+ backgroundColor: 'background.paper',
36
+ boxShadow: 1,
37
+ transition: 'box-shadow 0.3s ease',
38
+ pointerEvents: 'auto'
29
39
  },
30
40
  children: [_jsx(SIconButton, {
31
41
  onClick: function onClick() {
@@ -38,15 +48,14 @@ var Topbar = function Topbar(_ref) {
38
48
  }
39
49
  },
40
50
  children: _jsx(Menu, {})
41
- }), _jsx(SaveButton, {})]
42
- }), _jsx(ImageDimensionsAndDisplayToggle, {}), _jsxs(SFlexBox, {
43
- sx: {
44
- alignItems: 'center',
45
- order: 3,
46
- gap: 1
47
- },
48
- children: [_jsx(ResetButton, {}), _jsx(UndoButton, {}), _jsx(RedoButton, {})]
49
- })]
51
+ }), _jsxs(SFlexBox, {
52
+ sx: {
53
+ alignItems: 'center',
54
+ gap: 1
55
+ },
56
+ children: [_jsx(ResetButton, {}), _jsx(UndoButton, {}), _jsx(RedoButton, {})]
57
+ }), _jsx(ImageDimensionsAndDisplayToggle, {})]
58
+ })
50
59
  });
51
60
  };
52
61
  export default Topbar;
@@ -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/core';
3
+ import { SIconButton } from '@solostylist/ui-kit';
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/core';
2
+ import { SIconButton } from '@solostylist/ui-kit';
3
3
  import { useStore } from "../../hooks";
4
4
  import ConfirmationModal from "./confirmation-modal";
5
5
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -3,7 +3,7 @@ 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 { SButton, SDialog, SFlexBox, SSelect, STextField, useDialog } from '@solostylist/ui-kit/core';
6
+ import { SButton, SDialog, SFlexBox, SSelect, STextField, useDialog } from '@solostylist/ui-kit';
7
7
  import { useEffect, useRef, useState } from 'react';
8
8
  import { SET_FEEDBACK, SET_SAVING } from "../../actions";
9
9
  import Slider from "../common/slider";
@@ -16,6 +16,7 @@ import restrictNumber from "../../utils/restrict-number";
16
16
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
17
17
  var isFieSaveMounted = true;
18
18
  var SaveButton = function SaveButton() {
19
+ var _imageFileInfo$extens, _imageFileInfo$size;
19
20
  var state = useStore();
20
21
  var optionSaveFnRef = useRef(null);
21
22
  var dispatch = state.dispatch,
@@ -49,7 +50,7 @@ var SaveButton = function SaveButton() {
49
50
  imageFileInfo = _useState2[0],
50
51
  setImageFileInfo = _useState2[1];
51
52
  var transformImgFn = useTransformedImgData();
52
- var isQualityAcceptable = ['jpeg', 'jpg', 'webp'].includes(imageFileInfo.extension);
53
+ var isQualityAcceptable = ['jpeg', 'jpg', 'webp'].includes((_imageFileInfo$extens = imageFileInfo.extension) !== null && _imageFileInfo$extens !== void 0 ? _imageFileInfo$extens : '');
53
54
  var isBlockerError = feedback.duration === 0;
54
55
  var cancelModal = function cancelModal() {
55
56
  if (isFieSaveMounted && dialog.open) {
@@ -58,8 +59,9 @@ var SaveButton = function SaveButton() {
58
59
  }
59
60
  };
60
61
  var handleSave = function handleSave() {
62
+ var _optionSaveFnRef$curr;
61
63
  var transformedData = transformImgFn(imageFileInfo, false, true);
62
- var onSaveFn = optionSaveFnRef.current || onSave;
64
+ var onSaveFn = (_optionSaveFnRef$curr = optionSaveFnRef.current) !== null && _optionSaveFnRef$curr !== void 0 ? _optionSaveFnRef$curr : onSave;
63
65
  var savingResult = onSaveFn(transformedData.imageData, transformedData.designState);
64
66
  var finalizeSaving = function finalizeSaving() {
65
67
  dispatch({
@@ -90,7 +92,8 @@ var SaveButton = function SaveButton() {
90
92
  setTimeout(handleSave, 3);
91
93
  };
92
94
  var validateInfoThenSave = function validateInfoThenSave() {
93
- var onSaveFn = optionSaveFnRef.current || onSave;
95
+ var _optionSaveFnRef$curr2;
96
+ var onSaveFn = (_optionSaveFnRef$curr2 = optionSaveFnRef.current) !== null && _optionSaveFnRef$curr2 !== void 0 ? _optionSaveFnRef$curr2 : onSave;
94
97
  if (typeof onSaveFn !== 'function') {
95
98
  throw new Error('Please provide onSave function handler.');
96
99
  }
@@ -134,7 +137,7 @@ var SaveButton = function SaveButton() {
134
137
  }));
135
138
  };
136
139
  var getFileNameAndExtension = function getFileNameAndExtension() {
137
- return getFileFullName(defaultSavedImageName || originalImage.name, 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);
140
+ return getFileFullName(defaultSavedImageName !== null && defaultSavedImageName !== void 0 ? defaultSavedImageName : originalImage === null || originalImage === void 0 ? void 0 : originalImage.title, 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);
138
141
  };
139
142
  var _useState3 = useState(originalImage),
140
143
  _useState4 = _slicedToArray(_useState3, 2),
@@ -238,7 +241,7 @@ var SaveButton = function SaveButton() {
238
241
  width: "100%"
239
242
  }), _jsx(Resize, {
240
243
  onChange: resizeImageFile,
241
- currentSize: (imageFileInfo === null || imageFileInfo === void 0 ? void 0 : imageFileInfo.size) || {},
244
+ currentSize: (_imageFileInfo$size = imageFileInfo === null || imageFileInfo === void 0 ? void 0 : imageFileInfo.size) !== null && _imageFileInfo$size !== void 0 ? _imageFileInfo$size : {},
242
245
  hideResetButton: true
243
246
  })]
244
247
  }),
@@ -0,0 +1,3 @@
1
+ declare const DownloadButton: () => import("react/jsx-runtime").JSX.Element;
2
+ export default DownloadButton;
3
+ //# sourceMappingURL=topbar-action-buttons.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"topbar-action-buttons.d.ts","sourceRoot":"","sources":["../../../src/components/topbar/topbar-action-buttons.tsx"],"names":[],"mappings":"AAOA,QAAA,MAAM,cAAc,+CAoBnB,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -0,0 +1,27 @@
1
+ import { Download } from '@mui/icons-material';
2
+ import { SIconButton } from '@solostylist/ui-kit';
3
+ import { useImageEditorActions, useStore } from "../../hooks";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ var DownloadButton = function DownloadButton() {
6
+ var _useImageEditorAction = useImageEditorActions(),
7
+ saveImage = _useImageEditorAction.saveImage;
8
+ var _useStore = useStore(),
9
+ isLoadingGlobally = _useStore.isLoadingGlobally,
10
+ haveNotSavedChanges = _useStore.haveNotSavedChanges,
11
+ feedback = _useStore.feedback,
12
+ config = _useStore.config,
13
+ t = _useStore.t;
14
+ var isBlockerError = (feedback === null || feedback === void 0 ? void 0 : feedback.duration) === 0;
15
+ var disableSaveIfNoChanges = config === null || config === void 0 ? void 0 : config.disableSaveIfNoChanges;
16
+ return _jsx(SIconButton, {
17
+ onClick: function onClick() {
18
+ return saveImage();
19
+ },
20
+ disabled: isLoadingGlobally || disableSaveIfNoChanges && !haveNotSavedChanges || isBlockerError,
21
+ tooltipOptions: {
22
+ title: t('download')
23
+ },
24
+ children: _jsx(Download, {})
25
+ });
26
+ };
27
+ export default 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/core';
3
+ import { SIconButton } from '@solostylist/ui-kit';
4
4
  import { UNDO } from "../../actions";
5
5
  import { useStore } from "../../hooks";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
@@ -1 +1 @@
1
- {"version":3,"file":"app-provider.d.ts","sourceRoot":"","sources":["../../src/context/app-provider.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAmC,SAAS,EAAE,MAAM,OAAO,CAAC;AAMnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQtD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACrC;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA2C3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"app-provider.d.ts","sourceRoot":"","sources":["../../src/context/app-provider.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,OAAO,EAAmC,SAAS,EAAE,MAAM,OAAO,CAAC;AAMnE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAQtD,UAAU,gBAAgB;IACxB,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACrC;AAED,QAAA,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiD3C,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -5,7 +5,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
5
5
  import { useCallback, useEffect, useMemo } from 'react';
6
6
  import { useTheme } from '@mui/material/styles';
7
7
  import { useAppReducer } from "../hooks";
8
- import { translate, updateTranslations } from "../utils/translator";
8
+ import { updateTranslations } from "../utils/translator";
9
9
  import appReducer from "./app-reducer";
10
10
  import AppContext from "./app-context";
11
11
  import getInitialAppState from "./get-initial-app-state";
@@ -30,18 +30,20 @@ var AppProvider = function AppProvider(_ref) {
30
30
  _dispatch(action);
31
31
  }
32
32
  }, [_dispatch]);
33
- useEffect(function () {
34
- updateTranslations(config.translations, config.language);
35
- }, [config.language, config.translations]);
33
+ var resolvedTranslations = useMemo(function () {
34
+ return updateTranslations(config.translations, config.language, config.supportedLanguages);
35
+ }, [config.language, config.supportedLanguages, config.translations]);
36
36
  var theme = useTheme();
37
37
  var providedValue = useMemo(function () {
38
38
  return _objectSpread(_objectSpread({}, state), {}, {
39
39
  config: config,
40
40
  theme: theme,
41
41
  dispatch: dispatch,
42
- t: translate
42
+ t: function t(key) {
43
+ return resolvedTranslations[key] || key || '';
44
+ }
43
45
  });
44
- }, [config, state]);
46
+ }, [config, dispatch, resolvedTranslations, state, theme]);
45
47
  return _jsx(AppContext.Provider, {
46
48
  value: providedValue,
47
49
  children: children
@@ -1,5 +1,6 @@
1
1
  import actions from "../actions";
2
2
  var appReducer = function appReducer(state, action) {
3
- return actions[action.type] ? actions[action.type](state, action.payload) || state : state;
3
+ var _actions$action$type;
4
+ return actions[action.type] ? (_actions$action$type = actions[action.type](state, action.payload)) !== null && _actions$action$type !== void 0 ? _actions$action$type : state : state;
4
5
  };
5
6
  export default appReducer;
@@ -1 +1 @@
1
- {"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../src/context/default-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,QAAA,MAAM,aAAa,EA4GH,iBAAiB,CAAC;AAElC,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"default-config.d.ts","sourceRoot":"","sources":["../../src/context/default-config.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAEtD,QAAA,MAAM,aAAa,EAyHH,iBAAiB,CAAC;AAElC,eAAe,aAAa,CAAC"}
@@ -71,5 +71,5 @@ var defaultConfig = (_defaultConfig = {
71
71
  }), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig, TOOLS_IDS.ROTATE, {
72
72
  angle: 60,
73
73
  componentType: 'slider'
74
- }), "tabsIds", []), "defaultTabId", TABS_IDS.ADJUST), "defaultToolId", TOOLS_IDS.CROP), "onSave", undefined), "onBeforeSave", undefined), "closeAfterSave", false), "defaultSavedImageName", undefined), "defaultSavedImageType", null), "defaultSavedImageQuality", 0.92), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig, "forceToPngInEllipticalCrop", false), "translations", null), "language", 'en'), "avoidChangesNotSavedAlertOnLeave", false), "loadableDesignState", null), "savingPixelRatio", 4), "previewPixelRatio", window ? window.devicePixelRatio || 1 : 1), "observePluginContainerSize", false), "showCanvasOnly", false), "getCurrentImgDataFnRef", undefined), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig, "onModify", undefined), "useZoomPresetsMenu", true), "disableZooming", false), "noCrossOrigin", false), "disableSaveIfNoChanges", false), "removeSaveButton", false), "resetOnImageSourceChange", false), "backgroundColor", undefined), "backgroundImage", undefined));
74
+ }), "tabsIds", []), "defaultTabId", TABS_IDS.ADJUST), "defaultToolId", TOOLS_IDS.CROP), "onSave", undefined), "onBeforeSave", undefined), "closeAfterSave", false), "defaultSavedImageName", undefined), "savedImageNamePrefix", 'solostylist_image_editor'), "defaultSavedImageType", null), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig, "defaultSavedImageQuality", 0.92), "forceToPngInEllipticalCrop", false), "translations", null), "language", 'en'), "supportedLanguages", ['en', 'vi', 'zh', 'fr']), "avoidChangesNotSavedAlertOnLeave", false), "loadableDesignState", null), "savingPixelRatio", 4), "previewPixelRatio", window ? window.devicePixelRatio || 1 : 1), "observePluginContainerSize", false), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig, "showCanvasOnly", false), "getCurrentImgDataFnRef", undefined), "onModify", undefined), "useZoomPresetsMenu", true), "disableZooming", false), "noCrossOrigin", false), "disableSaveIfNoChanges", false), "removeSaveButton", false), "resetOnImageSourceChange", false), "backgroundColor", undefined), _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty(_defaultConfig, "backgroundImage", undefined), "containerHeight", undefined), "editorHeight", undefined), "toolbarHeight", undefined), "rootSx", undefined), "rootClassName", undefined), "canvasAreaHeight", undefined), "canvasBackground", undefined), "renderFloatingToolbar", undefined), "showCanvasCenter", false), _defineProperty(_defineProperty(_defaultConfig, "cropTopOffset", 20), "renderEmptyState", undefined));
75
75
  export default defaultConfig;
@@ -1,3 +1,4 @@
1
+ export declare const translationsByLanguage: Record<string, Record<string, string>>;
1
2
  declare const defaultTranslations: Record<string, string>;
2
3
  export default defaultTranslations;
3
4
  //# sourceMappingURL=default-translations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default-translations.d.ts","sourceRoot":"","sources":["../../src/context/default-translations.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAoH/C,CAAC;AAEF,eAAe,mBAAmB,CAAC"}
1
+ {"version":3,"file":"default-translations.d.ts","sourceRoot":"","sources":["../../src/context/default-translations.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwdzE,CAAC;AAEF,QAAA,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAE/C,CAAC;AAEF,eAAe,mBAAmB,CAAC"}