@dreamcommerce/aurora 3.1.30 → 3.1.32-1

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 (82) hide show
  1. package/README.md +0 -134
  2. package/build/cjs/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +5 -14
  3. package/build/cjs/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -1
  4. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview.js +0 -2
  5. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview.js.map +1 -1
  6. package/build/cjs/packages/aurora/src/components/image_picker/image_picker.js +15 -81
  7. package/build/cjs/packages/aurora/src/components/image_picker/image_picker.js.map +1 -1
  8. package/build/cjs/packages/aurora/src/components/image_picker/use_image_picker.js +36 -102
  9. package/build/cjs/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -1
  10. package/build/cjs/packages/aurora/src/components/resizable/components/resizable_container.js +42 -0
  11. package/build/cjs/packages/aurora/src/components/resizable/components/resizable_container.js.map +1 -0
  12. package/build/cjs/packages/aurora/src/components/resizable/components/resizable_handle.js +39 -0
  13. package/build/cjs/packages/aurora/src/components/resizable/components/resizable_handle.js.map +1 -0
  14. package/build/cjs/packages/aurora/src/components/resizable/components/resizable_pure.js +41 -0
  15. package/build/cjs/packages/aurora/src/components/resizable/components/resizable_pure.js.map +1 -0
  16. package/build/cjs/packages/aurora/src/components/resizable/hooks/use_resizable.js +79 -0
  17. package/build/cjs/packages/aurora/src/components/resizable/hooks/use_resizable.js.map +1 -0
  18. package/build/cjs/packages/aurora/src/components/resizable/hooks/use_resizable_context.js +17 -0
  19. package/build/cjs/packages/aurora/src/components/resizable/hooks/use_resizable_context.js.map +1 -0
  20. package/build/cjs/packages/aurora/src/components/resizable/resizable.js +44 -0
  21. package/build/cjs/packages/aurora/src/components/resizable/resizable.js.map +1 -0
  22. package/build/cjs/packages/aurora/src/components/resizable/resizable_container_constants.js +21 -0
  23. package/build/cjs/packages/aurora/src/components/resizable/resizable_container_constants.js.map +1 -0
  24. package/build/cjs/packages/aurora/src/components/resizable/resizable_context.js +14 -0
  25. package/build/cjs/packages/aurora/src/components/resizable/resizable_context.js.map +1 -0
  26. package/build/cjs/packages/aurora/src/components/resizable/resizable_utils.js +37 -0
  27. package/build/cjs/packages/aurora/src/components/resizable/resizable_utils.js.map +1 -0
  28. package/build/cjs/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +114 -123
  29. package/build/cjs/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -1
  30. package/build/cjs/packages/aurora/src/index.js +2 -0
  31. package/build/cjs/packages/aurora/src/index.js.map +1 -1
  32. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +6 -15
  33. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -1
  34. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.d.ts +3 -5
  35. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.js +0 -1
  36. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.js.map +1 -1
  37. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.d.ts +1 -2
  38. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js +0 -2
  39. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js.map +1 -1
  40. package/build/esm/packages/aurora/src/components/image_picker/image_picker.js +17 -83
  41. package/build/esm/packages/aurora/src/components/image_picker/image_picker.js.map +1 -1
  42. package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.d.ts +16 -24
  43. package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.js.map +1 -1
  44. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.d.ts +1 -1
  45. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js +37 -103
  46. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -1
  47. package/build/esm/packages/aurora/src/components/resizable/components/resizable_container.d.ts +3 -0
  48. package/build/esm/packages/aurora/src/components/resizable/components/resizable_container.js +34 -0
  49. package/build/esm/packages/aurora/src/components/resizable/components/resizable_container.js.map +1 -0
  50. package/build/esm/packages/aurora/src/components/resizable/components/resizable_handle.d.ts +8 -0
  51. package/build/esm/packages/aurora/src/components/resizable/components/resizable_handle.js +31 -0
  52. package/build/esm/packages/aurora/src/components/resizable/components/resizable_handle.js.map +1 -0
  53. package/build/esm/packages/aurora/src/components/resizable/components/resizable_pure.d.ts +3 -0
  54. package/build/esm/packages/aurora/src/components/resizable/components/resizable_pure.js +33 -0
  55. package/build/esm/packages/aurora/src/components/resizable/components/resizable_pure.js.map +1 -0
  56. package/build/esm/packages/aurora/src/components/resizable/hooks/use_resizable.d.ts +7 -0
  57. package/build/esm/packages/aurora/src/components/resizable/hooks/use_resizable.js +75 -0
  58. package/build/esm/packages/aurora/src/components/resizable/hooks/use_resizable.js.map +1 -0
  59. package/build/esm/packages/aurora/src/components/resizable/hooks/use_resizable_context.d.ts +2 -0
  60. package/build/esm/packages/aurora/src/components/resizable/hooks/use_resizable_context.js +13 -0
  61. package/build/esm/packages/aurora/src/components/resizable/hooks/use_resizable_context.js.map +1 -0
  62. package/build/esm/packages/aurora/src/components/resizable/resizable.d.ts +3 -0
  63. package/build/esm/packages/aurora/src/components/resizable/resizable.js +36 -0
  64. package/build/esm/packages/aurora/src/components/resizable/resizable.js.map +1 -0
  65. package/build/esm/packages/aurora/src/components/resizable/resizable_container_constants.d.ts +11 -0
  66. package/build/esm/packages/aurora/src/components/resizable/resizable_container_constants.js +14 -0
  67. package/build/esm/packages/aurora/src/components/resizable/resizable_container_constants.js.map +1 -0
  68. package/build/esm/packages/aurora/src/components/resizable/resizable_context.d.ts +3 -0
  69. package/build/esm/packages/aurora/src/components/resizable/resizable_context.js +10 -0
  70. package/build/esm/packages/aurora/src/components/resizable/resizable_context.js.map +1 -0
  71. package/build/esm/packages/aurora/src/components/resizable/resizable_utils.d.ts +5 -0
  72. package/build/esm/packages/aurora/src/components/resizable/resizable_utils.js +30 -0
  73. package/build/esm/packages/aurora/src/components/resizable/resizable_utils.js.map +1 -0
  74. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +115 -124
  75. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -1
  76. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.d.ts +5 -7
  77. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.js.map +1 -1
  78. package/build/esm/packages/aurora/src/index.d.ts +1 -0
  79. package/build/esm/packages/aurora/src/index.js +1 -0
  80. package/build/esm/packages/aurora/src/index.js.map +1 -1
  81. package/build/index.css +1 -1
  82. package/package.json +1 -1
@@ -0,0 +1,75 @@
1
+ import { useState, useRef, useCallback, useEffect } from 'react';
2
+ import { slicedToArray as _slicedToArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
3
+ import { RESIZING_DIRECTIONS } from '../resizable_container_constants.js';
4
+ import { getInitialWidth, removeEventListeners, saveWidthToStorage, addEventListeners } from '../resizable_utils.js';
5
+
6
+ var useResizable = function useResizable(name, variant, widthConfig) {
7
+ var storageKey = "sve_resizable_".concat(name, "_width");
8
+ var _useState = useState(false),
9
+ _useState2 = _slicedToArray(_useState, 2),
10
+ isResizing = _useState2[0],
11
+ setIsResizing = _useState2[1];
12
+ var isResizingRef = useRef(false);
13
+ var resizingDirection = useRef(RESIZING_DIRECTIONS.left);
14
+ var initialMouseX = useRef(0);
15
+ var initialWidth = useRef(0);
16
+ var _useState3 = useState(function () {
17
+ return getInitialWidth(storageKey, widthConfig);
18
+ }),
19
+ _useState4 = _slicedToArray(_useState3, 2),
20
+ width = _useState4[0],
21
+ setWidth = _useState4[1];
22
+ var widthRef = useRef(width);
23
+ var handleMouseMove = useCallback(function (e) {
24
+ if (!isResizingRef.current) return;
25
+ var direction = variant === 'horizontal' ? resizingDirection.current : variant;
26
+ var newWidth = calculateNewWidth(e.clientX, direction, widthConfig, initialMouseX.current, initialWidth.current);
27
+ widthRef.current = newWidth;
28
+ setWidth(newWidth);
29
+ }, []);
30
+ var handleMouseUp = useCallback(function () {
31
+ if (!isResizingRef.current) return;
32
+ isResizingRef.current = false;
33
+ setIsResizing(false);
34
+ removeEventListeners({
35
+ mousemove: handleMouseMove,
36
+ mouseup: handleMouseUp
37
+ });
38
+ saveWidthToStorage(storageKey, widthRef.current);
39
+ }, []);
40
+ var handleResizing = useCallback(function (e, direction) {
41
+ e.preventDefault();
42
+ isResizingRef.current = true;
43
+ setIsResizing(true);
44
+ resizingDirection.current = direction;
45
+ initialMouseX.current = e.clientX;
46
+ initialWidth.current = widthRef.current;
47
+ addEventListeners({
48
+ mousemove: handleMouseMove,
49
+ mouseup: handleMouseUp
50
+ });
51
+ }, []);
52
+ var calculateNewWidth = function calculateNewWidth(clientX, direction, widthConfig, initialMouseX, initialWidth) {
53
+ var min = widthConfig.min,
54
+ max = widthConfig.max;
55
+ var mouseDelta = clientX - initialMouseX;
56
+ var newWidth = direction === RESIZING_DIRECTIONS.left ? initialWidth - mouseDelta : initialWidth + mouseDelta;
57
+ return Math.min(Math.max(newWidth, min), max);
58
+ };
59
+ useEffect(function () {
60
+ return function () {
61
+ removeEventListeners({
62
+ mousemove: handleMouseMove,
63
+ mouseup: handleMouseUp
64
+ });
65
+ };
66
+ }, []);
67
+ return {
68
+ isResizing: isResizing,
69
+ currentWidth: width,
70
+ handleResizing: handleResizing
71
+ };
72
+ };
73
+
74
+ export default useResizable;
75
+ //# sourceMappingURL=use_resizable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,2 @@
1
+ import type { IResizableContextProps } from '../resizable_container_types';
2
+ export declare function useResizableContext(): IResizableContextProps;
@@ -0,0 +1,13 @@
1
+ import { useContext } from 'react';
2
+ import { ResizableContext } from '../resizable_context.js';
3
+
4
+ function useResizableContext() {
5
+ var context = useContext(ResizableContext);
6
+ if (!context) {
7
+ throw new Error("Resizable component cannot be rendered outside the ResizableProvider component");
8
+ }
9
+ return context;
10
+ }
11
+
12
+ export { useResizableContext };
13
+ //# sourceMappingURL=use_resizable_context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,3 @@
1
+ import React from 'react';
2
+ import type { IResizableProps } from './resizable_container_types';
3
+ export declare const Resizable: React.FC<IResizableProps>;
@@ -0,0 +1,36 @@
1
+ import React__default, { useMemo } from 'react';
2
+ import useResizable from './hooks/use_resizable.js';
3
+ import { ResizableContext } from './resizable_context.js';
4
+ import { ResizablePure } from './components/resizable_pure.js';
5
+
6
+ var Resizable = function Resizable(_ref) {
7
+ var name = _ref.name,
8
+ children = _ref.children,
9
+ _ref$variant = _ref.variant,
10
+ variant = _ref$variant === void 0 ? 'left' : _ref$variant,
11
+ widthConfig = _ref.widthConfig,
12
+ onResize = _ref.onResize,
13
+ className = _ref.className;
14
+ var _useResizable = useResizable(name, variant, widthConfig),
15
+ isResizing = _useResizable.isResizing,
16
+ currentWidth = _useResizable.currentWidth,
17
+ handleResizing = _useResizable.handleResizing;
18
+ var contextVal = useMemo(function () {
19
+ return {
20
+ isResizing: isResizing,
21
+ currentWidth: currentWidth,
22
+ handleResizing: handleResizing
23
+ };
24
+ }, [isResizing, currentWidth, handleResizing]);
25
+ return /*#__PURE__*/React__default.createElement(ResizableContext.Provider, {
26
+ value: contextVal
27
+ }, /*#__PURE__*/React__default.createElement(ResizablePure, {
28
+ className: className || '',
29
+ variant: variant,
30
+ widthConfig: widthConfig,
31
+ onResize: onResize
32
+ }, children));
33
+ };
34
+
35
+ export { Resizable };
36
+ //# sourceMappingURL=resizable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,11 @@
1
+ export declare const RESIZE_HANDLE_VARIANTS: {
2
+ readonly left: "left";
3
+ readonly right: "right";
4
+ readonly horizontal: "horizontal";
5
+ };
6
+ export declare const RESIZING_DIRECTIONS: {
7
+ readonly left: "left";
8
+ readonly right: "right";
9
+ };
10
+ export declare const HANDLE_HOVER_SPACE = 8;
11
+ export declare const RESIZABLE_CONTAINER_RESIZER_CLASS = "js__resizable-container-resizer";
@@ -0,0 +1,14 @@
1
+ var RESIZE_HANDLE_VARIANTS = {
2
+ left: 'left',
3
+ right: 'right',
4
+ horizontal: 'horizontal'
5
+ };
6
+ var RESIZING_DIRECTIONS = {
7
+ left: 'left',
8
+ right: 'right'
9
+ };
10
+ var HANDLE_HOVER_SPACE = 8;
11
+ var RESIZABLE_CONTAINER_RESIZER_CLASS = 'js__resizable-container-resizer';
12
+
13
+ export { HANDLE_HOVER_SPACE, RESIZABLE_CONTAINER_RESIZER_CLASS, RESIZE_HANDLE_VARIANTS, RESIZING_DIRECTIONS };
14
+ //# sourceMappingURL=resizable_container_constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ import type { IResizableContextProps } from './resizable_container_types';
3
+ export declare const ResizableContext: import("react").Context<IResizableContextProps>;
@@ -0,0 +1,10 @@
1
+ import { createContext } from 'react';
2
+
3
+ var ResizableContext = /*#__PURE__*/createContext({
4
+ isResizing: false,
5
+ currentWidth: 0,
6
+ handleResizing: function handleResizing() {}
7
+ });
8
+
9
+ export { ResizableContext };
10
+ //# sourceMappingURL=resizable_context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -0,0 +1,5 @@
1
+ import type { TContainerWidthConfig } from './resizable_container_types';
2
+ export declare const getInitialWidth: (name: string, widthConfig: TContainerWidthConfig) => number;
3
+ export declare const saveWidthToStorage: (name: string, width: number) => void;
4
+ export declare const addEventListeners: (events: Record<string, EventListener>) => void;
5
+ export declare const removeEventListeners: (events: Record<string, EventListener>) => void;
@@ -0,0 +1,30 @@
1
+ import { slicedToArray as _slicedToArray } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
2
+
3
+ var getInitialWidth = function getInitialWidth(name, widthConfig) {
4
+ if (typeof window === 'undefined' || typeof localStorage === 'undefined') return widthConfig.default;
5
+ var saved = localStorage.getItem(name);
6
+ return saved ? Number(saved) : widthConfig.default;
7
+ };
8
+ var saveWidthToStorage = function saveWidthToStorage(name, width) {
9
+ if (typeof window === 'undefined' || typeof localStorage === 'undefined') return;
10
+ localStorage.setItem(name, width.toString());
11
+ };
12
+ var addEventListeners = function addEventListeners(events) {
13
+ Object.entries(events).forEach(function (_ref) {
14
+ var _ref2 = _slicedToArray(_ref, 2),
15
+ eventType = _ref2[0],
16
+ handler = _ref2[1];
17
+ document.addEventListener(eventType, handler);
18
+ });
19
+ };
20
+ var removeEventListeners = function removeEventListeners(events) {
21
+ Object.entries(events).forEach(function (_ref3) {
22
+ var _ref4 = _slicedToArray(_ref3, 2),
23
+ eventType = _ref4[0],
24
+ handler = _ref4[1];
25
+ document.removeEventListener(eventType, handler);
26
+ });
27
+ };
28
+
29
+ export { addEventListeners, getInitialWidth, removeEventListeners, saveWidthToStorage };
30
+ //# sourceMappingURL=resizable_utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,4 +1,4 @@
1
- import React__default, { forwardRef, useRef, useState, useEffect } from 'react';
1
+ import React__default, { forwardRef, useState, useCallback, useRef, useEffect } from 'react';
2
2
  import { useTranslation } from '../../../../../external/react-i18next/dist/es/useTranslation.js';
3
3
  import { slicedToArray as _slicedToArray, objectSpread2 as _objectSpread2, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
4
4
  import { Loader } from '../loader/loader.js';
@@ -15,12 +15,10 @@ var XhrImagePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
15
15
  var id = _ref.id,
16
16
  url = _ref.url,
17
17
  name = _ref.name,
18
- onUploaded = _ref.onUploaded,
19
18
  initialFile = _ref.initialFile,
20
19
  errors = _ref.errors,
21
20
  onError = _ref.onError,
22
21
  onChange = _ref.onChange,
23
- onImageSizeUpdated = _ref.onImageSizeUpdated,
24
22
  _ref$allowedExtension = _ref.allowedExtensions,
25
23
  allowedExtensions = _ref$allowedExtension === void 0 ? [IMAGE_PICKER_EXTENSIONS.WEBP, IMAGE_PICKER_EXTENSIONS.JPG, IMAGE_PICKER_EXTENSIONS.PNG, IMAGE_PICKER_EXTENSIONS.GIF, IMAGE_PICKER_EXTENSIONS.SVG, IMAGE_PICKER_EXTENSIONS.JPEG] : _ref$allowedExtension,
26
24
  allowedExtensionsLabel = _ref.allowedExtensionsLabel,
@@ -30,165 +28,159 @@ var XhrImagePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
30
28
  t = _useTranslation2[0];
31
29
  var httpApi = useHttpApi();
32
30
  var pendingRequestRef = React__default.useRef();
33
- var initialImageFile = useRef();
34
31
  var _useModalsContext = useModalsContext(),
35
32
  showModal = _useModalsContext.showModal,
36
33
  hideModal = _useModalsContext.hideModal;
37
34
  var modalId = "image-picker-editor-".concat(id);
38
- var _useState = useState(),
35
+ var _useState = useState(initialFile ? _objectSpread2(_objectSpread2({}, initialFile), {}, {
36
+ fileExtension: FileUtils.getFileExtension(initialFile.fileName),
37
+ fileDataUrl: null,
38
+ size: null
39
+ }) : null),
39
40
  _useState2 = _slicedToArray(_useState, 2),
40
- initialImage = _useState2[0],
41
- setInitialImage = _useState2[1];
42
- var _useState3 = useState(),
41
+ image = _useState2[0],
42
+ setImage = _useState2[1];
43
+ var _useState3 = useState(false),
43
44
  _useState4 = _slicedToArray(_useState3, 2),
44
- image = _useState4[0],
45
- setImage = _useState4[1];
46
- var _useState5 = useState(''),
47
- _useState6 = _slicedToArray(_useState5, 2),
48
- imageEditorSrc = _useState6[0],
49
- setImageEditorSrc = _useState6[1];
50
- var _useState7 = useState(),
51
- _useState8 = _slicedToArray(_useState7, 2),
52
- imageEditorResult = _useState8[0],
53
- setImageEditorResult = _useState8[1];
54
- var _useState9 = useState(false),
55
- _useState10 = _slicedToArray(_useState9, 2),
56
- isLoading = _useState10[0],
57
- setIsLoading = _useState10[1];
58
- var _useState11 = useState(),
59
- _useState12 = _slicedToArray(_useState11, 2),
60
- imageExtenstion = _useState12[0],
61
- setImageExtenstion = _useState12[1];
62
- var fileAsDataUrlRef = useRef(undefined);
63
- var handleControlChange = /*#__PURE__*/function () {
64
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(file) {
65
- var fileList, fileAsDataUrl, _httpApi$fetch, response, cancelRequest, responseObject, _responseObject$data$, paths;
45
+ isLoading = _useState4[0],
46
+ setIsLoading = _useState4[1];
47
+ var createImageFromUrl = useCallback(/*#__PURE__*/function () {
48
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(url) {
49
+ var img;
66
50
  return _regeneratorRuntime().wrap(function _callee$(_context) {
67
51
  while (1) switch (_context.prev = _context.next) {
68
52
  case 0:
69
- fileList = file.fileList, fileAsDataUrl = file.fileAsDataUrl;
70
- fileList && setImage(fileList[0]);
71
- onChange === null || onChange === void 0 ? void 0 : onChange({
72
- fileList: fileList,
73
- fileAsDataUrl: fileAsDataUrl
74
- });
75
- fileAsDataUrlRef.current = fileAsDataUrl;
76
- if (!(!fileList || !fileList.length || fileAsDataUrl)) {
77
- _context.next = 6;
78
- break;
79
- }
80
- return _context.abrupt("return");
81
- case 6:
53
+ img = new Image();
54
+ img.src = url;
55
+ _context.next = 4;
56
+ return img.decode();
57
+ case 4:
58
+ return _context.abrupt("return", img);
59
+ case 5:
60
+ case "end":
61
+ return _context.stop();
62
+ }
63
+ }, _callee);
64
+ }));
65
+ return function (_x) {
66
+ return _ref2.apply(this, arguments);
67
+ };
68
+ }(), []);
69
+ var initialFileUrl = initialFile === null || initialFile === void 0 ? void 0 : initialFile.fileUrl;
70
+ var imageUrlRef = useRef('');
71
+ var imageSize = image === null || image === void 0 ? void 0 : image.size;
72
+ useEffect(function () {
73
+ var setImageSizeBasedOnUrl = function setImageSizeBasedOnUrl(fileUrl) {
74
+ createImageFromUrl(fileUrl).then(function (image) {
75
+ var size = {
76
+ width: image.naturalWidth,
77
+ height: image.naturalHeight
78
+ };
79
+ setImage(function (img) {
80
+ return img ? _objectSpread2(_objectSpread2({}, img), {}, {
81
+ size: size
82
+ }) : null;
83
+ });
84
+ });
85
+ };
86
+ if (!!initialFileUrl && imageUrlRef.current !== initialFileUrl) {
87
+ imageUrlRef.current = initialFileUrl;
88
+ if (!imageSize) setImageSizeBasedOnUrl(initialFileUrl);
89
+ }
90
+ }, [createImageFromUrl, imageSize, initialFileUrl]);
91
+ var handleControlChange = useCallback(/*#__PURE__*/function () {
92
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(file) {
93
+ var _responseObject$data$2;
94
+ var _httpApi$fetch, response, cancelRequest, responseObject, _responseObject$data$, img, size, newImage, paths;
95
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
96
+ while (1) switch (_context2.prev = _context2.next) {
97
+ case 0:
82
98
  if (pendingRequestRef.current) {
83
99
  pendingRequestRef.current();
84
100
  pendingRequestRef.current = undefined;
85
101
  }
102
+ if (file) {
103
+ _context2.next = 5;
104
+ break;
105
+ }
106
+ setImage(null);
107
+ onChange === null || onChange === void 0 ? void 0 : onChange(null);
108
+ return _context2.abrupt("return");
109
+ case 5:
86
110
  setIsLoading(true);
87
111
  _httpApi$fetch = httpApi.fetch({
88
112
  url: url,
89
113
  method: REQUEST_TYPES.post,
90
- data: fileList[0]
114
+ data: file
91
115
  }), response = _httpApi$fetch.response, cancelRequest = _httpApi$fetch.cancelRequest;
92
116
  pendingRequestRef.current = cancelRequest;
93
- _context.prev = 10;
94
- _context.next = 13;
117
+ _context2.prev = 8;
118
+ _context2.next = 11;
95
119
  return response;
96
- case 13:
97
- responseObject = _context.sent;
98
- _context.next = 19;
120
+ case 11:
121
+ responseObject = _context2.sent;
122
+ _context2.next = 18;
99
123
  break;
100
- case 16:
101
- _context.prev = 16;
102
- _context.t0 = _context["catch"](10);
124
+ case 14:
125
+ _context2.prev = 14;
126
+ _context2.t0 = _context2["catch"](8);
103
127
  onError === null || onError === void 0 ? void 0 : onError([t('File upload failed')]);
104
- case 19:
105
- _context.prev = 19;
106
128
  setIsLoading(false);
107
- return _context.finish(19);
108
- case 22:
129
+ case 18:
109
130
  if (responseObject) {
110
- _context.next = 24;
131
+ _context2.next = 20;
111
132
  break;
112
133
  }
113
- return _context.abrupt("return");
114
- case 24:
134
+ return _context2.abrupt("return");
135
+ case 20:
115
136
  if (!(responseObject.data.isSuccess === false)) {
116
- _context.next = 27;
137
+ _context2.next = 23;
117
138
  break;
118
139
  }
119
140
  onError === null || onError === void 0 ? void 0 : onError((_responseObject$data$ = responseObject.data.messages) !== null && _responseObject$data$ !== void 0 ? _responseObject$data$ : [t('File upload failed')]);
120
- return _context.abrupt("return");
121
- case 27:
141
+ return _context2.abrupt("return");
142
+ case 23:
143
+ _context2.next = 25;
144
+ return createImageFromUrl(URL.createObjectURL(file));
145
+ case 25:
146
+ img = _context2.sent;
147
+ size = {
148
+ width: img.naturalWidth,
149
+ height: img.naturalHeight
150
+ };
151
+ newImage = {
152
+ fileName: file.name,
153
+ fileUrl: (_responseObject$data$2 = responseObject.data.imagePath) !== null && _responseObject$data$2 !== void 0 ? _responseObject$data$2 : URL.createObjectURL(file),
154
+ fileExtension: FileUtils.getFileExtension(file.name),
155
+ fileDataUrl: URL.createObjectURL(file),
156
+ size: size
157
+ };
122
158
  if (responseObject.data.imagePath) {
123
159
  paths = {
124
160
  original: responseObject.data.imagePath
125
161
  };
126
162
  }
127
- onUploaded === null || onUploaded === void 0 ? void 0 : onUploaded({
128
- fileList: fileList,
129
- dataUrl: fileAsDataUrlRef.current,
163
+ setImage(newImage);
164
+ setIsLoading(false);
165
+ onChange === null || onChange === void 0 ? void 0 : onChange(_objectSpread2(_objectSpread2({}, newImage), {}, {
130
166
  imageId: responseObject.data.imageId,
131
167
  paths: paths
132
- });
133
- case 29:
168
+ }));
169
+ case 32:
134
170
  case "end":
135
- return _context.stop();
171
+ return _context2.stop();
136
172
  }
137
- }, _callee, null, [[10, 16, 19, 22]]);
173
+ }, _callee2, null, [[8, 14]]);
138
174
  }));
139
- return function handleControlChange(_x) {
140
- return _ref2.apply(this, arguments);
175
+ return function (_x2) {
176
+ return _ref3.apply(this, arguments);
141
177
  };
142
- }();
143
- useEffect(function () {
144
- if (initialFile) {
145
- setImageExtenstion(FileUtils.getFileExtension(initialFile === null || initialFile === void 0 ? void 0 : initialFile.fileName));
146
- initialImageFile.current = initialFile;
147
- var setFileFromUrl = /*#__PURE__*/function () {
148
- var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2(fileData) {
149
- var response, data, file;
150
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
151
- while (1) switch (_context2.prev = _context2.next) {
152
- case 0:
153
- _context2.next = 2;
154
- return fetch(fileData.fileUrl);
155
- case 2:
156
- response = _context2.sent;
157
- _context2.next = 5;
158
- return response.blob();
159
- case 5:
160
- data = _context2.sent;
161
- file = new File([data], fileData.fileName);
162
- setInitialImage(file);
163
- case 8:
164
- case "end":
165
- return _context2.stop();
166
- }
167
- }, _callee2);
168
- }));
169
- return function setFileFromUrl(_x2) {
170
- return _ref3.apply(this, arguments);
171
- };
172
- }();
173
- if (!initialImageFile.current) return;
174
- setFileFromUrl(initialImageFile.current);
175
- }
176
- }, []);
177
- useEffect(function () {
178
- image && setImageExtenstion(FileUtils.getFileExtension(image === null || image === void 0 ? void 0 : image.name));
179
- }, [image]);
180
- useEffect(function () {
181
- var src = image !== null && image !== void 0 ? image : initialImage;
182
- setImageEditorSrc(src !== null && src !== void 0 ? src : '');
183
- }, [image, initialImage, isLoading]);
178
+ }(), [createImageFromUrl, httpApi, onChange, onError, t, url]);
184
179
  useEffect(function () {
185
180
  return function () {
186
181
  if (pendingRequestRef.current) pendingRequestRef.current();
187
182
  };
188
183
  }, []);
189
- var renderImageEditor = function renderImageEditor(defaultProps) {
190
- return ImageEditor ? (/*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ImageEditor, _objectSpread2({}, defaultProps)))) : null;
191
- };
192
184
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", {
193
185
  className: "aurora-relative"
194
186
  }, isLoading && (/*#__PURE__*/React__default.createElement("div", {
@@ -205,9 +197,8 @@ var XhrImagePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
205
197
  errors: errors,
206
198
  allowedExtensions: allowedExtensions,
207
199
  allowedExtensionsLabel: allowedExtensionsLabel,
208
- initialFile: initialImageFile.current,
209
- onImageSizeUpdated: onImageSizeUpdated,
210
- topButtons: !!ImageEditor && imageExtenstion !== 'svg' && (/*#__PURE__*/React__default.createElement("button", {
200
+ file: image,
201
+ topButtons: !!ImageEditor && image && image.fileExtension !== 'svg' && (/*#__PURE__*/React__default.createElement("button", {
211
202
  onClick: function onClick(e) {
212
203
  e.preventDefault();
213
204
  e.stopPropagation();
@@ -220,19 +211,19 @@ var XhrImagePicker = /*#__PURE__*/forwardRef(function (_ref, ref) {
220
211
  }), /*#__PURE__*/React__default.createElement("span", {
221
212
  className: "aurora-text-xs aurora-text aurora-font-semibold"
222
213
  }, "".concat(t('Edit'))))),
223
- editedImageResult: imageEditorResult,
224
214
  ref: ref
225
215
  })), !!ImageEditor && (/*#__PURE__*/React__default.createElement(Modal, {
226
216
  name: modalId,
227
217
  header: /*#__PURE__*/React__default.createElement(React__default.Fragment, null, t('Edit image')),
228
218
  width: "l"
229
- }, renderImageEditor({
230
- src: imageEditorSrc,
219
+ }, /*#__PURE__*/React__default.createElement("div", null, /*#__PURE__*/React__default.createElement(ImageEditor, {
220
+ src: image === null || image === void 0 ? void 0 : image.fileUrl,
231
221
  onEditionDone: function onEditionDone(result) {
232
222
  hideModal(modalId);
233
- setImageEditorResult(result);
223
+ if (!result) return;
224
+ handleControlChange(result);
234
225
  }
235
- }))));
226
+ })))));
236
227
  });
237
228
  XhrImagePicker.displayName = 'XhrImagePicker';
238
229
 
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,iEAAqE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,iEAAqE;AACpG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,18 +1,16 @@
1
1
  /// <reference types="react" />
2
- import { IImagePicker } from "../image_picker/image_picker_types";
3
- export interface IXhrImagePickerProps extends Omit<IImagePicker, 'topButtons'> {
2
+ import { IImagePicker, ImagePickerFileObject, TImagePickerFile } from "../image_picker/image_picker_types";
3
+ export interface IXhrImagePickerProps extends Omit<IImagePicker, 'topButtons' | 'onChange' | 'file'> {
4
4
  url: string;
5
- onUploaded?: (data: TUploadedImageData) => void;
6
- onUploadError?: Function;
5
+ initialFile?: TImagePickerFile;
6
+ onChange?: (val: TUploadedImageData | null) => void;
7
7
  ImageEditor?: React.FunctionComponent<IImageEditorProps>;
8
8
  }
9
9
  export interface IImageEditorProps {
10
10
  src?: File | string;
11
11
  onEditionDone?: (result: File | undefined) => void;
12
12
  }
13
- export declare type TUploadedImageData = {
14
- fileList: FileList;
15
- dataUrl: string | ArrayBuffer | null | undefined;
13
+ export declare type TUploadedImageData = ImagePickerFileObject & {
16
14
  imageId: string;
17
15
  paths?: Record<any, any>;
18
16
  };
@@ -1 +1 @@
1
- {"version":3,"file":"xhr_image_picker_types.js","sourceRoot":"","sources":["../../../../../../../src/components/xhr_image_picker/xhr_image_picker_types.ts"],"names":[],"mappings":"AAAA,OAA6B,mDAAmD,CAAC"}
1
+ {"version":3,"file":"xhr_image_picker_types.js","sourceRoot":"","sources":["../../../../../../../src/components/xhr_image_picker/xhr_image_picker_types.ts"],"names":[],"mappings":"AAAA,OAAsE,mDAAmD,CAAC"}
@@ -134,4 +134,5 @@ export { TToastType } from "./components/toast/components/toast_components_types
134
134
  export { AnchorPresets } from "./components/anchor_presets/anchor_presets";
135
135
  export { AnchorPresetsControl } from "./components/controls/anchor_presets_control/anchor_presets_control";
136
136
  export { ANCHOR_PRESETS_VALUES } from "./components/anchor_presets/anchor_presets_constants";
137
+ export { Resizable } from "./components/resizable/resizable";
137
138
  export { fuzzySearch } from "./utilities/fuzzy_search";
@@ -127,4 +127,5 @@ export { ToastViewport } from './components/toast/components/toast_viewport.js';
127
127
  export { ANCHOR_PRESETS_VALUES } from './components/anchor_presets/anchor_presets_constants.js';
128
128
  export { AnchorPresets } from './components/anchor_presets/anchor_presets.js';
129
129
  export { AnchorPresetsControl } from './components/controls/anchor_presets_control/anchor_presets_control.js';
130
+ export { Resizable } from './components/resizable/resizable.js';
130
131
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}