@bigbinary/neeto-image-uploader-frontend 4.0.11 → 4.0.13

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 (110) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/AssetLibrary.js +10 -10
  3. package/dist/BasicImageUploader.js +4 -4
  4. package/dist/ImageForm.js +8 -8
  5. package/dist/ImageUploader.js +8 -8
  6. package/dist/cjs/AssetLibrary.js +10 -10
  7. package/dist/cjs/BasicImageUploader.js +4 -4
  8. package/dist/cjs/ImageForm.js +8 -8
  9. package/dist/cjs/ImageUploader.js +8 -8
  10. package/dist/cjs/hooks.js +5 -4
  11. package/dist/cjs/hooks.js.map +1 -1
  12. package/dist/cjs/index.js +9 -9
  13. package/dist/cjs/v2/AssetLibrary.js +9 -10
  14. package/dist/cjs/v2/AssetLibrary.js.map +1 -1
  15. package/dist/cjs/v2/BasicImageUploader.js +2 -4
  16. package/dist/cjs/v2/BasicImageUploader.js.map +1 -1
  17. package/dist/cjs/v2/ImageForm.js +8 -9
  18. package/dist/cjs/v2/ImageForm.js.map +1 -1
  19. package/dist/cjs/v2/ImageUploader.js +8 -9
  20. package/dist/cjs/v2/ImageUploader.js.map +1 -1
  21. package/dist/cjs/v2/hooks.js +20 -476
  22. package/dist/cjs/v2/hooks.js.map +1 -1
  23. package/dist/cjs/v2/index.js +9 -10
  24. package/dist/cjs/v2/index.js.map +1 -1
  25. package/dist/constants-BF4SgnWe.js +12 -0
  26. package/dist/constants-BF4SgnWe.js.map +1 -0
  27. package/dist/{constants-BVxeajuh.js → constants-BNGwgivX.js} +7 -3
  28. package/dist/constants-BNGwgivX.js.map +1 -0
  29. package/dist/{constants-BJsrtAQc.js → constants-DaSuAD1y.js} +7 -2
  30. package/dist/constants-DaSuAD1y.js.map +1 -0
  31. package/dist/constants-Dos-Y7GC.js +15 -0
  32. package/dist/constants-Dos-Y7GC.js.map +1 -0
  33. package/dist/hooks.js +5 -4
  34. package/dist/hooks.js.map +1 -1
  35. package/dist/{imagekit.esm-Bps9lPzh.js → imagekit.esm-Wbu4ABaW.js} +2 -12
  36. package/dist/imagekit.esm-Wbu4ABaW.js.map +1 -0
  37. package/dist/{imagekit.esm-BOkeWsyX.js → imagekit.esm-ZYrS-YIL.js} +1 -13
  38. package/dist/imagekit.esm-ZYrS-YIL.js.map +1 -0
  39. package/dist/{index-DfxvM32h.js → index-BP6z5Bmi.js} +9 -10
  40. package/dist/index-BP6z5Bmi.js.map +1 -0
  41. package/dist/{index-PE1rZoJJ.js → index-Btd2LbOZ.js} +10 -11
  42. package/dist/index-Btd2LbOZ.js.map +1 -0
  43. package/dist/{index-YZ7Lhfkg.js → index-ByiQIHFV.js} +10 -11
  44. package/dist/index-ByiQIHFV.js.map +1 -0
  45. package/dist/{index-7XBgPy09.js → index-DJjmk0Nc.js} +11 -12
  46. package/dist/index-DJjmk0Nc.js.map +1 -0
  47. package/dist/index.js +9 -9
  48. package/dist/{useImageUploader-CHyjhRSo.js → useImageUploader-BsSpqUky.js} +4 -3
  49. package/dist/useImageUploader-BsSpqUky.js.map +1 -0
  50. package/dist/{useImageUploader-sa1Apcxi.js → useImageUploader-J3bippyP.js} +6 -5
  51. package/dist/useImageUploader-J3bippyP.js.map +1 -0
  52. package/dist/useImageUploader-TOt_v6Rn.js +225 -0
  53. package/dist/useImageUploader-TOt_v6Rn.js.map +1 -0
  54. package/dist/useImageUploader-uFdwIcWA.js +223 -0
  55. package/dist/useImageUploader-uFdwIcWA.js.map +1 -0
  56. package/dist/useProfileImageUpload-BZb8Cttj.js +272 -0
  57. package/dist/useProfileImageUpload-BZb8Cttj.js.map +1 -0
  58. package/dist/{useProfileImageUpload-C7ealrbB.js → useProfileImageUpload-CeIh1MMh.js} +3 -3
  59. package/dist/{useProfileImageUpload-C7ealrbB.js.map → useProfileImageUpload-CeIh1MMh.js.map} +1 -1
  60. package/dist/{useProfileImageUpload-BM3MsePR.js → useProfileImageUpload-D5doE-yM.js} +3 -3
  61. package/dist/{useProfileImageUpload-BM3MsePR.js.map → useProfileImageUpload-D5doE-yM.js.map} +1 -1
  62. package/dist/useProfileImageUpload-YeoM7k6I.js +269 -0
  63. package/dist/useProfileImageUpload-YeoM7k6I.js.map +1 -0
  64. package/dist/{useUnsplashApi-okMiRC9G.js → useUnsplashApi-_-5cRT70.js} +3 -3
  65. package/dist/{useUnsplashApi-okMiRC9G.js.map → useUnsplashApi-_-5cRT70.js.map} +1 -1
  66. package/dist/{useUnsplashApi-2sRCzI6B.js → useUnsplashApi-qANYsRgw.js} +3 -3
  67. package/dist/{useUnsplashApi-2sRCzI6B.js.map → useUnsplashApi-qANYsRgw.js.map} +1 -1
  68. package/dist/{utils-B9Wu-jti.js → utils-BG5uqsQH.js} +118 -59
  69. package/dist/utils-BG5uqsQH.js.map +1 -0
  70. package/dist/{utils-kGoo6Gnk.js → utils-CBR0uhqY.js} +108 -49
  71. package/dist/utils-CBR0uhqY.js.map +1 -0
  72. package/dist/{utils-DbfNL99D.js → utils-DQSN1LLd.js} +2 -2
  73. package/dist/{utils-DbfNL99D.js.map → utils-DQSN1LLd.js.map} +1 -1
  74. package/dist/{utils-CDFlFfgu.js → utils-DQye8ufx.js} +116 -56
  75. package/dist/utils-DQye8ufx.js.map +1 -0
  76. package/dist/{utils-KinCgQeq.js → utils-Dshsishe.js} +2 -2
  77. package/dist/{utils-KinCgQeq.js.map → utils-Dshsishe.js.map} +1 -1
  78. package/dist/{utils-adgVs86v.js → utils-hFSeEG9S.js} +108 -48
  79. package/dist/utils-hFSeEG9S.js.map +1 -0
  80. package/dist/v2/AssetLibrary.js +9 -10
  81. package/dist/v2/AssetLibrary.js.map +1 -1
  82. package/dist/v2/BasicImageUploader.js +2 -4
  83. package/dist/v2/BasicImageUploader.js.map +1 -1
  84. package/dist/v2/ImageForm.js +8 -9
  85. package/dist/v2/ImageForm.js.map +1 -1
  86. package/dist/v2/ImageUploader.js +8 -9
  87. package/dist/v2/ImageUploader.js.map +1 -1
  88. package/dist/v2/hooks.js +17 -477
  89. package/dist/v2/hooks.js.map +1 -1
  90. package/dist/v2/index.js +9 -10
  91. package/dist/v2/index.js.map +1 -1
  92. package/package.json +22 -22
  93. package/dist/constants-BJsrtAQc.js.map +0 -1
  94. package/dist/constants-BVxeajuh.js.map +0 -1
  95. package/dist/imagekit.esm-BOkeWsyX.js.map +0 -1
  96. package/dist/imagekit.esm-Bps9lPzh.js.map +0 -1
  97. package/dist/index-7XBgPy09.js.map +0 -1
  98. package/dist/index-DfxvM32h.js.map +0 -1
  99. package/dist/index-PE1rZoJJ.js.map +0 -1
  100. package/dist/index-YZ7Lhfkg.js.map +0 -1
  101. package/dist/useImageUploader-CHyjhRSo.js.map +0 -1
  102. package/dist/useImageUploader-sa1Apcxi.js.map +0 -1
  103. package/dist/useUploadDropzone-CTwUeaY1.js +0 -57
  104. package/dist/useUploadDropzone-CTwUeaY1.js.map +0 -1
  105. package/dist/useUploadDropzone-I7mlv7Zx.js +0 -59
  106. package/dist/useUploadDropzone-I7mlv7Zx.js.map +0 -1
  107. package/dist/utils-B9Wu-jti.js.map +0 -1
  108. package/dist/utils-CDFlFfgu.js.map +0 -1
  109. package/dist/utils-adgVs86v.js.map +0 -1
  110. package/dist/utils-kGoo6Gnk.js.map +0 -1
@@ -1,15 +1,71 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { forwardRef, useImperativeHandle } from 'react';
3
- import { Progress, Typography, Button } from '@bigbinary/neeto-atoms';
2
+ import { useState, forwardRef, useImperativeHandle } from 'react';
3
+ import { Toastr, Progress, Typography, Button } from '@bigbinary/neeto-atoms';
4
4
  import classnames from 'classnames';
5
- import { isPresent, noop } from '@bigbinary/neeto-cist';
5
+ import { noop, isPresent } from '@bigbinary/neeto-cist';
6
6
  import { pipe, values, flatten, map, toUpper, join, equals, isNil, isEmpty } from 'ramda';
7
7
  import { Trans } from 'react-i18next';
8
- import { u as useUploadDropzone } from './useUploadDropzone-CTwUeaY1.js';
9
- import { globalProps } from '@bigbinary/neeto-commons-frontend/v2/initializers';
8
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
9
+ import { useDropzone } from 'react-dropzone';
10
10
  import i18next, { t } from 'i18next';
11
+ import { globalProps } from '@bigbinary/neeto-commons-frontend/v2/initializers';
11
12
  import { jsx, jsxs } from 'react/jsx-runtime';
12
- import { C as CLOUD_FLARE, a as IMAGE_UPLOADER_BASE_URL, I as IS_DEVELOPMENT_OR_HEROKU_ENV, b as ImageKit } from './imagekit.esm-Bps9lPzh.js';
13
+ import { C as CLOUD_FLARE, b as IMAGE_UPLOADER_BASE_URL, I as IS_DEVELOPMENT_OR_HEROKU_ENV, a as ImageKit } from './imagekit.esm-Wbu4ABaW.js';
14
+
15
+ var DROPZONE_ROOT_DIV_CLASSNAME = "border-primary hover:bg-muted rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-4 transition-all duration-300 ease-in-out relative";
16
+ var FILE_ERRORS = {
17
+ "file-invalid-type": t("neetoImageUploader.imageUpload.fileTypeError"),
18
+ "file-too-large": t("neetoImageUploader.imageUpload.fileSizeError"),
19
+ "file-dimension-too-large": t("neetoImageUploader.imageUpload.fileDimensionError"),
20
+ "file-resolution-too-large": t("neetoImageUploader.imageUpload.fileResolutionError")
21
+ };
22
+
23
+ var handleDropRejected = function handleDropRejected(fileRejections) {
24
+ fileRejections.map(function (_ref) {
25
+ var errors = _ref.errors;
26
+ return errors.map(function (_ref2) {
27
+ var code = _ref2.code;
28
+ return Toastr.error(FILE_ERRORS[code] || t("neetoImageUploader.imageUpload.genericError"));
29
+ });
30
+ });
31
+ };
32
+
33
+ var useUploadDropzone = function useUploadDropzone(_ref) {
34
+ var _ref$uploadConfig = _ref.uploadConfig,
35
+ uploadConfig = _ref$uploadConfig === void 0 ? {
36
+ allowedImageTypes: [],
37
+ maxImageSize: 0
38
+ } : _ref$uploadConfig,
39
+ _onDrop = _ref.onDrop,
40
+ _ref$setImage = _ref.setImage,
41
+ setImage = _ref$setImage === void 0 ? noop : _ref$setImage;
42
+ var _useState = useState(0),
43
+ _useState2 = _slicedToArray(_useState, 2),
44
+ uploadProgress = _useState2[0],
45
+ setUploadProgress = _useState2[1];
46
+ var _useDropzone = useDropzone({
47
+ onDrop: function onDrop(acceptedFiles) {
48
+ return _onDrop(acceptedFiles[0], setUploadProgress, setImage);
49
+ },
50
+ accept: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.allowedImageTypes,
51
+ multiple: false,
52
+ maxSize: uploadConfig.maxImageSize * 1048576,
53
+ onDropRejected: handleDropRejected,
54
+ noDragEventsBubbling: true
55
+ }),
56
+ getRootProps = _useDropzone.getRootProps,
57
+ getInputProps = _useDropzone.getInputProps,
58
+ isDragActive = _useDropzone.isDragActive,
59
+ open = _useDropzone.open;
60
+ return {
61
+ getRootProps: getRootProps,
62
+ getInputProps: getInputProps,
63
+ isDragActive: isDragActive,
64
+ open: open,
65
+ uploadProgress: uploadProgress,
66
+ setUploadProgress: setUploadProgress
67
+ };
68
+ };
13
69
 
14
70
  var DEFAULT_ALLOWED_IMAGE_TYPES = {
15
71
  "image/png": [".png"],
@@ -32,14 +88,6 @@ var getAllowedTypes = function getAllowedTypes(uploadConfig) {
32
88
  }), map(toUpper), join(", "))(uploadConfig.allowedImageTypes);
33
89
  };
34
90
 
35
- var DROPZONE_ROOT_DIV_CLASSNAME = "border-primary hover:bg-muted rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-4 transition-all duration-300 ease-in-out relative";
36
- ({
37
- "file-invalid-type": t("neetoImageUploader.imageUpload.fileTypeError"),
38
- "file-too-large": t("neetoImageUploader.imageUpload.fileSizeError"),
39
- "file-dimension-too-large": t("neetoImageUploader.imageUpload.fileDimensionError"),
40
- "file-resolution-too-large": t("neetoImageUploader.imageUpload.fileResolutionError")
41
- });
42
-
43
91
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
44
92
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
45
93
  var ImageDirectUpload = /*#__PURE__*/forwardRef(function (_ref, ref) {
@@ -179,6 +227,10 @@ var DEFAULT_CROP_CONFIG = {
179
227
  x: 0,
180
228
  y: 0
181
229
  };
230
+ var DEFAULT_ASPECT_RATIO = {
231
+ width: 16,
232
+ height: 9
233
+ };
182
234
  var INFINITE_SCROLLER_SIZES = [{
183
235
  columns: 2,
184
236
  gutter: 0
@@ -206,20 +258,30 @@ var getWholeNumberAspectRatio = function getWholeNumberAspectRatio(_ref) {
206
258
  width: 1,
207
259
  height: 1
208
260
  };
209
- var _gcd = function gcd(a, b) {
210
- return b === 0 ? a : _gcd(b, a % b);
261
+
262
+ // NaN or Infinity would make the gcd loop below never terminate.
263
+ if (!Number.isFinite(width) || !Number.isFinite(height)) {
264
+ return DEFAULT_ASPECT_RATIO;
265
+ }
266
+ var gcd = function gcd(a, b) {
267
+ while (b !== 0) {
268
+ var _ref2 = [b, a % b];
269
+ a = _ref2[0];
270
+ b = _ref2[1];
271
+ }
272
+ return a;
211
273
  };
212
274
 
213
275
  // Multiplying by 1000 is a temporary fix to prevent height and width with fractions (eg: 100.91).
214
- var divisor = _gcd(width * 1000, height * 1000);
276
+ var divisor = gcd(width * 1000, height * 1000);
215
277
  return {
216
278
  width: width / divisor,
217
279
  height: height / divisor
218
280
  };
219
281
  };
220
- var getCropValues = function getCropValues(_ref2) {
221
- var crop = _ref2.crop,
222
- imageRef = _ref2.imageRef;
282
+ var getCropValues = function getCropValues(_ref3) {
283
+ var crop = _ref3.crop,
284
+ imageRef = _ref3.imageRef;
223
285
  var naturalWidth = imageRef.current.naturalWidth;
224
286
  var naturalHeight = imageRef.current.naturalHeight;
225
287
  return {
@@ -229,10 +291,10 @@ var getCropValues = function getCropValues(_ref2) {
229
291
  height: crop.height / 100 * naturalHeight
230
292
  };
231
293
  };
232
- var getImageKitCroppedURL = function getImageKitCroppedURL(_ref3) {
233
- var imageURL = _ref3.imageURL,
234
- crop = _ref3.crop,
235
- imageRef = _ref3.imageRef;
294
+ var getImageKitCroppedURL = function getImageKitCroppedURL(_ref4) {
295
+ var imageURL = _ref4.imageURL,
296
+ crop = _ref4.crop,
297
+ imageRef = _ref4.imageRef;
236
298
  var imagekit = new ImageKit({
237
299
  urlEndpoint: globalProps.imagekit.urlEndpoint
238
300
  });
@@ -262,12 +324,12 @@ var isNilOrEmpty = function isNilOrEmpty(value) {
262
324
  var isNotNilOrEmpty = function isNotNilOrEmpty(value) {
263
325
  return !isNilOrEmpty(value);
264
326
  };
265
- var isItemsCenter = function isItemsCenter(_ref4) {
266
- var imageRef = _ref4.imageRef,
267
- wrapperRef = _ref4.wrapperRef;
268
- var _ref5 = imageRef.current || {},
269
- imageHeight = _ref5.height,
270
- imageWidth = _ref5.width;
327
+ var isItemsCenter = function isItemsCenter(_ref5) {
328
+ var imageRef = _ref5.imageRef,
329
+ wrapperRef = _ref5.wrapperRef;
330
+ var _ref6 = imageRef.current || {},
331
+ imageHeight = _ref6.height,
332
+ imageWidth = _ref6.width;
271
333
  var wrapperHeight = (wrapperRef.current || {}).clientHeight;
272
334
  if (imageHeight < imageWidth && imageHeight < wrapperHeight - 1) {
273
335
  // Landscape images smaller than wrapper dimensions
@@ -279,9 +341,9 @@ var isItemsCenter = function isItemsCenter(_ref4) {
279
341
  }
280
342
  return imageHeight > imageWidth && imageHeight < wrapperHeight - 1;
281
343
  };
282
- var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCroppedValues(_ref6) {
283
- var image = _ref6.image,
284
- crop = _ref6.crop;
344
+ var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCroppedValues(_ref7) {
345
+ var image = _ref7.image,
346
+ crop = _ref7.crop;
285
347
  var naturalWidth = image.metadata.width;
286
348
  var naturalHeight = image.metadata.height;
287
349
  var sourceX = crop.x / 100 * naturalWidth;
@@ -297,9 +359,9 @@ var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCro
297
359
  left: sourceX
298
360
  };
299
361
  };
300
- var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(_ref7) {
301
- var image = _ref7.image,
302
- crop = _ref7.crop;
362
+ var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(_ref8) {
363
+ var image = _ref8.image,
364
+ crop = _ref8.crop;
303
365
  var _calculateCloudFlareI = calculateCloudFlareImageCroppedValues({
304
366
  image: image,
305
367
  crop: crop
@@ -311,19 +373,16 @@ var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(_ref7) {
311
373
  var trimValues = "".concat(top, ";").concat(right, ";").concat(bottom, ";").concat(left);
312
374
  return image.url.replace("public", "trim=".concat(trimValues));
313
375
  };
314
- var getAspectRatio = function getAspectRatio(_ref8) {
315
- var fixedAspectRatio = _ref8.fixedAspectRatio,
316
- imageSize = _ref8.imageSize;
376
+ var getAspectRatio = function getAspectRatio(_ref9) {
377
+ var fixedAspectRatio = _ref9.fixedAspectRatio,
378
+ imageSize = _ref9.imageSize;
317
379
  if (isPresent(fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.width) && isPresent(fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.height)) {
318
380
  return fixedAspectRatio;
319
381
  }
320
382
  if (isPresent(imageSize === null || imageSize === void 0 ? void 0 : imageSize.width) && isPresent(imageSize === null || imageSize === void 0 ? void 0 : imageSize.height)) {
321
383
  return getWholeNumberAspectRatio(imageSize);
322
384
  }
323
- return {
324
- width: 16,
325
- height: 9
326
- };
385
+ return DEFAULT_ASPECT_RATIO;
327
386
  };
328
387
  var getPixels = function getPixels(percentage, pixel) {
329
388
  return Math.round(percentage / 100 * pixel);
@@ -331,10 +390,10 @@ var getPixels = function getPixels(percentage, pixel) {
331
390
  var getPercentage = function getPercentage(crop, full) {
332
391
  return crop / full * 100;
333
392
  };
334
- var getInitialCropSize = function getInitialCropSize(_ref9) {
335
- var image = _ref9.image,
336
- aspectRatioFactor = _ref9.aspectRatioFactor,
337
- maxCropWidth = _ref9.maxCropWidth;
393
+ var getInitialCropSize = function getInitialCropSize(_ref0) {
394
+ var image = _ref0.image,
395
+ aspectRatioFactor = _ref0.aspectRatioFactor,
396
+ maxCropWidth = _ref0.maxCropWidth;
338
397
  var imageWidth = image.naturalWidth,
339
398
  imageHeight = image.naturalHeight;
340
399
  var imageAspectRatio = imageWidth / imageHeight;
@@ -362,16 +421,16 @@ var getWidthFromAspectRatio = function getWidthFromAspectRatio(height, aspectRat
362
421
  return Math.round(height * aspectRatio.width / aspectRatio.height);
363
422
  };
364
423
  var getWrapperRefStyles = function getWrapperRefStyles(wrapperRef, imageRef) {
365
- var _ref10 = imageRef.current || {},
366
- _ref10$naturalHeight = _ref10.naturalHeight,
367
- naturalHeight = _ref10$naturalHeight === void 0 ? 100 : _ref10$naturalHeight,
368
- _ref10$naturalWidth = _ref10.naturalWidth,
369
- naturalWidth = _ref10$naturalWidth === void 0 ? 100 : _ref10$naturalWidth;
370
- var _ref11 = wrapperRef.current || {},
371
- _ref11$clientHeight = _ref11.clientHeight,
372
- clientHeight = _ref11$clientHeight === void 0 ? 100 : _ref11$clientHeight,
373
- _ref11$clientWidth = _ref11.clientWidth,
374
- clientWidth = _ref11$clientWidth === void 0 ? 100 : _ref11$clientWidth;
424
+ var _ref1 = imageRef.current || {},
425
+ _ref1$naturalHeight = _ref1.naturalHeight,
426
+ naturalHeight = _ref1$naturalHeight === void 0 ? 100 : _ref1$naturalHeight,
427
+ _ref1$naturalWidth = _ref1.naturalWidth,
428
+ naturalWidth = _ref1$naturalWidth === void 0 ? 100 : _ref1$naturalWidth;
429
+ var _ref10 = wrapperRef.current || {},
430
+ _ref10$clientHeight = _ref10.clientHeight,
431
+ clientHeight = _ref10$clientHeight === void 0 ? 100 : _ref10$clientHeight,
432
+ _ref10$clientWidth = _ref10.clientWidth,
433
+ clientWidth = _ref10$clientWidth === void 0 ? 100 : _ref10$clientWidth;
375
434
  if (naturalWidth <= clientWidth && naturalHeight <= clientHeight) {
376
435
  return {
377
436
  maxWidth: naturalWidth
@@ -401,5 +460,5 @@ var getWrapperRefStyles = function getWrapperRefStyles(wrapperRef, imageRef) {
401
460
  };
402
461
  };
403
462
 
404
- export { ASSETS_DESTROY_URL as A, DEFAULT_UPLOAD_CONFIG as D, IMAGE_WRAPPER_CLASSNAME as I, OPTION_KEYS as O, TABS as T, UNSPLASH_DEFAULT_NAME as U, ImageDirectUpload as a, isNilOrEmpty as b, DEFAULT_CROP_CONFIG as c, getPixels as d, getHeightFromAspectRatio as e, getWidthFromAspectRatio as f, getAspectRatio as g, getInitialCropSize as h, isNotNilOrEmpty as i, getPercentage as j, getWrapperRefStyles as k, isItemsCenter as l, getCloudFlareCroppedURL as m, getImageKitCroppedURL as n, getCropValues as o, INFINITE_SCROLLER_STYLE as p, INFINITE_SCROLLER_SIZES as q, IMAGES_PER_PAGE as r, ASSETS_FETCH_URL as s, UNSPLASH_DEFAULT_REQUEST_CONFIG as t, UNSPLASH_URL as u };
405
- //# sourceMappingURL=utils-B9Wu-jti.js.map
463
+ export { ASSETS_DESTROY_URL as A, DEFAULT_UPLOAD_CONFIG as D, IMAGE_WRAPPER_CLASSNAME as I, OPTION_KEYS as O, TABS as T, UNSPLASH_DEFAULT_NAME as U, ImageDirectUpload as a, isNilOrEmpty as b, DEFAULT_CROP_CONFIG as c, getPixels as d, getHeightFromAspectRatio as e, getWidthFromAspectRatio as f, getAspectRatio as g, getInitialCropSize as h, isNotNilOrEmpty as i, getPercentage as j, getWrapperRefStyles as k, isItemsCenter as l, getCloudFlareCroppedURL as m, getImageKitCroppedURL as n, getCropValues as o, INFINITE_SCROLLER_STYLE as p, INFINITE_SCROLLER_SIZES as q, IMAGES_PER_PAGE as r, ASSETS_FETCH_URL as s, UNSPLASH_DEFAULT_REQUEST_CONFIG as t, useUploadDropzone as u, UNSPLASH_URL as v };
464
+ //# sourceMappingURL=utils-BG5uqsQH.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-BG5uqsQH.js","sources":["../app/javascript/src/v2/components/common/constants.js","../app/javascript/src/v2/components/common/utils.js","../app/javascript/src/v2/hooks/useUploadDropzone.js","../app/javascript/src/v2/components/ImageUploader/constants.js","../app/javascript/src/v2/components/ImageUploader/utils.js","../app/javascript/src/v2/components/common/ImageDirectUpload.jsx","../app/javascript/src/v2/components/constants.js","../app/javascript/src/v2/components/ImageEditor/utils.js"],"sourcesContent":["import { t } from \"i18next\";\n\nexport const DROPZONE_ROOT_DIV_CLASSNAME =\n \"border-primary hover:bg-muted rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-4 transition-all duration-300 ease-in-out relative\";\n\nexport const FILE_ERRORS = {\n \"file-invalid-type\": t(\"neetoImageUploader.imageUpload.fileTypeError\"),\n \"file-too-large\": t(\"neetoImageUploader.imageUpload.fileSizeError\"),\n \"file-dimension-too-large\": t(\n \"neetoImageUploader.imageUpload.fileDimensionError\"\n ),\n \"file-resolution-too-large\": t(\n \"neetoImageUploader.imageUpload.fileResolutionError\"\n ),\n};\n","import { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\n\nimport { FILE_ERRORS } from \"./constants\";\n\nexport const handleDropRejected = fileRejections => {\n fileRejections.map(({ errors }) =>\n errors.map(({ code }) =>\n Toastr.error(\n FILE_ERRORS[code] || t(\"neetoImageUploader.imageUpload.genericError\")\n )\n )\n );\n};\n","import { useState } from \"react\";\n\nimport { noop } from \"neetocist\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { handleDropRejected } from \"v2/components/common/utils\";\n\nconst useUploadDropzone = ({\n uploadConfig = { allowedImageTypes: [], maxImageSize: 0 },\n onDrop,\n setImage = noop,\n}) => {\n const [uploadProgress, setUploadProgress] = useState(0);\n\n const { getRootProps, getInputProps, isDragActive, open } = useDropzone({\n onDrop: acceptedFiles =>\n onDrop(acceptedFiles[0], setUploadProgress, setImage),\n accept: uploadConfig?.allowedImageTypes,\n multiple: false,\n maxSize: uploadConfig.maxImageSize * 1_048_576,\n onDropRejected: handleDropRejected,\n noDragEventsBubbling: true,\n });\n\n return {\n getRootProps,\n getInputProps,\n isDragActive,\n open,\n uploadProgress,\n setUploadProgress,\n };\n};\n\nexport default useUploadDropzone;\n","import { globalProps } from \"neetocommons/v2/initializers\";\n\nexport const DEFAULT_ALLOWED_IMAGE_TYPES = {\n \"image/png\": [\".png\"],\n \"image/jpg\": [\".jpg\", \".jpeg\"],\n \"image/gif\": [\".gif\"],\n \"image/svg+xml\": [\".svg\"],\n};\n\nexport const DEFAULT_UPLOAD_CONFIG = {\n maxImageSize: globalProps.endUserUploadedFileSizeLimitInMb,\n allowedImageTypes: DEFAULT_ALLOWED_IMAGE_TYPES,\n};\n\nexport const OPTION_KEYS = { asset: \"asset\", remove: \"remove\" };\n","import { flatten, pipe, join, map, toUpper, values } from \"ramda\";\n\nexport const getAllowedTypes = uploadConfig =>\n pipe(\n values,\n flatten,\n map(extension => extension.slice(1)),\n map(toUpper),\n join(\", \")\n )(uploadConfig.allowedImageTypes);\n","import { forwardRef, useImperativeHandle } from \"react\";\n\nimport { Button, Progress, Typography } from \"@bigbinary/neeto-atoms\";\nimport classnames from \"classnames\";\nimport { noop, isPresent } from \"neetocist\";\nimport { equals } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport useUploadDropzone from \"v2/hooks/useUploadDropzone\";\nimport { DEFAULT_UPLOAD_CONFIG } from \"v2/components/ImageUploader/constants\";\nimport { getAllowedTypes } from \"v2/components/ImageUploader/utils\";\n\nimport { DROPZONE_ROOT_DIV_CLASSNAME } from \"./constants\";\n\nconst ImageDirectUpload = forwardRef(\n (\n {\n uploadConfig = DEFAULT_UPLOAD_CONFIG,\n onDrop = noop,\n isDisabled = false,\n setIsAssetLibraryOpen,\n defaultImageSize = {},\n isUploadDisabled = false,\n setImage,\n },\n ref\n ) => {\n const {\n getRootProps,\n getInputProps,\n isDragActive,\n open,\n uploadProgress,\n setUploadProgress,\n } = useUploadDropzone({ uploadConfig, onDrop, setImage });\n\n useImperativeHandle(ref, () => ({\n upload: file => onDrop(file, setUploadProgress, setImage),\n }));\n\n const shouldShowProgress = !!(uploadProgress && !equals(uploadProgress, 1));\n\n return (\n <div\n {...getRootProps()}\n className={classnames(DROPZONE_ROOT_DIV_CLASSNAME, {\n \"border-border\": !isDragActive,\n \"border-foreground\": isDragActive,\n })}\n >\n {shouldShowProgress ? (\n <Progress\n progressValue={`${uploadProgress}%`}\n value={uploadProgress}\n />\n ) : (\n <div className=\"flex flex-col space-y-1\">\n {!isDisabled && (\n <Typography\n className=\"text-center leading-4\"\n color=\"default\"\n variant=\"body2\"\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.dragAndDropOrBrowseFile\"\n components={{\n span: (\n <Button\n data-testid=\"neeto-image-uploader-browse-text\"\n variant=\"link\"\n onClick={event => {\n event.stopPropagation();\n open();\n }}\n />\n ),\n }}\n />\n </Typography>\n )}\n {setIsAssetLibraryOpen && (\n <Typography\n variant=\"body2\"\n className={classnames(\"text-center leading-4\", {\n \"pointer-events-none\": isUploadDisabled,\n })}\n onClick={e => {\n e.stopPropagation();\n setIsAssetLibraryOpen(true);\n }}\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.upload\"\n components={{\n span: (\n <Button\n data-testid=\"open-asset-library-button\"\n variant=\"link\"\n />\n ),\n }}\n />\n </Typography>\n )}\n <input\n {...getInputProps()}\n data-testid=\"neeto-image-uploader-file-input\"\n disabled={isDisabled || isUploadDisabled}\n />\n <Typography\n className=\"text-center leading-4\"\n color=\"muted\"\n data-testid=\"neeto-image-uploader-restriction-message\"\n variant=\"nano\"\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.restrictionMessage\"\n values={{\n fileTypes: getAllowedTypes(uploadConfig),\n size: uploadConfig?.maxImageSize,\n }}\n />\n </Typography>\n {isPresent(defaultImageSize) && (\n <Typography\n className=\"text-center leading-4\"\n color=\"muted\"\n data-testid=\"neeto-image-uploader-ideal-image-size-info-text\"\n variant=\"nano\"\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.idealImageSizeInfo\"\n values={{ ...defaultImageSize }}\n />\n </Typography>\n )}\n </div>\n )}\n </div>\n );\n }\n);\n\nImageDirectUpload.displayName = \"ImageDirectUpload\";\n\nexport default ImageDirectUpload;\n","import i18next from \"i18next\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\n\nimport {\n IMAGE_UPLOADER_BASE_URL,\n CLOUD_FLARE,\n IS_DEVELOPMENT_OR_HEROKU_ENV,\n} from \"src/constants\";\n\nexport const UNSPLASH_DEFAULT_NAME = \"Unsplash-asset\";\n\nexport const UNSPLASH_URL = \"https://unsplash.com/\";\n\nexport const IMAGES_PER_PAGE = 30;\n\nexport const UNSPLASH_DEFAULT_REQUEST_CONFIG = {\n headers: {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Methods\": \"GET\",\n },\n responseType: \"blob\",\n};\n\nexport const TABS = [\n {\n label: i18next.t(\"neetoImageUploader.labels.uploadImage\"),\n key: \"upload\",\n dataTestid: \"neeto-image-uploader-upload-image-tab\",\n },\n {\n label: i18next.t(\"neetoImageUploader.labels.myImages\"),\n key: \"images\",\n dataTestid: \"neeto-image-uploader-my-images-tab\",\n },\n {\n label: i18next.t(\"neetoImageUploader.labels.searchTheWeb\"),\n key: \"unsplash\",\n dataTestid: \"neeto-image-uploader-unsplash-tab\",\n },\n];\n\nexport const DEFAULT_CROP_CONFIG = {\n unit: \"%\",\n height: 100,\n width: 100,\n x: 0,\n y: 0,\n};\n\nexport const DEFAULT_ASPECT_RATIO = { width: 16, height: 9 };\n\nexport const URL_REGEXP =\n /[(http(s)?)://(www.)?a-zA-Z0-9@:%._+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/;\n\nexport const INFINITE_SCROLLER_SIZES = [\n { columns: 2, gutter: 0 },\n { mq: \"768px\", columns: 4, gutter: 0 },\n { mq: \"1024px\", columns: 4, gutter: 0 },\n];\n\nexport const INFINITE_SCROLLER_STYLE = { width: \"100%\" };\n\nexport const ALLOWED_IMAGE_TYPES = {\n \"image/*\": [\".png\", \".jpg\", \".jpeg\", \".svg\", \".gif\"],\n};\n\nexport const IMAGE_UPLOAD_SERVICE_URL =\n globalProps.assetsUploaderService === CLOUD_FLARE\n ? `${IMAGE_UPLOADER_BASE_URL}/cloudflare_images`\n : `${IMAGE_UPLOADER_BASE_URL}/imagekit/fetch`;\n\nexport const ASSETS_FETCH_URL = IS_DEVELOPMENT_OR_HEROKU_ENV\n ? `${IMAGE_UPLOADER_BASE_URL}/development/fetch`\n : IMAGE_UPLOAD_SERVICE_URL;\n\nexport const ASSETS_DESTROY_URL = IS_DEVELOPMENT_OR_HEROKU_ENV\n ? `${IMAGE_UPLOADER_BASE_URL}/development/bulk_destroy`\n : `${IMAGE_UPLOADER_BASE_URL}/imagekit/bulk_destroy`;\n\nexport const IMAGE_WRAPPER_CLASSNAME =\n \"border-border bg-muted hover:bg-muted/80 rounded-lg relative flex h-full w-full flex-col items-center justify-center gap-5 border border-dashed p-2 transition-all duration-300 ease-in-out\";\n","import ImageKit from \"imagekit-javascript\";\nimport { isPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/v2/initializers\";\nimport { isEmpty, isNil } from \"ramda\";\n\nimport { DEFAULT_ASPECT_RATIO } from \"v2/components/constants\";\n\nconst getWholeNumberAspectRatio = ({ width, height }) => {\n if (width === height) return { width: 1, height: 1 };\n\n // NaN or Infinity would make the gcd loop below never terminate.\n if (!Number.isFinite(width) || !Number.isFinite(height)) {\n return DEFAULT_ASPECT_RATIO;\n }\n\n const gcd = (a, b) => {\n while (b !== 0) [a, b] = [b, a % b];\n\n return a;\n };\n\n // Multiplying by 1000 is a temporary fix to prevent height and width with fractions (eg: 100.91).\n const divisor = gcd(width * 1000, height * 1000);\n\n return { width: width / divisor, height: height / divisor };\n};\n\nexport const getCropValues = ({ crop, imageRef }) => {\n const naturalWidth = imageRef.current.naturalWidth;\n const naturalHeight = imageRef.current.naturalHeight;\n\n return {\n x: (crop.x / 100) * naturalWidth,\n y: (crop.y / 100) * naturalHeight,\n width: (crop.width / 100) * naturalWidth,\n height: (crop.height / 100) * naturalHeight,\n };\n};\n\nexport const getImageKitCroppedURL = ({ imageURL, crop, imageRef }) => {\n const imagekit = new ImageKit({\n urlEndpoint: globalProps.imagekit.urlEndpoint,\n });\n const { x, y, height, width } = getCropValues({ crop, imageRef });\n\n const transformation = [{ cropMode: \"extract\", x, y, height, width }];\n\n return imagekit.url({ src: imageURL, transformation });\n};\n\nexport const isNilOrEmpty = value => isNil(value) || isEmpty(value);\nexport const isNotNilOrEmpty = value => !isNilOrEmpty(value);\n\nexport const isItemsCenter = ({ imageRef, wrapperRef }) => {\n const { height: imageHeight, width: imageWidth } = imageRef.current || {};\n const wrapperHeight = (wrapperRef.current || {}).clientHeight;\n\n if (imageHeight < imageWidth && imageHeight < wrapperHeight - 1) {\n // Landscape images smaller than wrapper dimensions\n return true;\n }\n\n if (imageHeight === imageWidth && imageHeight < wrapperHeight - 1) {\n // Square images smaller than wrapper dimensions\n return true;\n }\n\n return imageHeight > imageWidth && imageHeight < wrapperHeight - 1;\n};\n\nexport const calculateCloudFlareImageCroppedValues = ({ image, crop }) => {\n const naturalWidth = image.metadata.width;\n const naturalHeight = image.metadata.height;\n\n const sourceX = (crop.x / 100) * naturalWidth;\n const sourceY = (crop.y / 100) * naturalHeight;\n const sourceWidth = (crop.width / 100) * naturalWidth;\n const sourceHeight = (crop.height / 100) * naturalHeight;\n\n const distanceFromRight = Math.abs(naturalWidth - (sourceX + sourceWidth));\n const distanceFromBottom = Math.abs(naturalHeight - (sourceY + sourceHeight));\n\n return {\n top: sourceY,\n right: distanceFromRight,\n bottom: distanceFromBottom,\n left: sourceX,\n };\n};\n\nexport const getCloudFlareCroppedURL = ({ image, crop }) => {\n const { top, right, bottom, left } = calculateCloudFlareImageCroppedValues({\n image,\n crop,\n });\n const trimValues = `${top};${right};${bottom};${left}`;\n\n return image.url.replace(\"public\", `trim=${trimValues}`);\n};\n\nexport const getAspectRatio = ({ fixedAspectRatio, imageSize }) => {\n if (\n isPresent(fixedAspectRatio?.width) &&\n isPresent(fixedAspectRatio?.height)\n ) {\n return fixedAspectRatio;\n }\n\n if (isPresent(imageSize?.width) && isPresent(imageSize?.height)) {\n return getWholeNumberAspectRatio(imageSize);\n }\n\n return DEFAULT_ASPECT_RATIO;\n};\n\nexport const getPixels = (percentage, pixel) =>\n Math.round((percentage / 100) * pixel);\n\nexport const getPercentage = (crop, full) => (crop / full) * 100;\n\nexport const getInitialCropSize = ({\n image,\n aspectRatioFactor,\n maxCropWidth,\n}) => {\n const { naturalWidth: imageWidth, naturalHeight: imageHeight } = image;\n const imageAspectRatio = imageWidth / imageHeight;\n const maxCropHeight = maxCropWidth / aspectRatioFactor;\n\n let cropWidth, cropHeight;\n\n if (imageAspectRatio > aspectRatioFactor) {\n cropWidth = Math.min(maxCropWidth, imageWidth);\n cropHeight = cropWidth / aspectRatioFactor;\n } else if (imageHeight < maxCropHeight) {\n cropWidth = imageWidth;\n cropHeight = imageHeight;\n } else {\n cropHeight = Math.min(maxCropHeight, imageHeight);\n cropWidth = cropHeight * aspectRatioFactor;\n }\n\n return { cropWidth, cropHeight };\n};\n\nexport const getHeightFromAspectRatio = (width, aspectRatio) =>\n Math.round((width * aspectRatio.height) / aspectRatio.width);\n\nexport const getWidthFromAspectRatio = (height, aspectRatio) =>\n Math.round((height * aspectRatio.width) / aspectRatio.height);\n\nexport const getWrapperRefStyles = (wrapperRef, imageRef) => {\n const { naturalHeight = 100, naturalWidth = 100 } = imageRef.current || {};\n const { clientHeight = 100, clientWidth = 100 } = wrapperRef.current || {};\n\n if (naturalWidth <= clientWidth && naturalHeight <= clientHeight) {\n return { maxWidth: naturalWidth };\n } else if (naturalWidth > clientWidth && naturalHeight <= clientHeight) {\n return { maxWidth: clientWidth };\n } else if (naturalWidth <= clientWidth && naturalHeight > clientHeight) {\n const maxWidth = (naturalWidth / naturalHeight) * clientHeight;\n\n return { maxWidth };\n }\n\n // landscape\n if (naturalWidth > naturalHeight) {\n return { maxWidth: clientWidth };\n }\n\n // portrait\n const maxWidth = (naturalWidth / naturalHeight) * clientHeight;\n\n return { maxWidth };\n};\n"],"names":["DROPZONE_ROOT_DIV_CLASSNAME","FILE_ERRORS","t","handleDropRejected","fileRejections","map","_ref","errors","_ref2","code","Toastr","error","useUploadDropzone","_ref$uploadConfig","uploadConfig","allowedImageTypes","maxImageSize","onDrop","_ref$setImage","setImage","noop","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useDropzone","useDropzone","acceptedFiles","accept","multiple","maxSize","onDropRejected","noDragEventsBubbling","getRootProps","getInputProps","isDragActive","open","DEFAULT_ALLOWED_IMAGE_TYPES","DEFAULT_UPLOAD_CONFIG","globalProps","endUserUploadedFileSizeLimitInMb","OPTION_KEYS","asset","remove","getAllowedTypes","pipe","values","flatten","extension","slice","toUpper","join","ImageDirectUpload","forwardRef","ref","_ref$onDrop","_ref$isDisabled","isDisabled","setIsAssetLibraryOpen","_ref$defaultImageSize","defaultImageSize","_ref$isUploadDisabled","isUploadDisabled","_useUploadDropzone","useImperativeHandle","upload","file","shouldShowProgress","equals","_jsx","_objectSpread","className","classnames","children","Progress","progressValue","concat","value","_jsxs","Typography","color","variant","Trans","i18nKey","components","span","Button","onClick","event","stopPropagation","e","disabled","fileTypes","size","isPresent","displayName","UNSPLASH_DEFAULT_NAME","UNSPLASH_URL","IMAGES_PER_PAGE","UNSPLASH_DEFAULT_REQUEST_CONFIG","headers","responseType","TABS","label","i18next","key","dataTestid","DEFAULT_CROP_CONFIG","unit","height","width","x","y","DEFAULT_ASPECT_RATIO","INFINITE_SCROLLER_SIZES","columns","gutter","mq","INFINITE_SCROLLER_STYLE","IMAGE_UPLOAD_SERVICE_URL","assetsUploaderService","CLOUD_FLARE","IMAGE_UPLOADER_BASE_URL","ASSETS_FETCH_URL","IS_DEVELOPMENT_OR_HEROKU_ENV","ASSETS_DESTROY_URL","IMAGE_WRAPPER_CLASSNAME","getWholeNumberAspectRatio","Number","isFinite","gcd","a","b","divisor","getCropValues","_ref3","crop","imageRef","naturalWidth","current","naturalHeight","getImageKitCroppedURL","_ref4","imageURL","imagekit","ImageKit","urlEndpoint","_getCropValues","transformation","cropMode","url","src","isNilOrEmpty","isNil","isEmpty","isNotNilOrEmpty","isItemsCenter","_ref5","wrapperRef","_ref6","imageHeight","imageWidth","wrapperHeight","clientHeight","calculateCloudFlareImageCroppedValues","_ref7","image","metadata","sourceX","sourceY","sourceWidth","sourceHeight","distanceFromRight","Math","abs","distanceFromBottom","top","right","bottom","left","getCloudFlareCroppedURL","_ref8","_calculateCloudFlareI","trimValues","replace","getAspectRatio","_ref9","fixedAspectRatio","imageSize","getPixels","percentage","pixel","round","getPercentage","full","getInitialCropSize","_ref0","aspectRatioFactor","maxCropWidth","imageAspectRatio","maxCropHeight","cropWidth","cropHeight","min","getHeightFromAspectRatio","aspectRatio","getWidthFromAspectRatio","getWrapperRefStyles","_ref1","_ref1$naturalHeight","_ref1$naturalWidth","_ref10","_ref10$clientHeight","_ref10$clientWidth","clientWidth","maxWidth"],"mappings":"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"}
@@ -1,16 +1,21 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
- import { forwardRef, useImperativeHandle } from 'react';
2
+ import { useState, forwardRef, useImperativeHandle } from 'react';
3
3
  import classnames from 'classnames';
4
- import { isPresent, noop } from '@bigbinary/neeto-cist';
4
+ import { noop, isPresent } from '@bigbinary/neeto-cist';
5
5
  import Button from '@bigbinary/neetoui/Button';
6
6
  import Typography from '@bigbinary/neetoui/Typography';
7
7
  import ProgressBar from '@bigbinary/neetoui/ProgressBar';
8
8
  import { pipe, values, flatten, map, toUpper, join, equals, isNil, isEmpty } from 'ramda';
9
9
  import { Trans } from 'react-i18next';
10
10
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
11
- import { u as useUploadDropzone } from './useUploadDropzone-CTwUeaY1.js';
12
- import { D as DROPZONE_ROOT_DIV_CLASSNAME, b as ImageKit } from './imagekit.esm-Bps9lPzh.js';
11
+ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
12
+ import { useDropzone } from 'react-dropzone';
13
+ import { t } from 'i18next';
14
+ import Toastr from '@bigbinary/neetoui/Toastr';
15
+ import { F as FILE_ERRORS, D as DROPZONE_ROOT_DIV_CLASSNAME } from './constants-BF4SgnWe.js';
13
16
  import { jsx, jsxs } from 'react/jsx-runtime';
17
+ import { a as ImageKit } from './imagekit.esm-Wbu4ABaW.js';
18
+ import { D as DEFAULT_ASPECT_RATIO } from './constants-BNGwgivX.js';
14
19
 
15
20
  var DEFAULT_ALLOWED_IMAGE_TYPES = {
16
21
  "image/png": [".png"],
@@ -33,6 +38,53 @@ var getAllowedTypes = function getAllowedTypes(uploadConfig) {
33
38
  }), map(toUpper), join(", "))(uploadConfig.allowedImageTypes);
34
39
  };
35
40
 
41
+ var handleDropRejected = function handleDropRejected(fileRejections) {
42
+ fileRejections.map(function (_ref) {
43
+ var errors = _ref.errors;
44
+ return errors.map(function (_ref2) {
45
+ var code = _ref2.code;
46
+ return Toastr.error(FILE_ERRORS[code] || t("neetoImageUploader.imageUpload.genericError"));
47
+ });
48
+ });
49
+ };
50
+
51
+ var useUploadDropzone = function useUploadDropzone(_ref) {
52
+ var _ref$uploadConfig = _ref.uploadConfig,
53
+ uploadConfig = _ref$uploadConfig === void 0 ? {
54
+ allowedImageTypes: [],
55
+ maxImageSize: 0
56
+ } : _ref$uploadConfig,
57
+ _onDrop = _ref.onDrop,
58
+ _ref$setImage = _ref.setImage,
59
+ setImage = _ref$setImage === void 0 ? noop : _ref$setImage;
60
+ var _useState = useState(0),
61
+ _useState2 = _slicedToArray(_useState, 2),
62
+ uploadProgress = _useState2[0],
63
+ setUploadProgress = _useState2[1];
64
+ var _useDropzone = useDropzone({
65
+ onDrop: function onDrop(acceptedFiles) {
66
+ return _onDrop(acceptedFiles[0], setUploadProgress, setImage);
67
+ },
68
+ accept: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.allowedImageTypes,
69
+ multiple: false,
70
+ maxSize: uploadConfig.maxImageSize * 1048576,
71
+ onDropRejected: handleDropRejected,
72
+ noDragEventsBubbling: true
73
+ }),
74
+ getRootProps = _useDropzone.getRootProps,
75
+ getInputProps = _useDropzone.getInputProps,
76
+ isDragActive = _useDropzone.isDragActive,
77
+ open = _useDropzone.open;
78
+ return {
79
+ getRootProps: getRootProps,
80
+ getInputProps: getInputProps,
81
+ isDragActive: isDragActive,
82
+ open: open,
83
+ uploadProgress: uploadProgress,
84
+ setUploadProgress: setUploadProgress
85
+ };
86
+ };
87
+
36
88
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
37
89
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), true).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
38
90
  var ImageDirectUpload = /*#__PURE__*/forwardRef(function (_ref, ref) {
@@ -148,20 +200,30 @@ var getWholeNumberAspectRatio = function getWholeNumberAspectRatio(_ref) {
148
200
  width: 1,
149
201
  height: 1
150
202
  };
151
- var _gcd = function gcd(a, b) {
152
- return b === 0 ? a : _gcd(b, a % b);
203
+
204
+ // NaN or Infinity would make the gcd loop below never terminate.
205
+ if (!Number.isFinite(width) || !Number.isFinite(height)) {
206
+ return DEFAULT_ASPECT_RATIO;
207
+ }
208
+ var gcd = function gcd(a, b) {
209
+ while (b !== 0) {
210
+ var _ref2 = [b, a % b];
211
+ a = _ref2[0];
212
+ b = _ref2[1];
213
+ }
214
+ return a;
153
215
  };
154
216
 
155
217
  // Multiplying by 1000 is a temporary fix to prevent height and width with fractions (eg: 100.91).
156
- var divisor = _gcd(width * 1000, height * 1000);
218
+ var divisor = gcd(width * 1000, height * 1000);
157
219
  return {
158
220
  width: width / divisor,
159
221
  height: height / divisor
160
222
  };
161
223
  };
162
- var getCropValues = function getCropValues(_ref2) {
163
- var crop = _ref2.crop,
164
- imageRef = _ref2.imageRef;
224
+ var getCropValues = function getCropValues(_ref3) {
225
+ var crop = _ref3.crop,
226
+ imageRef = _ref3.imageRef;
165
227
  var naturalWidth = imageRef.current.naturalWidth;
166
228
  var naturalHeight = imageRef.current.naturalHeight;
167
229
  return {
@@ -171,10 +233,10 @@ var getCropValues = function getCropValues(_ref2) {
171
233
  height: crop.height / 100 * naturalHeight
172
234
  };
173
235
  };
174
- var getImageKitCroppedURL = function getImageKitCroppedURL(_ref3) {
175
- var imageURL = _ref3.imageURL,
176
- crop = _ref3.crop,
177
- imageRef = _ref3.imageRef;
236
+ var getImageKitCroppedURL = function getImageKitCroppedURL(_ref4) {
237
+ var imageURL = _ref4.imageURL,
238
+ crop = _ref4.crop,
239
+ imageRef = _ref4.imageRef;
178
240
  var imagekit = new ImageKit({
179
241
  urlEndpoint: globalProps.imagekit.urlEndpoint
180
242
  });
@@ -204,12 +266,12 @@ var isNilOrEmpty = function isNilOrEmpty(value) {
204
266
  var isNotNilOrEmpty = function isNotNilOrEmpty(value) {
205
267
  return !isNilOrEmpty(value);
206
268
  };
207
- var isItemsCenter = function isItemsCenter(_ref4) {
208
- var imageRef = _ref4.imageRef,
209
- wrapperRef = _ref4.wrapperRef;
210
- var _ref5 = imageRef.current || {},
211
- imageHeight = _ref5.height,
212
- imageWidth = _ref5.width;
269
+ var isItemsCenter = function isItemsCenter(_ref5) {
270
+ var imageRef = _ref5.imageRef,
271
+ wrapperRef = _ref5.wrapperRef;
272
+ var _ref6 = imageRef.current || {},
273
+ imageHeight = _ref6.height,
274
+ imageWidth = _ref6.width;
213
275
  var wrapperHeight = (wrapperRef.current || {}).clientHeight;
214
276
  if (imageHeight < imageWidth && imageHeight < wrapperHeight - 1) {
215
277
  // Landscape images smaller than wrapper dimensions
@@ -221,9 +283,9 @@ var isItemsCenter = function isItemsCenter(_ref4) {
221
283
  }
222
284
  return imageHeight > imageWidth && imageHeight < wrapperHeight - 1;
223
285
  };
224
- var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCroppedValues(_ref6) {
225
- var image = _ref6.image,
226
- crop = _ref6.crop;
286
+ var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCroppedValues(_ref7) {
287
+ var image = _ref7.image,
288
+ crop = _ref7.crop;
227
289
  var naturalWidth = image.metadata.width;
228
290
  var naturalHeight = image.metadata.height;
229
291
  var sourceX = crop.x / 100 * naturalWidth;
@@ -239,9 +301,9 @@ var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCro
239
301
  left: sourceX
240
302
  };
241
303
  };
242
- var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(_ref7) {
243
- var image = _ref7.image,
244
- crop = _ref7.crop;
304
+ var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(_ref8) {
305
+ var image = _ref8.image,
306
+ crop = _ref8.crop;
245
307
  var _calculateCloudFlareI = calculateCloudFlareImageCroppedValues({
246
308
  image: image,
247
309
  crop: crop
@@ -253,19 +315,16 @@ var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(_ref7) {
253
315
  var trimValues = "".concat(top, ";").concat(right, ";").concat(bottom, ";").concat(left);
254
316
  return image.url.replace("public", "trim=".concat(trimValues));
255
317
  };
256
- var getAspectRatio = function getAspectRatio(_ref8) {
257
- var fixedAspectRatio = _ref8.fixedAspectRatio,
258
- imageSize = _ref8.imageSize;
318
+ var getAspectRatio = function getAspectRatio(_ref9) {
319
+ var fixedAspectRatio = _ref9.fixedAspectRatio,
320
+ imageSize = _ref9.imageSize;
259
321
  if (isPresent(fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.width) && isPresent(fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.height)) {
260
322
  return fixedAspectRatio;
261
323
  }
262
324
  if (isPresent(imageSize === null || imageSize === void 0 ? void 0 : imageSize.width) && isPresent(imageSize === null || imageSize === void 0 ? void 0 : imageSize.height)) {
263
325
  return getWholeNumberAspectRatio(imageSize);
264
326
  }
265
- return {
266
- width: 16,
267
- height: 9
268
- };
327
+ return DEFAULT_ASPECT_RATIO;
269
328
  };
270
329
  var getPixels = function getPixels(percentage, pixel) {
271
330
  return Math.round(percentage / 100 * pixel);
@@ -273,10 +332,10 @@ var getPixels = function getPixels(percentage, pixel) {
273
332
  var getPercentage = function getPercentage(crop, full) {
274
333
  return crop / full * 100;
275
334
  };
276
- var getInitialCropSize = function getInitialCropSize(_ref9) {
277
- var image = _ref9.image,
278
- aspectRatioFactor = _ref9.aspectRatioFactor,
279
- maxCropWidth = _ref9.maxCropWidth;
335
+ var getInitialCropSize = function getInitialCropSize(_ref0) {
336
+ var image = _ref0.image,
337
+ aspectRatioFactor = _ref0.aspectRatioFactor,
338
+ maxCropWidth = _ref0.maxCropWidth;
280
339
  var imageWidth = image.naturalWidth,
281
340
  imageHeight = image.naturalHeight;
282
341
  var imageAspectRatio = imageWidth / imageHeight;
@@ -304,16 +363,16 @@ var getWidthFromAspectRatio = function getWidthFromAspectRatio(height, aspectRat
304
363
  return Math.round(height * aspectRatio.width / aspectRatio.height);
305
364
  };
306
365
  var getWrapperRefStyles = function getWrapperRefStyles(wrapperRef, imageRef) {
307
- var _ref10 = imageRef.current || {},
308
- _ref10$naturalHeight = _ref10.naturalHeight,
309
- naturalHeight = _ref10$naturalHeight === void 0 ? 100 : _ref10$naturalHeight,
310
- _ref10$naturalWidth = _ref10.naturalWidth,
311
- naturalWidth = _ref10$naturalWidth === void 0 ? 100 : _ref10$naturalWidth;
312
- var _ref11 = wrapperRef.current || {},
313
- _ref11$clientHeight = _ref11.clientHeight,
314
- clientHeight = _ref11$clientHeight === void 0 ? 100 : _ref11$clientHeight,
315
- _ref11$clientWidth = _ref11.clientWidth,
316
- clientWidth = _ref11$clientWidth === void 0 ? 100 : _ref11$clientWidth;
366
+ var _ref1 = imageRef.current || {},
367
+ _ref1$naturalHeight = _ref1.naturalHeight,
368
+ naturalHeight = _ref1$naturalHeight === void 0 ? 100 : _ref1$naturalHeight,
369
+ _ref1$naturalWidth = _ref1.naturalWidth,
370
+ naturalWidth = _ref1$naturalWidth === void 0 ? 100 : _ref1$naturalWidth;
371
+ var _ref10 = wrapperRef.current || {},
372
+ _ref10$clientHeight = _ref10.clientHeight,
373
+ clientHeight = _ref10$clientHeight === void 0 ? 100 : _ref10$clientHeight,
374
+ _ref10$clientWidth = _ref10.clientWidth,
375
+ clientWidth = _ref10$clientWidth === void 0 ? 100 : _ref10$clientWidth;
317
376
  if (naturalWidth <= clientWidth && naturalHeight <= clientHeight) {
318
377
  return {
319
378
  maxWidth: naturalWidth
@@ -343,5 +402,5 @@ var getWrapperRefStyles = function getWrapperRefStyles(wrapperRef, imageRef) {
343
402
  };
344
403
  };
345
404
 
346
- export { DEFAULT_UPLOAD_CONFIG as D, ImageDirectUpload as I, OPTION_KEYS as O, isNilOrEmpty as a, getPixels as b, getHeightFromAspectRatio as c, getWidthFromAspectRatio as d, getInitialCropSize as e, getPercentage as f, getAspectRatio as g, getWrapperRefStyles as h, isNotNilOrEmpty as i, isItemsCenter as j, getCloudFlareCroppedURL as k, getImageKitCroppedURL as l, getCropValues as m };
347
- //# sourceMappingURL=utils-kGoo6Gnk.js.map
405
+ export { DEFAULT_UPLOAD_CONFIG as D, ImageDirectUpload as I, OPTION_KEYS as O, isNilOrEmpty as a, getPixels as b, getHeightFromAspectRatio as c, getWidthFromAspectRatio as d, getInitialCropSize as e, getPercentage as f, getAspectRatio as g, getWrapperRefStyles as h, isNotNilOrEmpty as i, isItemsCenter as j, getCloudFlareCroppedURL as k, getImageKitCroppedURL as l, getCropValues as m, useUploadDropzone as u };
406
+ //# sourceMappingURL=utils-CBR0uhqY.js.map