@dreamcommerce/aurora 3.1.5 → 3.1.7-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 (59) hide show
  1. package/build/cjs/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +9 -10
  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_drag_over_placeholder.js +5 -3
  4. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.js.map +1 -1
  5. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_input.js +6 -10
  6. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_input.js.map +1 -1
  7. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview.js +1 -1
  8. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview_container.js +3 -9
  9. package/build/cjs/packages/aurora/src/components/image_picker/components/image_picker_preview_container.js.map +1 -1
  10. package/build/cjs/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.js +4 -16
  11. package/build/cjs/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.js.map +1 -1
  12. package/build/cjs/packages/aurora/src/components/image_picker/image_picker.js +26 -18
  13. package/build/cjs/packages/aurora/src/components/image_picker/image_picker.js.map +1 -1
  14. package/build/cjs/packages/aurora/src/components/image_picker/image_picker_delete_button.js +36 -0
  15. package/build/cjs/packages/aurora/src/components/image_picker/image_picker_delete_button.js.map +1 -0
  16. package/build/cjs/packages/aurora/src/components/image_picker/use_image_picker.js +36 -52
  17. package/build/cjs/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -1
  18. package/build/cjs/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +54 -20
  19. package/build/cjs/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -1
  20. package/build/cjs/packages/aurora/src/translations/en.json.js +1 -0
  21. package/build/cjs/packages/aurora/src/translations/en.json.js.map +1 -1
  22. package/build/cjs/packages/aurora/src/translations/pl.json.js +1 -0
  23. package/build/cjs/packages/aurora/src/translations/pl.json.js.map +1 -1
  24. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.d.ts +1 -1
  25. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js +10 -11
  26. package/build/esm/packages/aurora/src/components/controls/xhr_image_picker_control/xhr_image_picker_control.js.map +1 -1
  27. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.d.ts +5 -1
  28. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.js +5 -3
  29. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_drag_over_placeholder.js.map +1 -1
  30. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.d.ts +1 -3
  31. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js +6 -10
  32. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_input.js.map +1 -1
  33. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview.js +1 -1
  34. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview_container.js +3 -9
  35. package/build/esm/packages/aurora/src/components/image_picker/components/image_picker_preview_container.js.map +1 -1
  36. package/build/esm/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.js +4 -16
  37. package/build/esm/packages/aurora/src/components/image_picker/components/uploaded_image_picker_item.js.map +1 -1
  38. package/build/esm/packages/aurora/src/components/image_picker/image_picker.d.ts +1 -1
  39. package/build/esm/packages/aurora/src/components/image_picker/image_picker.js +27 -19
  40. package/build/esm/packages/aurora/src/components/image_picker/image_picker.js.map +1 -1
  41. package/build/esm/packages/aurora/src/components/image_picker/image_picker_delete_button.d.ts +4 -0
  42. package/build/esm/packages/aurora/src/components/image_picker/image_picker_delete_button.js +28 -0
  43. package/build/esm/packages/aurora/src/components/image_picker/image_picker_delete_button.js.map +1 -0
  44. package/build/esm/packages/aurora/src/components/image_picker/image_picker_types.d.ts +3 -11
  45. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.d.ts +1 -1
  46. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js +38 -54
  47. package/build/esm/packages/aurora/src/components/image_picker/use_image_picker.js.map +1 -1
  48. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.d.ts +1 -1
  49. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js +55 -21
  50. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker.js.map +1 -1
  51. package/build/esm/packages/aurora/src/components/xhr_image_picker/xhr_image_picker_types.d.ts +1 -0
  52. package/build/esm/packages/aurora/src/translations/en.json +1 -0
  53. package/build/esm/packages/aurora/src/translations/en.json.js +1 -0
  54. package/build/esm/packages/aurora/src/translations/en.json.js.map +1 -1
  55. package/build/esm/packages/aurora/src/translations/pl.json +1 -0
  56. package/build/esm/packages/aurora/src/translations/pl.json.js +1 -0
  57. package/build/esm/packages/aurora/src/translations/pl.json.js.map +1 -1
  58. package/build/index.css +1 -1
  59. package/package.json +1 -1
@@ -19,7 +19,7 @@ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'defau
19
19
 
20
20
  var React__default = /*#__PURE__*/_interopDefaultLegacy(React);
21
21
 
22
- var XhrImagePicker = function XhrImagePicker(_ref) {
22
+ var XhrImagePicker = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
23
23
  var id = _ref.id,
24
24
  url = _ref.url,
25
25
  name = _ref.name,
@@ -67,9 +67,10 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
67
67
  _useState12 = _rollupPluginBabelHelpers.slicedToArray(_useState11, 2),
68
68
  imageExtenstion = _useState12[0],
69
69
  setImageExtenstion = _useState12[1];
70
+ var fileAsDataUrlRef = React.useRef(undefined);
70
71
  var handleControlChange = /*#__PURE__*/function () {
71
72
  var _ref2 = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regeneratorRuntime().mark(function _callee(file) {
72
- var fileList, fileAsDataUrl, _httpApi$fetch, response, cancelRequest, responseObject;
73
+ var fileList, fileAsDataUrl, _httpApi$fetch, response, cancelRequest, responseObject, _responseObject$data$, paths;
73
74
  return _rollupPluginBabelHelpers.regeneratorRuntime().wrap(function _callee$(_context) {
74
75
  while (1) switch (_context.prev = _context.next) {
75
76
  case 0:
@@ -79,12 +80,13 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
79
80
  fileList: fileList,
80
81
  fileAsDataUrl: fileAsDataUrl
81
82
  });
82
- if (!(!fileList || !fileList.length)) {
83
- _context.next = 5;
83
+ fileAsDataUrlRef.current = fileAsDataUrl;
84
+ if (!(!fileList || !fileList.length || fileAsDataUrl)) {
85
+ _context.next = 6;
84
86
  break;
85
87
  }
86
88
  return _context.abrupt("return");
87
- case 5:
89
+ case 6:
88
90
  if (pendingRequestRef.current) {
89
91
  pendingRequestRef.current();
90
92
  pendingRequestRef.current = undefined;
@@ -96,22 +98,51 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
96
98
  data: fileList[0]
97
99
  }), response = _httpApi$fetch.response, cancelRequest = _httpApi$fetch.cancelRequest;
98
100
  pendingRequestRef.current = cancelRequest;
99
- _context.next = 11;
100
- return response.finally(function () {
101
- return setIsLoading(false);
102
- });
103
- case 11:
101
+ _context.prev = 10;
102
+ _context.next = 13;
103
+ return response;
104
+ case 13:
104
105
  responseObject = _context.sent;
106
+ _context.next = 19;
107
+ break;
108
+ case 16:
109
+ _context.prev = 16;
110
+ _context.t0 = _context["catch"](10);
111
+ onError === null || onError === void 0 ? void 0 : onError([t('File upload failed')]);
112
+ case 19:
113
+ _context.prev = 19;
114
+ setIsLoading(false);
115
+ return _context.finish(19);
116
+ case 22:
117
+ if (responseObject) {
118
+ _context.next = 24;
119
+ break;
120
+ }
121
+ return _context.abrupt("return");
122
+ case 24:
123
+ if (!(responseObject.data.isSuccess === false)) {
124
+ _context.next = 27;
125
+ break;
126
+ }
127
+ 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:
130
+ if (responseObject.data.imagePath) {
131
+ paths = {
132
+ original: responseObject.data.imagePath
133
+ };
134
+ }
105
135
  onUploaded === null || onUploaded === void 0 ? void 0 : onUploaded({
106
136
  fileList: fileList,
107
- dataUrl: fileAsDataUrl,
108
- imageId: responseObject.data.imageId
137
+ dataUrl: fileAsDataUrlRef.current,
138
+ imageId: responseObject.data.imageId,
139
+ paths: paths
109
140
  });
110
- case 13:
141
+ case 29:
111
142
  case "end":
112
143
  return _context.stop();
113
144
  }
114
- }, _callee);
145
+ }, _callee, null, [[10, 16, 19, 22]]);
115
146
  }));
116
147
  return function handleControlChange(_x) {
117
148
  return _ref2.apply(this, arguments);
@@ -153,15 +184,16 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
153
184
  }, []);
154
185
  React.useEffect(function () {
155
186
  image && setImageExtenstion(utilities.FileUtils.getFileExtension(image === null || image === void 0 ? void 0 : image.name));
156
- return function () {
157
- var _pendingRequestRef$cu;
158
- return (_pendingRequestRef$cu = pendingRequestRef.current) === null || _pendingRequestRef$cu === void 0 ? void 0 : _pendingRequestRef$cu.call(pendingRequestRef);
159
- };
160
187
  }, [image]);
161
188
  React.useEffect(function () {
162
189
  var src = image !== null && image !== void 0 ? image : initialImage;
163
190
  setImageEditorSrc(src !== null && src !== void 0 ? src : '');
164
191
  }, [image, initialImage, isLoading]);
192
+ React.useEffect(function () {
193
+ return function () {
194
+ if (pendingRequestRef.current) pendingRequestRef.current();
195
+ };
196
+ }, []);
165
197
  var renderImageEditor = function renderImageEditor(defaultProps) {
166
198
  return ImageEditor ? (/*#__PURE__*/React__default['default'].createElement("div", null, /*#__PURE__*/React__default['default'].createElement(ImageEditor, _rollupPluginBabelHelpers.objectSpread2({}, defaultProps)))) : null;
167
199
  };
@@ -194,7 +226,8 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
194
226
  }), /*#__PURE__*/React__default['default'].createElement("span", {
195
227
  className: "aurora-text-xs aurora-text aurora-font-semibold"
196
228
  }, "".concat(t('Edit'))))),
197
- editedImageResult: imageEditorResult
229
+ editedImageResult: imageEditorResult,
230
+ ref: ref
198
231
  })), !!ImageEditor && (/*#__PURE__*/React__default['default'].createElement(modal.Modal, {
199
232
  name: modalId,
200
233
  header: /*#__PURE__*/React__default['default'].createElement(React__default['default'].Fragment, null, t('Edit image')),
@@ -206,7 +239,8 @@ var XhrImagePicker = function XhrImagePicker(_ref) {
206
239
  setImageEditorResult(result);
207
240
  }
208
241
  }))));
209
- };
242
+ });
243
+ XhrImagePicker.displayName = 'XhrImagePicker';
210
244
 
211
245
  exports.XhrImagePicker = XhrImagePicker;
212
246
  //# sourceMappingURL=xhr_image_picker.js.map
@@ -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;"}
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;"}
@@ -59,6 +59,7 @@ var en = {
59
59
  Remove: Remove,
60
60
  "Transfering file...": "Transfering file...",
61
61
  "Invalid file format": "Invalid file format",
62
+ "File upload failed": "File upload failed",
62
63
  "Select color": "Select color",
63
64
  "Shades of color": "Shades of color",
64
65
  "Linear gradient": "Linear gradient",
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -59,6 +59,7 @@ var pl = {
59
59
  Remove: Remove,
60
60
  "Transfering file...": "Wgrywanie pliku...",
61
61
  "Invalid file format": "Niepoprawny format pliku",
62
+ "File upload failed": "Błąd wgrywania pliku",
62
63
  "Select color": "Wybierz kolor",
63
64
  "Shades of color": "Odcienie koloru",
64
65
  "Linear gradient": "Gradient liniowy",
@@ -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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,3 +1,3 @@
1
1
  import React from 'react';
2
2
  import { IXhrImagePickerControl } from './xhr_image_picker_control_types';
3
- export declare const XhrImagePickerControl: React.FC<IXhrImagePickerControl>;
3
+ export declare const XhrImagePickerControl: React.ForwardRefExoticComponent<IXhrImagePickerControl & React.RefAttributes<HTMLButtonElement>>;
@@ -1,11 +1,10 @@
1
- import React, { useState } from 'react';
2
- import { slicedToArray as _slicedToArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
1
+ import React, { forwardRef } from 'react';
3
2
  import { Control } from '../../control/control.js';
4
3
  import { HelperText } from '../../helper_text/helper_text.js';
5
4
  import { Label } from '../../label/label.js';
6
5
  import { XhrImagePicker } from '../../xhr_image_picker/xhr_image_picker.js';
7
6
 
8
- var XhrImagePickerControl = function XhrImagePickerControl(_ref) {
7
+ var XhrImagePickerControl = /*#__PURE__*/forwardRef(function (_ref, ref) {
9
8
  var url = _ref.url,
10
9
  label = _ref.label,
11
10
  required = _ref.required,
@@ -21,17 +20,15 @@ var XhrImagePickerControl = function XhrImagePickerControl(_ref) {
21
20
  onUploaded = _ref.onUploaded,
22
21
  helperText = _ref.helperText,
23
22
  onImageSizeUpdated = _ref.onImageSizeUpdated,
24
- ImageEditor = _ref.ImageEditor;
25
- var _useState = useState(errors),
26
- _useState2 = _slicedToArray(_useState, 2),
27
- setErrors = _useState2[1];
23
+ ImageEditor = _ref.ImageEditor,
24
+ onError = _ref.onError;
28
25
  var handleControlError = function handleControlError(errors) {
29
- setErrors(errors);
26
+ onError === null || onError === void 0 ? void 0 : onError(errors);
30
27
  };
31
28
  var handleControlChange = function handleControlChange(file) {
32
29
  var fileList = file.fileList,
33
30
  fileAsDataUrl = file.fileAsDataUrl;
34
- setErrors(null);
31
+ onError === null || onError === void 0 ? void 0 : onError([]);
35
32
  onChange === null || onChange === void 0 ? void 0 : onChange({
36
33
  fileList: fileList,
37
34
  fileAsDataUrl: fileAsDataUrl
@@ -56,9 +53,11 @@ var XhrImagePickerControl = function XhrImagePickerControl(_ref) {
56
53
  errors: errors,
57
54
  onUploaded: onUploaded,
58
55
  onImageSizeUpdated: onImageSizeUpdated,
59
- ImageEditor: ImageEditor
56
+ ImageEditor: ImageEditor,
57
+ ref: ref
60
58
  }), helperText ? /*#__PURE__*/React.createElement(HelperText, null, helperText) : null);
61
- };
59
+ });
60
+ XhrImagePickerControl.displayName = 'XhrImagePickerControl';
62
61
 
63
62
  export { XhrImagePickerControl };
64
63
  //# sourceMappingURL=xhr_image_picker_control.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;"}
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,2 +1,6 @@
1
1
  import React from 'react';
2
- export declare const ImagePickerDragOverPlaceholder: () => React.JSX.Element;
2
+ interface IImagePickerDragOverPlaceholderProps {
3
+ onDropFile: (event: React.DragEvent<HTMLDivElement>) => void;
4
+ }
5
+ export declare const ImagePickerDragOverPlaceholder: ({ onDropFile }: IImagePickerDragOverPlaceholderProps) => React.JSX.Element;
6
+ export {};
@@ -3,14 +3,16 @@ import { useTranslation } from '../../../../../../external/react-i18next/dist/es
3
3
  import { slicedToArray as _slicedToArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
4
4
  import { cn } from '../../../utilities/cn.js';
5
5
 
6
- var ImagePickerDragOverPlaceholder = function ImagePickerDragOverPlaceholder() {
6
+ var ImagePickerDragOverPlaceholder = function ImagePickerDragOverPlaceholder(_ref) {
7
+ var onDropFile = _ref.onDropFile;
7
8
  var _useTranslation = useTranslation(),
8
9
  _useTranslation2 = _slicedToArray(_useTranslation, 1),
9
10
  t = _useTranslation2[0];
10
11
  return /*#__PURE__*/React.createElement("div", {
11
- className: cn('aurora-absolute aurora-inset-0 aurora-bg-neutral-0 aurora-border-2 aurora-border-primary aurora-rounded-8 aurora-z-20 aurora-pointer-events-none aurora-w-full aurora-h-full')
12
+ onDrop: onDropFile,
13
+ className: cn('aurora-absolute aurora-inset-0 aurora-bg-neutral-0 aurora-border-2 aurora-border-primary aurora-rounded-8 aurora-z-20 aurora-w-full aurora-h-full')
12
14
  }, /*#__PURE__*/React.createElement("div", {
13
- className: "aurora-w-full aurora-h-full aurora-bg-primary-transparent aurora-flex aurora-items-center aurora-justify-center"
15
+ className: "aurora-w-full aurora-h-full aurora-bg-primary-transparent aurora-flex aurora-items-center aurora-justify-center aurora-pointer-events-none"
14
16
  }, /*#__PURE__*/React.createElement("span", {
15
17
  className: "aurora-text-xs aurora-text-interactive"
16
18
  }, "".concat(t('Drop file here')))));
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,oEAAwE;AACvG;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,oEAAwE;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,9 +1,7 @@
1
1
  import React from 'react';
2
2
  declare type ImagePickerInput = {
3
3
  id: string;
4
- onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
5
- onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
6
- onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
4
+ onDropFile: (event: React.DragEvent<HTMLDivElement>) => void;
7
5
  allowedExtensionsLabel?: string;
8
6
  allowedExtensions: string[];
9
7
  isDragOver: boolean;
@@ -7,22 +7,18 @@ import { UploadLineIcon } from '../../../assets/icons/upload_icon.js';
7
7
 
8
8
  var ImagePickerInput = function ImagePickerInput(_ref) {
9
9
  var id = _ref.id,
10
- onDropFile = _ref.onDropFile,
11
- onDragOver = _ref.onDragOver,
12
- onDragLeave = _ref.onDragLeave,
13
10
  allowedExtensionsLabel = _ref.allowedExtensionsLabel,
14
11
  allowedExtensions = _ref.allowedExtensions,
15
- isDragOver = _ref.isDragOver;
12
+ isDragOver = _ref.isDragOver,
13
+ onDropFile = _ref.onDropFile;
16
14
  var _useTranslation = useTranslation(),
17
15
  _useTranslation2 = _slicedToArray(_useTranslation, 1),
18
16
  t = _useTranslation2[0];
19
- return /*#__PURE__*/React.createElement("label", {
20
- htmlFor: id,
21
- onDrop: onDropFile,
22
- onDragOver: onDragOver,
23
- onDragLeave: onDragLeave,
17
+ return /*#__PURE__*/React.createElement("div", {
24
18
  className: "aurora-relative aurora-flex aurora-items-center aurora-justify-center aurora-w-full aurora-h-full aurora-cursor-pointer aurora-p-1 aurora-pb-2 aurora-group/imagePickerInput"
25
- }, isDragOver && /*#__PURE__*/React.createElement(ImagePickerDragOverPlaceholder, null), /*#__PURE__*/React.createElement("div", {
19
+ }, isDragOver && /*#__PURE__*/React.createElement(ImagePickerDragOverPlaceholder, {
20
+ onDropFile: onDropFile
21
+ }), /*#__PURE__*/React.createElement("div", {
26
22
  className: cn('aurora-flex aurora-flex-col aurora-items-center aurora-w-full aurora-h-full aurora-pt-4 aurora-pb-3 aurora-px-1')
27
23
  }, /*#__PURE__*/React.createElement(UploadLineIcon, {
28
24
  className: "aurora-w-5 aurora-h-5 aurora-fill-subtle group-hover/imagePickerInput:aurora-fill-primary aurora-mb-2"
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,oEAAwE;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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,oEAAwE;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -5,7 +5,7 @@ var ImagePickerPreview = function ImagePickerPreview(_ref) {
5
5
  onError = _ref.onError,
6
6
  onLoad = _ref.onLoad;
7
7
  return /*#__PURE__*/React.createElement("div", {
8
- className: 'aurora-rounded-4 aurora-w-full aurora-h-full aurora-min-h-16 aurora-flex aurora-justify-center aurora-items-center'
8
+ className: "aurora-rounded-4 aurora-w-full aurora-h-full aurora-min-h-16 aurora-flex aurora-justify-center aurora-items-center"
9
9
  }, /*#__PURE__*/React.createElement("img", {
10
10
  className: "aurora-rounded-4 aurora-w-full aurora-h-full aurora-object-contain",
11
11
  alt: file.fileName,
@@ -2,15 +2,9 @@ import React from 'react';
2
2
 
3
3
  var ImagePickerPreviewContainer = function ImagePickerPreviewContainer(_ref) {
4
4
  var classname = _ref.classname,
5
- children = _ref.children,
6
- onDragLeave = _ref.onDragLeave,
7
- onDragOver = _ref.onDragOver,
8
- onDropFile = _ref.onDropFile;
9
- return /*#__PURE__*/React.createElement("label", {
10
- className: classname,
11
- onDragLeave: onDragLeave,
12
- onDragOver: onDragOver,
13
- onDrop: onDropFile
5
+ children = _ref.children;
6
+ return /*#__PURE__*/React.createElement("div", {
7
+ className: classname
14
8
  }, children);
15
9
  };
16
10
 
@@ -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;"}
1
+ {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;"}
@@ -1,17 +1,12 @@
1
1
  import React from 'react';
2
- import { useTranslation } from '../../../../../../external/react-i18next/dist/es/useTranslation.js';
3
- import { slicedToArray as _slicedToArray } from '../../../../../../_virtual/_rollupPluginBabelHelpers.js';
4
- import { DeleteBinLineIcon } from '../../../assets/icons/delete_bin_icon.js';
5
2
  import { FileUtils } from '@dreamcommerce/utilities';
3
+ import { ImagePickerDeleteButton } from '../image_picker_delete_button.js';
6
4
 
7
5
  var UploadedImagePickerItem = function UploadedImagePickerItem(_ref) {
8
6
  var imageSize = _ref.imageSize,
9
7
  onFileDelete = _ref.onFileDelete,
10
8
  isValid = _ref.isValid,
11
9
  file = _ref.file;
12
- var _useTranslation = useTranslation(),
13
- _useTranslation2 = _slicedToArray(_useTranslation, 1),
14
- t = _useTranslation2[0];
15
10
  var imageName = FileUtils.getFileName(file.fileName);
16
11
  var imageExtension = FileUtils.getFileExtension(file.fileName);
17
12
  var imageWidth = imageSize && imageSize.width;
@@ -20,16 +15,9 @@ var UploadedImagePickerItem = function UploadedImagePickerItem(_ref) {
20
15
  className: "aurora-flex aurora-justify-between aurora-items-center aurora-pt-2 aurora-px-1 aurora-gap-1"
21
16
  }, /*#__PURE__*/React.createElement("div", {
22
17
  className: "aurora-text-xs aurora-text-subtle aurora-overflow-hidden aurora-text-ellipsis"
23
- }, isValid && (/*#__PURE__*/React.createElement(React.Fragment, null, imageName, ".".concat(imageExtension, " (").concat(imageWidth, "x").concat(imageHeight, "px)")))), /*#__PURE__*/React.createElement("button", {
24
- "data-test-id": "image-picker-remove-button",
25
- onClick: onFileDelete,
26
- className: "aurora-flex aurora-items-center aurora-gap-1 aurora-border aurora-border-danger aurora-rounded-full aurora-px-3 aurora-py-[6px]",
27
- type: "button"
28
- }, /*#__PURE__*/React.createElement(DeleteBinLineIcon, {
29
- className: "aurora-w-4 aurora-h-4 aurora-fill-danger"
30
- }), /*#__PURE__*/React.createElement("span", {
31
- className: "aurora-text-xs aurora-text-danger aurora-font-semibold"
32
- }, "".concat(t('Remove')))));
18
+ }, isValid && (/*#__PURE__*/React.createElement(React.Fragment, null, imageName, "".concat(imageExtension ? '.' : '').concat(imageExtension, " (").concat(imageWidth, "x").concat(imageHeight, "px)")))), /*#__PURE__*/React.createElement(ImagePickerDeleteButton, {
19
+ onFileDelete: onFileDelete
20
+ }));
33
21
  };
34
22
 
35
23
  export { UploadedImagePickerItem };
@@ -1 +1 @@
1
- {"version":3,"file":null,"sources":[null],"sourcesContent":[null],"names":[],"mappings":"AAAA;AACA,+BAA+B,oEAAwE;AACvG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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;"}
@@ -1,3 +1,3 @@
1
1
  import { IImagePicker } from './image_picker_types';
2
2
  import React from 'react';
3
- export declare const ImagePicker: React.FC<IImagePicker>;
3
+ export declare const ImagePicker: React.MemoExoticComponent<React.ForwardRefExoticComponent<IImagePicker & React.RefAttributes<HTMLButtonElement>>>;
@@ -1,4 +1,4 @@
1
- import React, { memo, useState, useEffect, createRef } from 'react';
1
+ import React, { memo, forwardRef, useState, useEffect, createRef } from 'react';
2
2
  import { useTranslation } from '../../../../../external/react-i18next/dist/es/useTranslation.js';
3
3
  import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regeneratorRuntime as _regeneratorRuntime } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
4
4
  import { cn } from '../../utilities/cn.js';
@@ -8,15 +8,16 @@ import { ImagePickerDragOverPlaceholder } from './components/image_picker_drag_o
8
8
  import { ImagePickerInput } from './components/image_picker_input.js';
9
9
  import { ImagePickerPreview } from './components/image_picker_preview.js';
10
10
  import { ImagePickerPreviewContainer } from './components/image_picker_preview_container.js';
11
+ import { ImagePickerDeleteButton } from './image_picker_delete_button.js';
11
12
  import { UploadedImagePickerItem } from './components/uploaded_image_picker_item.js';
12
13
  import { getAcceptFilesParametersFromAllowedExtensions } from './image_picker_utils.js';
13
14
  import { useImagePicker } from './use_image_picker.js';
14
15
 
15
- var ImagePicker = /*#__PURE__*/memo(function (_ref) {
16
+ var ImagePicker = /*#__PURE__*/memo(/*#__PURE__*/forwardRef(function (_ref, ref) {
16
17
  var id = _ref.id,
17
18
  onChange = _ref.onChange,
18
19
  onError = _ref.onError,
19
- initialErrors = _ref.errors,
20
+ errors = _ref.errors,
20
21
  _ref$allowedExtension = _ref.allowedExtensions,
21
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,
22
23
  allowedExtensionsLabel = _ref.allowedExtensionsLabel,
@@ -40,7 +41,6 @@ var ImagePicker = /*#__PURE__*/memo(function (_ref) {
40
41
  initialFile: initialFile,
41
42
  onChange: handleOnChange,
42
43
  allowedExtensions: allowedExtensions,
43
- initialErrors: initialErrors,
44
44
  onError: onError,
45
45
  inputRef: inputRef
46
46
  }),
@@ -52,7 +52,6 @@ var ImagePicker = /*#__PURE__*/memo(function (_ref) {
52
52
  onPreviewError = _useImagePicker.onPreviewError,
53
53
  changeFile = _useImagePicker.changeFile,
54
54
  file = _useImagePicker.file,
55
- errors = _useImagePicker.errors,
56
55
  isPreview = _useImagePicker.isPreview,
57
56
  isDragOver = _useImagePicker.isDragOver;
58
57
  var _useState = useState(undefined),
@@ -112,19 +111,25 @@ var ImagePicker = /*#__PURE__*/memo(function (_ref) {
112
111
  };
113
112
  return /*#__PURE__*/React.createElement("div", {
114
113
  className: "aurora-mb-1"
115
- }, /*#__PURE__*/React.createElement("div", {
116
- className: cn('aurora-rounded-8 aurora-relative hover:aurora-border-active', {
114
+ }, /*#__PURE__*/React.createElement("button", {
115
+ className: cn('aurora-block aurora-w-full aurora-rounded-8 aurora-relative hover:aurora-border-active focus-visible:aurora-border-active focus-visible:aurora-outline-none', {
117
116
  'aurora-border aurora-border-dashed': !(errors && errors.length > 0 && !isDragOver),
118
- 'aurora-border-2 aurora-border-danger aurora-border-solid hover:aurora-border-danger': errors && errors.length > 0,
119
- 'aurora-border-none': isDragOver
120
- })
117
+ 'aurora-border-2 aurora-border-danger aurora-border-solid hover:aurora-border-danger focus-visible:aurora-border-danger': errors && errors.length > 0,
118
+ 'aurora-border-transparent hover:aurora-border-transparent focus-visible:aurora-border-transparent': isDragOver
119
+ }),
120
+ onClick: function onClick() {
121
+ var _inputRef$current;
122
+ return (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.click();
123
+ },
124
+ ref: ref,
125
+ type: 'button'
126
+ }, /*#__PURE__*/React.createElement("div", {
127
+ onDragOver: onDragOver,
128
+ onDragLeave: onDragLeave
121
129
  }, file && !(errors !== null && errors !== void 0 && errors.length) ? isPreview ? (/*#__PURE__*/React.createElement("div", {
122
130
  className: "aurora-p-1 aurora-relative"
123
131
  }, /*#__PURE__*/React.createElement(ImagePickerPreviewContainer, {
124
- classname: "aurora-relative aurora-flex aurora-flex-col",
125
- onDragLeave: onDragLeave,
126
- onDragOver: onDragOver,
127
- onDropFile: onDropFile
132
+ classname: "aurora-relative aurora-flex aurora-flex-col"
128
133
  }, topButtons && /*#__PURE__*/React.createElement(React.Fragment, null, topButtons), /*#__PURE__*/React.createElement("label", {
129
134
  htmlFor: id,
130
135
  className: "aurora-relative"
@@ -136,9 +141,11 @@ var ImagePicker = /*#__PURE__*/memo(function (_ref) {
136
141
  file: file,
137
142
  isValid: !(errors !== null && errors !== void 0 && errors.length),
138
143
  onFileDelete: handleOnFileDelete
139
- })), isDragOver && /*#__PURE__*/React.createElement(ImagePickerDragOverPlaceholder, null))) : (/*#__PURE__*/React.createElement("div", null, "".concat(t('No preview')))) : (/*#__PURE__*/React.createElement(ImagePickerInput, {
140
- onDragLeave: onDragLeave,
141
- onDragOver: onDragOver,
144
+ })), isDragOver && /*#__PURE__*/React.createElement(ImagePickerDragOverPlaceholder, {
145
+ onDropFile: onDropFile
146
+ }))) : (/*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", null, "".concat(t('No preview'))), /*#__PURE__*/React.createElement(ImagePickerDeleteButton, {
147
+ onFileDelete: onFileDelete
148
+ }))) : (/*#__PURE__*/React.createElement(ImagePickerInput, {
142
149
  isDragOver: isDragOver,
143
150
  allowedExtensions: allowedExtensions,
144
151
  allowedExtensionsLabel: allowedExtensionsLabel,
@@ -152,13 +159,14 @@ var ImagePicker = /*#__PURE__*/memo(function (_ref) {
152
159
  type: "file",
153
160
  name: name,
154
161
  accept: acceptFiles
155
- })), errors && /*#__PURE__*/React.createElement(ErrorList, {
162
+ }))), errors && /*#__PURE__*/React.createElement(ErrorList, {
156
163
  errors: errors
157
164
  }));
158
- }, function (prev, curr) {
165
+ }), function (prev, curr) {
159
166
  var _prev$initialFile, _curr$initialFile, _prev$initialFile2, _curr$initialFile2;
160
167
  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;
161
168
  });
169
+ ImagePicker.displayName = 'ImagePicker';
162
170
 
163
171
  export { ImagePicker };
164
172
  //# sourceMappingURL=image_picker.js.map
@@ -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;"}
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;"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ export declare const ImagePickerDeleteButton: ({ onFileDelete }: {
3
+ onFileDelete: () => void;
4
+ }) => React.JSX.Element;
@@ -0,0 +1,28 @@
1
+ import React from 'react';
2
+ import { useTranslation } from '../../../../../external/react-i18next/dist/es/useTranslation.js';
3
+ import { slicedToArray as _slicedToArray } from '../../../../../_virtual/_rollupPluginBabelHelpers.js';
4
+ import { DeleteBinLineIcon } from '../../assets/icons/delete_bin_icon.js';
5
+
6
+ var ImagePickerDeleteButton = function ImagePickerDeleteButton(_ref) {
7
+ var onFileDelete = _ref.onFileDelete;
8
+ var _useTranslation = useTranslation(),
9
+ _useTranslation2 = _slicedToArray(_useTranslation, 1),
10
+ t = _useTranslation2[0];
11
+ return /*#__PURE__*/React.createElement("button", {
12
+ "data-test-id": "image-picker-remove-button",
13
+ onClick: function onClick(e) {
14
+ e.stopPropagation();
15
+ e.preventDefault();
16
+ onFileDelete();
17
+ },
18
+ className: "aurora-flex aurora-items-center aurora-gap-1 aurora-border aurora-border-danger aurora-rounded-full aurora-px-3 aurora-py-[6px]",
19
+ type: "button"
20
+ }, /*#__PURE__*/React.createElement(DeleteBinLineIcon, {
21
+ className: "aurora-w-4 aurora-h-4 aurora-fill-danger"
22
+ }), /*#__PURE__*/React.createElement("span", {
23
+ className: "aurora-text-xs aurora-text-danger aurora-font-semibold"
24
+ }, "".concat(t('Remove'))));
25
+ };
26
+
27
+ export { ImagePickerDeleteButton };
28
+ //# sourceMappingURL=image_picker_delete_button.js.map
@@ -0,0 +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;"}
@@ -27,16 +27,10 @@ export interface IImagePicker {
27
27
  }
28
28
  export interface IImagePickerInput {
29
29
  id: string;
30
- onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
31
- onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
32
- onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
33
30
  allowedExtensions: TImagePickerExtension[];
34
31
  isDragOver: boolean;
35
32
  }
36
33
  export interface IImagePickerPreviewContainer {
37
- onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
38
- onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
39
- onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
40
34
  children: ReactNode;
41
35
  classname: string;
42
36
  }
@@ -45,15 +39,14 @@ export declare type TImageSize = {
45
39
  height: number;
46
40
  };
47
41
  export interface IUseImagePicker {
48
- onDropFile: (event: React.DragEvent<HTMLLabelElement>) => void;
49
- onDragOver: (event: React.DragEvent<HTMLLabelElement>) => void;
50
- onDragLeave: (event: React.DragEvent<HTMLLabelElement>) => void;
42
+ onDropFile: (event: React.DragEvent<HTMLDivElement>) => void;
43
+ onDragOver: (event: React.DragEvent<HTMLDivElement>) => void;
44
+ onDragLeave: (event: React.DragEvent<HTMLDivElement>) => void;
51
45
  onFileChange: (event: ChangeEvent<HTMLInputElement>) => void;
52
46
  onFileDelete: () => void;
53
47
  onPreviewError: () => void;
54
48
  changeFile: (files: FileList) => void;
55
49
  file: TImagePickerFile | undefined;
56
- errors: string[];
57
50
  isPreview: boolean;
58
51
  isDragOver: boolean;
59
52
  }
@@ -62,6 +55,5 @@ export interface IUseImagePickerProps {
62
55
  initialFile?: TImagePickerFile;
63
56
  allowedExtensions?: TImagePickerExtension[];
64
57
  inputRef: React.RefObject<HTMLInputElement>;
65
- initialErrors?: TControlErrors;
66
58
  onError?: (errors: string[]) => void;
67
59
  }
@@ -1,2 +1,2 @@
1
1
  import { IUseImagePicker, IUseImagePickerProps } from './image_picker_types';
2
- export declare const useImagePicker: ({ onChange, initialFile, allowedExtensions, inputRef, initialErrors, onError }: IUseImagePickerProps) => IUseImagePicker;
2
+ export declare const useImagePicker: ({ onChange, initialFile, allowedExtensions, inputRef, onError }: IUseImagePickerProps) => IUseImagePicker;