@dreamcommerce/aurora 3.1.31 → 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 (30) hide show
  1. package/build/cjs/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +5 -14
  2. package/build/cjs/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -1
  3. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview.js +0 -2
  4. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview.js.map +1 -1
  5. package/build/cjs/packages/aurora/src/components/image_picker/image_picker.js +15 -81
  6. package/build/cjs/packages/aurora/src/components/image_picker/image_picker.js.map +1 -1
  7. package/build/cjs/packages/aurora/src/components/image_picker/use_image_picker.js +36 -102
  8. package/build/cjs/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -1
  9. package/build/cjs/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +114 -123
  10. package/build/cjs/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -1
  11. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +6 -15
  12. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -1
  13. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.d.ts +3 -5
  14. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.js +0 -1
  15. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.js.map +1 -1
  16. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.d.ts +1 -2
  17. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js +0 -2
  18. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js.map +1 -1
  19. package/build/esm/packages/aurora/src/components/image_picker/image_picker.js +17 -83
  20. package/build/esm/packages/aurora/src/components/image_picker/image_picker.js.map +1 -1
  21. package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.d.ts +16 -24
  22. package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.js.map +1 -1
  23. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.d.ts +1 -1
  24. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js +37 -103
  25. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -1
  26. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +115 -124
  27. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -1
  28. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.d.ts +5 -7
  29. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.js.map +1 -1
  30. package/package.json +1 -1
@@ -23,12 +23,10 @@ var XhrImagePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
23
23
  var id = _ref.id,
24
24
  url = _ref.url,
25
25
  name = _ref.name,
26
- onUploaded = _ref.onUploaded,
27
26
  initialFile = _ref.initialFile,
28
27
  errors = _ref.errors,
29
28
  onError = _ref.onError,
30
29
  onChange = _ref.onChange,
31
- onImageSizeUpdated = _ref.onImageSizeUpdated,
32
30
  _ref$allowedExtension = _ref.allowedExtensions,
33
31
  allowedExtensions = _ref$allowedExtension === void 0 ? [image_picker_constants.IMAGE_PICKER_EXTENSIONS.WEBP, image_picker_constants.IMAGE_PICKER_EXTENSIONS.JPG, image_picker_constants.IMAGE_PICKER_EXTENSIONS.PNG, image_picker_constants.IMAGE_PICKER_EXTENSIONS.GIF, image_picker_constants.IMAGE_PICKER_EXTENSIONS.SVG, image_picker_constants.IMAGE_PICKER_EXTENSIONS.JPEG] : _ref$allowedExtension,
34
32
  allowedExtensionsLabel = _ref.allowedExtensionsLabel,
@@ -38,165 +36,159 @@ var XhrImagePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
38
36
  t = _useTranslation2[0];
39
37
  var httpApi = use_http_api.useHttpApi();
40
38
  var pendingRequestRef = React__default['default'].useRef();
41
- var initialImageFile = React.useRef();
42
39
  var _useModalsContext = use_modals_context.useModalsContext(),
43
40
  showModal = _useModalsContext.showModal,
44
41
  hideModal = _useModalsContext.hideModal;
45
42
  var modalId = "image-picker-editor-".concat(id);
46
- var _useState = React.useState(),
43
+ var _useState = React.useState(initialFile ? _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, initialFile), {}, {
44
+ fileExtension: utilities.FileUtils.getFileExtension(initialFile.fileName),
45
+ fileDataUrl: null,
46
+ size: null
47
+ }) : null),
47
48
  _useState2 = _rollupPluginBabelHelpers.slicedToArray(_useState, 2),
48
- initialImage = _useState2[0],
49
- setInitialImage = _useState2[1];
50
- var _useState3 = React.useState(),
49
+ image = _useState2[0],
50
+ setImage = _useState2[1];
51
+ var _useState3 = React.useState(false),
51
52
  _useState4 = _rollupPluginBabelHelpers.slicedToArray(_useState3, 2),
52
- image = _useState4[0],
53
- setImage = _useState4[1];
54
- var _useState5 = React.useState(''),
55
- _useState6 = _rollupPluginBabelHelpers.slicedToArray(_useState5, 2),
56
- imageEditorSrc = _useState6[0],
57
- setImageEditorSrc = _useState6[1];
58
- var _useState7 = React.useState(),
59
- _useState8 = _rollupPluginBabelHelpers.slicedToArray(_useState7, 2),
60
- imageEditorResult = _useState8[0],
61
- setImageEditorResult = _useState8[1];
62
- var _useState9 = React.useState(false),
63
- _useState10 = _rollupPluginBabelHelpers.slicedToArray(_useState9, 2),
64
- isLoading = _useState10[0],
65
- setIsLoading = _useState10[1];
66
- var _useState11 = React.useState(),
67
- _useState12 = _rollupPluginBabelHelpers.slicedToArray(_useState11, 2),
68
- imageExtenstion = _useState12[0],
69
- setImageExtenstion = _useState12[1];
70
- var fileAsDataUrlRef = React.useRef(undefined);
71
- var handleControlChange = /*#__PURE__*/function () {
72
- var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee(file) {
73
- var fileList, fileAsDataUrl, _httpApi$fetch, response, cancelRequest, responseObject, _responseObject$data$, paths;
53
+ isLoading = _useState4[0],
54
+ setIsLoading = _useState4[1];
55
+ var createImageFromUrl = React.useCallback(/*#__PURE__*/function () {
56
+ var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee(url) {
57
+ var img;
74
58
  return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
75
59
  while (1) switch (_context.prev = _context.next) {
76
60
  case 0:
77
- fileList = file.fileList, fileAsDataUrl = file.fileAsDataUrl;
78
- fileList && setImage(fileList[0]);
79
- onChange === null || onChange === void 0 ? void 0 : onChange({
80
- fileList: fileList,
81
- fileAsDataUrl: fileAsDataUrl
82
- });
83
- fileAsDataUrlRef.current = fileAsDataUrl;
84
- if (!(!fileList || !fileList.length || fileAsDataUrl)) {
85
- _context.next = 6;
86
- break;
87
- }
88
- return _context.abrupt("return");
89
- case 6:
61
+ img = new Image();
62
+ img.src = url;
63
+ _context.next = 4;
64
+ return img.decode();
65
+ case 4:
66
+ return _context.abrupt("return", img);
67
+ case 5:
68
+ case "end":
69
+ return _context.stop();
70
+ }
71
+ }, _callee);
72
+ }));
73
+ return function (_x) {
74
+ return _ref2.apply(this, arguments);
75
+ };
76
+ }(), []);
77
+ var initialFileUrl = initialFile === null || initialFile === void 0 ? void 0 : initialFile.fileUrl;
78
+ var imageUrlRef = React.useRef('');
79
+ var imageSize = image === null || image === void 0 ? void 0 : image.size;
80
+ React.useEffect(function () {
81
+ var setImageSizeBasedOnUrl = function setImageSizeBasedOnUrl(fileUrl) {
82
+ createImageFromUrl(fileUrl).then(function (image) {
83
+ var size = {
84
+ width: image.naturalWidth,
85
+ height: image.naturalHeight
86
+ };
87
+ setImage(function (img) {
88
+ return img ? _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, img), {}, {
89
+ size: size
90
+ }) : null;
91
+ });
92
+ });
93
+ };
94
+ if (!!initialFileUrl && imageUrlRef.current !== initialFileUrl) {
95
+ imageUrlRef.current = initialFileUrl;
96
+ if (!imageSize) setImageSizeBasedOnUrl(initialFileUrl);
97
+ }
98
+ }, [createImageFromUrl, imageSize, initialFileUrl]);
99
+ var handleControlChange = React.useCallback(/*#__PURE__*/function () {
100
+ var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee2(file) {
101
+ var _responseObject$data$2;
102
+ var _httpApi$fetch, response, cancelRequest, responseObject, _responseObject$data$, img, size, newImage, paths;
103
+ return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee2$(_context2) {
104
+ while (1) switch (_context2.prev = _context2.next) {
105
+ case 0:
90
106
  if (pendingRequestRef.current) {
91
107
  pendingRequestRef.current();
92
108
  pendingRequestRef.current = undefined;
93
109
  }
110
+ if (file) {
111
+ _context2.next = 5;
112
+ break;
113
+ }
114
+ setImage(null);
115
+ onChange === null || onChange === void 0 ? void 0 : onChange(null);
116
+ return _context2.abrupt("return");
117
+ case 5:
94
118
  setIsLoading(true);
95
119
  _httpApi$fetch = httpApi.fetch({
96
120
  url: url,
97
121
  method: http_requester_contants.REQUEST_TYPES.post,
98
- data: fileList[0]
122
+ data: file
99
123
  }), response = _httpApi$fetch.response, cancelRequest = _httpApi$fetch.cancelRequest;
100
124
  pendingRequestRef.current = cancelRequest;
101
- _context.prev = 10;
102
- _context.next = 13;
125
+ _context2.prev = 8;
126
+ _context2.next = 11;
103
127
  return response;
104
- case 13:
105
- responseObject = _context.sent;
106
- _context.next = 19;
128
+ case 11:
129
+ responseObject = _context2.sent;
130
+ _context2.next = 18;
107
131
  break;
108
- case 16:
109
- _context.prev = 16;
110
- _context.t0 = _context["catch"](10);
132
+ case 14:
133
+ _context2.prev = 14;
134
+ _context2.t0 = _context2["catch"](8);
111
135
  onError === null || onError === void 0 ? void 0 : onError([t('File upload failed')]);
112
- case 19:
113
- _context.prev = 19;
114
136
  setIsLoading(false);
115
- return _context.finish(19);
116
- case 22:
137
+ case 18:
117
138
  if (responseObject) {
118
- _context.next = 24;
139
+ _context2.next = 20;
119
140
  break;
120
141
  }
121
- return _context.abrupt("return");
122
- case 24:
142
+ return _context2.abrupt("return");
143
+ case 20:
123
144
  if (!(responseObject.data.isSuccess === false)) {
124
- _context.next = 27;
145
+ _context2.next = 23;
125
146
  break;
126
147
  }
127
148
  onError === null || onError === void 0 ? void 0 : onError((_responseObject$data$ = responseObject.data.messages) !== null && _responseObject$data$ !== void 0 ? _responseObject$data$ : [t('File upload failed')]);
128
- return _context.abrupt("return");
129
- case 27:
149
+ return _context2.abrupt("return");
150
+ case 23:
151
+ _context2.next = 25;
152
+ return createImageFromUrl(URL.createObjectURL(file));
153
+ case 25:
154
+ img = _context2.sent;
155
+ size = {
156
+ width: img.naturalWidth,
157
+ height: img.naturalHeight
158
+ };
159
+ newImage = {
160
+ fileName: file.name,
161
+ fileUrl: (_responseObject$data$2 = responseObject.data.imagePath) !== null && _responseObject$data$2 !== void 0 ? _responseObject$data$2 : URL.createObjectURL(file),
162
+ fileExtension: utilities.FileUtils.getFileExtension(file.name),
163
+ fileDataUrl: URL.createObjectURL(file),
164
+ size: size
165
+ };
130
166
  if (responseObject.data.imagePath) {
131
167
  paths = {
132
168
  original: responseObject.data.imagePath
133
169
  };
134
170
  }
135
- onUploaded === null || onUploaded === void 0 ? void 0 : onUploaded({
136
- fileList: fileList,
137
- dataUrl: fileAsDataUrlRef.current,
171
+ setImage(newImage);
172
+ setIsLoading(false);
173
+ onChange === null || onChange === void 0 ? void 0 : onChange(_rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, newImage), {}, {
138
174
  imageId: responseObject.data.imageId,
139
175
  paths: paths
140
- });
141
- case 29:
176
+ }));
177
+ case 32:
142
178
  case "end":
143
- return _context.stop();
179
+ return _context2.stop();
144
180
  }
145
- }, _callee, null, [[10, 16, 19, 22]]);
181
+ }, _callee2, null, [[8, 14]]);
146
182
  }));
147
- return function handleControlChange(_x) {
148
- return _ref2.apply(this, arguments);
183
+ return function (_x2) {
184
+ return _ref3.apply(this, arguments);
149
185
  };
150
- }();
151
- React.useEffect(function () {
152
- if (initialFile) {
153
- setImageExtenstion(utilities.FileUtils.getFileExtension(initialFile === null || initialFile === void 0 ? void 0 : initialFile.fileName));
154
- initialImageFile.current = initialFile;
155
- var setFileFromUrl = /*#__PURE__*/function () {
156
- var _ref3 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee2(fileData) {
157
- var response, data, file;
158
- return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee2$(_context2) {
159
- while (1) switch (_context2.prev = _context2.next) {
160
- case 0:
161
- _context2.next = 2;
162
- return fetch(fileData.fileUrl);
163
- case 2:
164
- response = _context2.sent;
165
- _context2.next = 5;
166
- return response.blob();
167
- case 5:
168
- data = _context2.sent;
169
- file = new File([data], fileData.fileName);
170
- setInitialImage(file);
171
- case 8:
172
- case "end":
173
- return _context2.stop();
174
- }
175
- }, _callee2);
176
- }));
177
- return function setFileFromUrl(_x2) {
178
- return _ref3.apply(this, arguments);
179
- };
180
- }();
181
- if (!initialImageFile.current) return;
182
- setFileFromUrl(initialImageFile.current);
183
- }
184
- }, []);
185
- React.useEffect(function () {
186
- image && setImageExtenstion(utilities.FileUtils.getFileExtension(image === null || image === void 0 ? void 0 : image.name));
187
- }, [image]);
188
- React.useEffect(function () {
189
- var src = image !== null && image !== void 0 ? image : initialImage;
190
- setImageEditorSrc(src !== null && src !== void 0 ? src : '');
191
- }, [image, initialImage, isLoading]);
186
+ }(), [createImageFromUrl, httpApi, onChange, onError, t, url]);
192
187
  React.useEffect(function () {
193
188
  return function () {
194
189
  if (pendingRequestRef.current) pendingRequestRef.current();
195
190
  };
196
191
  }, []);
197
- var renderImageEditor = function renderImageEditor(defaultProps) {
198
- return ImageEditor ? (/*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(ImageEditor, _rollupPluginBabelHelpers.objectSpread2({}, defaultProps)))) : null;
199
- };
200
192
  return /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, /*#__PURE__*/React__default['default'].createElement("div", {
201
193
  className: "aurora-relative"
202
194
  }, isLoading && (/*#__PURE__*/React__default['default'].createElement("div", {
@@ -213,9 +205,8 @@ var XhrImagePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
213
205
  errors: errors,
214
206
  allowedExtensions: allowedExtensions,
215
207
  allowedExtensionsLabel: allowedExtensionsLabel,
216
- initialFile: initialImageFile.current,
217
- onImageSizeUpdated: onImageSizeUpdated,
218
- topButtons: !!ImageEditor && imageExtenstion !== 'svg' && (/*#__PURE__*/React__default['default'].createElement("button", {
208
+ file: image,
209
+ topButtons: !!ImageEditor && image && image.fileExtension !== 'svg' && (/*#__PURE__*/React__default['default'].createElement("button", {
219
210
  onClick: function onClick(e) {
220
211
  e.preventDefault();
221
212
  e.stopPropagation();
@@ -228,19 +219,19 @@ var XhrImagePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
228
219
  }), /*#__PURE__*/React__default['default'].createElement("span", {
229
220
  className: "aurora-text-xs aurora-text aurora-font-semibold"
230
221
  }, "".concat(t('Edit'))))),
231
- editedImageResult: imageEditorResult,
232
222
  ref: ref
233
223
  })), !!ImageEditor && (/*#__PURE__*/React__default['default'].createElement(modal.Modal, {
234
224
  name: modalId,
235
225
  header: /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, t('Edit image')),
236
226
  width: "l"
237
- }, renderImageEditor({
238
- src: imageEditorSrc,
227
+ }, /*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(ImageEditor, {
228
+ src: image === null || image === void 0 ? void 0 : image.fileUrl,
239
229
  onEditionDone: function onEditionDone(result) {
240
230
  hideModal(modalId);
241
- setImageEditorResult(result);
231
+ if (!result) return;
232
+ handleControlChange(result);
242
233
  }
243
- }))));
234
+ })))));
244
235
  });
245
236
  XhrImagePicker.displayName = 'XhrImagePicker';
246
237
 
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA,6BAA6B,iEAAqE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,6BAA6B,iEAAqE;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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 } from 'react';
1
+ import React__default, { forwardRef, useCallback } from 'react';
2
2
  import { Control } from '../../control/control.js';
3
3
  import { HelperText } from '../../helper_text/helper_text.js';
4
4
  import { Label } from '../../label/label.js';
@@ -17,23 +17,16 @@ var XhrImagePickerControl = /*#__PURE__*/forwardRef(function (_ref, ref) {
17
17
  className = _ref.className,
18
18
  errors = _ref.errors,
19
19
  tooltip = _ref.tooltip,
20
- onUploaded = _ref.onUploaded,
21
20
  helperText = _ref.helperText,
22
- onImageSizeUpdated = _ref.onImageSizeUpdated,
23
21
  ImageEditor = _ref.ImageEditor,
24
22
  onError = _ref.onError;
25
- var handleControlError = function handleControlError(errors) {
23
+ var handleControlError = useCallback(function (errors) {
26
24
  onError === null || onError === void 0 ? void 0 : onError(errors);
27
- };
28
- var handleControlChange = function handleControlChange(file) {
29
- var fileList = file.fileList,
30
- fileAsDataUrl = file.fileAsDataUrl;
25
+ }, [onError]);
26
+ var handleControlChange = useCallback(function (val) {
31
27
  onError === null || onError === void 0 ? void 0 : onError([]);
32
- onChange === null || onChange === void 0 ? void 0 : onChange({
33
- fileList: fileList,
34
- fileAsDataUrl: fileAsDataUrl
35
- });
36
- };
28
+ onChange === null || onChange === void 0 ? void 0 : onChange(val);
29
+ }, [onChange, onError]);
37
30
  return /*#__PURE__*/React__default.createElement(Control, {
38
31
  classname: "aurora-flex-col"
39
32
  }, label ? (/*#__PURE__*/React__default.createElement(Label, {
@@ -51,8 +44,6 @@ var XhrImagePickerControl = /*#__PURE__*/forwardRef(function (_ref, ref) {
51
44
  initialFile: initialFile,
52
45
  className: className,
53
46
  errors: errors,
54
- onUploaded: onUploaded,
55
- onImageSizeUpdated: onImageSizeUpdated,
56
47
  ImageEditor: ImageEditor,
57
48
  ref: ref
58
49
  }), helperText ? /*#__PURE__*/React__default.createElement(HelperText, null, helperText) : null);
@@ -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;"}
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;"}
@@ -1,12 +1,10 @@
1
1
  import { TControlErrors } from "../../control/control_types";
2
- import { IImagePicker, ImagePickerFileObject, TImageSize } from "../../image_picker/image_picker_types";
3
- import { TUploadedImageData } from "../../xhr_image_picker/xhr_image_picker_types";
2
+ import { IXhrImagePickerProps, TUploadedImageData } from "../../xhr_image_picker/xhr_image_picker_types";
4
3
  import { ReactNode } from 'react';
5
- export interface IXhrImagePickerControl extends IImagePicker {
4
+ export interface IXhrImagePickerControl extends Omit<IXhrImagePickerProps, 'onChange'> {
6
5
  url: string;
7
6
  label?: string;
8
- onChange?: (file: ImagePickerFileObject, size?: TImageSize) => void;
9
- onUploaded?: (data: TUploadedImageData) => void;
7
+ onChange?: (val: TUploadedImageData | null) => void;
10
8
  ImageEditor?: React.FunctionComponent;
11
9
  errors?: TControlErrors;
12
10
  required?: boolean;
@@ -1,5 +1,4 @@
1
1
  import '@auroraComponents/control/control_types';
2
- import '@auroraComponents/image_picker/image_picker_types';
3
2
  import '@auroraComponents/xhr_image_picker/xhr_image_picker_types';
4
3
  import 'react';
5
4
  //# sourceMappingURL=xhr_image_picker_control_types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xhr_image_picker_control_types.js","sourceRoot":"","sources":["../../../../../../../../src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.ts"],"names":[],"mappings":"AAAA,OAA+B,yCAAyC,CAAC;AACzE,OAAgE,mDAAmD,CAAC;AACpH,OAAmC,2DAA2D,CAAC;AAC/F,OAA0B,OAAO,CAAC"}
1
+ {"version":3,"file":"xhr_image_picker_control_types.js","sourceRoot":"","sources":["../../../../../../../../src/components/controls/xhr_image_picker_control/xhr_image_picker_control_types.ts"],"names":[],"mappings":"AAAA,OAA+B,yCAAyC,CAAC;AACzE,OAAyD,2DAA2D,CAAC;AACrH,OAA0B,OAAO,CAAC"}
@@ -2,8 +2,7 @@ import React from 'react';
2
2
  import { TImagePickerFile } from '../image_picker_types';
3
3
  declare type TImagePickerPreviewProps = {
4
4
  file: TImagePickerFile;
5
- onError: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;
6
5
  onLoad?: (event: React.SyntheticEvent<HTMLImageElement, Event>) => void;
7
6
  };
8
- export declare const ImagePickerPreview: ({ file, onError, onLoad }: TImagePickerPreviewProps) => React.JSX.Element;
7
+ export declare const ImagePickerPreview: ({ file, onLoad }: TImagePickerPreviewProps) => React.JSX.Element;
9
8
  export {};
@@ -2,7 +2,6 @@ import React__default from 'react';
2
2
 
3
3
  var ImagePickerPreview = function ImagePickerPreview(_ref) {
4
4
  var file = _ref.file,
5
- onError = _ref.onError,
6
5
  onLoad = _ref.onLoad;
7
6
  return /*#__PURE__*/React__default.createElement("div", {
8
7
  className: "aurora-rounded-4 aurora-w-full aurora-h-full aurora-min-h-16 aurora-flex aurora-justify-center aurora-items-center"
@@ -10,7 +9,6 @@ var ImagePickerPreview = function ImagePickerPreview(_ref) {
10
9
  className: "aurora-rounded-4 aurora-w-full aurora-h-full aurora-object-contain",
11
10
  alt: file.fileName,
12
11
  src: (file === null || file === void 0 ? void 0 : file.fileUrl) || '',
13
- onError: onError,
14
12
  onLoad: onLoad
15
13
  }));
16
14
  };
@@ -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;"}
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;"}
@@ -1,6 +1,6 @@
1
- import React__default, { memo, forwardRef, useState, useEffect, createRef } from 'react';
1
+ import React__default, { memo, forwardRef, createRef } from 'react';
2
2
  import { useTranslation } from '../../../../../external/react-i18next/dist/es/useTranslation.js';
3
- import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
3
+ import { slicedToArray as _slicedToArray } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
4
4
  import { cn } from '../../utilities/cn.js';
5
5
  import { ErrorList } from '../error_list/error_list.js';
6
6
  import { IMAGE_PICKER_EXTENSIONS } from './image_picker_constants.js';
@@ -21,94 +21,28 @@ var ImagePicker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function (_ref, ref)
21
21
  _ref$allowedExtension = _ref.allowedExtensions,
22
22
  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,
23
23
  allowedExtensionsLabel = _ref.allowedExtensionsLabel,
24
- initialFile = _ref.initialFile,
25
24
  name = _ref.name,
26
- onImageSizeUpdated = _ref.onImageSizeUpdated,
27
25
  topButtons = _ref.topButtons,
28
- editedImageResult = _ref.editedImageResult;
26
+ file = _ref.file;
29
27
  var _useTranslation = useTranslation(),
30
28
  _useTranslation2 = _slicedToArray(_useTranslation, 1),
31
29
  t = _useTranslation2[0];
32
30
  var inputRef = /*#__PURE__*/createRef();
33
- var handleOnChange = function handleOnChange(ev) {
34
- var _ev$fileList;
35
- onChange === null || onChange === void 0 ? void 0 : onChange(ev);
36
- if ((_ev$fileList = ev.fileList) !== null && _ev$fileList !== void 0 && _ev$fileList.length) {
37
- setImageSizeBasedOnUrl(URL.createObjectURL(ev.fileList[0]));
38
- }
39
- };
40
31
  var _useImagePicker = useImagePicker({
41
- initialFile: initialFile,
42
- onChange: handleOnChange,
32
+ onChange: onChange,
43
33
  allowedExtensions: allowedExtensions,
44
- onError: onError,
45
- inputRef: inputRef
34
+ onError: onError
46
35
  }),
36
+ updateFile = _useImagePicker.updateFile,
47
37
  onDropFile = _useImagePicker.onDropFile,
48
- onFileChange = _useImagePicker.onFileChange,
49
38
  onDragOver = _useImagePicker.onDragOver,
50
39
  onDragLeave = _useImagePicker.onDragLeave,
51
- onFileDelete = _useImagePicker.onFileDelete,
52
- onPreviewError = _useImagePicker.onPreviewError,
53
- changeFile = _useImagePicker.changeFile,
54
- file = _useImagePicker.file,
55
- isPreview = _useImagePicker.isPreview,
56
40
  isDragOver = _useImagePicker.isDragOver;
57
- var _useState = useState(undefined),
58
- _useState2 = _slicedToArray(_useState, 2),
59
- imageSize = _useState2[0],
60
- setImageSize = _useState2[1];
61
41
  var acceptFiles = getAcceptFilesParametersFromAllowedExtensions(allowedExtensions);
62
- useEffect(function () {
63
- initialFile && setImageSizeBasedOnUrl(initialFile === null || initialFile === void 0 ? void 0 : initialFile.fileUrl);
64
- }, [initialFile]);
65
- useEffect(function () {
66
- if (!editedImageResult) return;
67
- var fileList = createFileList(editedImageResult);
68
- changeFile(fileList);
69
- }, [editedImageResult]);
70
- var createFileList = function createFileList(file) {
71
- var fileArray = [];
72
- fileArray.push(file);
73
- return fileArray;
74
- };
75
- var setImageSizeBasedOnUrl = function setImageSizeBasedOnUrl(fileUrl) {
76
- createImageFromUrl(fileUrl).then(function (image) {
77
- var size = {
78
- width: image.naturalWidth,
79
- height: image.naturalHeight
80
- };
81
- setImageSize(size);
82
- onImageSizeUpdated === null || onImageSizeUpdated === void 0 ? void 0 : onImageSizeUpdated(size);
83
- });
84
- };
85
- var createImageFromUrl = /*#__PURE__*/function () {
86
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee(url) {
87
- var img;
88
- return _regeneratorRuntime().wrap(function _callee$(_context) {
89
- while (1) switch (_context.prev = _context.next) {
90
- case 0:
91
- img = new Image();
92
- img.src = url;
93
- _context.next = 4;
94
- return img.decode();
95
- case 4:
96
- return _context.abrupt("return", img);
97
- case 5:
98
- case "end":
99
- return _context.stop();
100
- }
101
- }, _callee);
102
- }));
103
- return function createImageFromUrl(_x) {
104
- return _ref2.apply(this, arguments);
105
- };
106
- }();
107
42
  var handleOnFileDelete = function handleOnFileDelete() {
108
- onFileDelete();
109
- setImageSize(undefined);
110
- onImageSizeUpdated === null || onImageSizeUpdated === void 0 ? void 0 : onImageSizeUpdated(undefined);
43
+ updateFile(null);
111
44
  };
45
+ var isPreview = file !== null;
112
46
  return /*#__PURE__*/React__default.createElement("div", {
113
47
  className: "aurora-mb-1"
114
48
  }, /*#__PURE__*/React__default.createElement("div", {
@@ -138,17 +72,16 @@ var ImagePicker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function (_ref, ref)
138
72
  }, topButtons && /*#__PURE__*/React__default.createElement(React__default.Fragment, null, topButtons), /*#__PURE__*/React__default.createElement("div", {
139
73
  className: "aurora-relative"
140
74
  }, /*#__PURE__*/React__default.createElement(ImagePickerPreview, {
141
- file: file,
142
- onError: onPreviewError
75
+ file: file
143
76
  })), /*#__PURE__*/React__default.createElement(UploadedImagePickerItem, {
144
- imageSize: imageSize,
77
+ imageSize: file.size,
145
78
  file: file,
146
79
  isValid: !(errors !== null && errors !== void 0 && errors.length),
147
80
  onFileDelete: handleOnFileDelete
148
81
  })), isDragOver && /*#__PURE__*/React__default.createElement(ImagePickerDragOverPlaceholder, {
149
82
  onDropFile: onDropFile
150
83
  }))) : (/*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement("div", null, "".concat(t('No preview'))), /*#__PURE__*/React__default.createElement(ImagePickerDeleteButton, {
151
- onFileDelete: onFileDelete
84
+ onFileDelete: handleOnFileDelete
152
85
  }))) : (/*#__PURE__*/React__default.createElement(ImagePickerInput, {
153
86
  isDragOver: isDragOver,
154
87
  allowedExtensions: allowedExtensions,
@@ -157,7 +90,11 @@ var ImagePicker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function (_ref, ref)
157
90
  onDropFile: onDropFile
158
91
  })), /*#__PURE__*/React__default.createElement("input", {
159
92
  className: "aurora-hidden",
160
- onChange: onFileChange,
93
+ onChange: function onChange(e) {
94
+ var _e$target$files$, _e$target$files;
95
+ updateFile((_e$target$files$ = (_e$target$files = e.target.files) === null || _e$target$files === void 0 ? void 0 : _e$target$files[0]) !== null && _e$target$files$ !== void 0 ? _e$target$files$ : null);
96
+ e.target.value = '';
97
+ },
161
98
  id: id,
162
99
  ref: inputRef,
163
100
  type: "file",
@@ -166,10 +103,7 @@ var ImagePicker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function (_ref, ref)
166
103
  }))), errors && /*#__PURE__*/React__default.createElement(ErrorList, {
167
104
  errors: errors
168
105
  }));
169
- }), function (prev, curr) {
170
- var _prev$initialFile, _curr$initialFile, _prev$initialFile2, _curr$initialFile2;
171
- return ((_prev$initialFile = prev.initialFile) === null || _prev$initialFile === void 0 ? void 0 : _prev$initialFile.fileUrl) === ((_curr$initialFile = curr.initialFile) === null || _curr$initialFile === void 0 ? void 0 : _curr$initialFile.fileUrl) && ((_prev$initialFile2 = prev.initialFile) === null || _prev$initialFile2 === void 0 ? void 0 : _prev$initialFile2.fileName) === ((_curr$initialFile2 = curr.initialFile) === null || _curr$initialFile2 === void 0 ? void 0 : _curr$initialFile2.fileName) && prev.errors === curr.errors && prev.editedImageResult === curr.editedImageResult && prev.topButtons === curr.topButtons;
172
- });
106
+ }));
173
107
  ImagePicker.displayName = 'ImagePicker';
174
108
 
175
109
  export { ImagePicker };
@@ -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;"}
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;"}