@bigbinary/neeto-image-uploader-frontend 2.3.0 → 2.3.2

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 (57) hide show
  1. package/app/javascript/src/translations/en.json +2 -2
  2. package/dist/AssetLibrary.js +53 -32
  3. package/dist/AssetLibrary.js.map +1 -1
  4. package/dist/BasicImageUploader.js +3 -3
  5. package/dist/ImageUploader.js +34 -16
  6. package/dist/ImageUploader.js.map +1 -1
  7. package/dist/{ImageWithFallback-a45f3f4a.js → ImageWithFallback-1d3c6c16.js} +3 -3
  8. package/dist/{ImageWithFallback-a45f3f4a.js.map → ImageWithFallback-1d3c6c16.js.map} +1 -1
  9. package/dist/{ImageWithFallback-aacc383b.js → ImageWithFallback-da061171.js} +3 -3
  10. package/dist/{ImageWithFallback-aacc383b.js.map → ImageWithFallback-da061171.js.map} +1 -1
  11. package/dist/cjs/AssetLibrary.js +60 -39
  12. package/dist/cjs/AssetLibrary.js.map +1 -1
  13. package/dist/cjs/BasicImageUploader.js +3 -3
  14. package/dist/cjs/ImageUploader.js +34 -16
  15. package/dist/cjs/ImageUploader.js.map +1 -1
  16. package/dist/cjs/hooks.js +4 -3
  17. package/dist/cjs/hooks.js.map +1 -1
  18. package/dist/cjs/index.js +8 -5
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/utils.js +14 -0
  21. package/dist/cjs/utils.js.map +1 -0
  22. package/dist/hooks.js +4 -3
  23. package/dist/hooks.js.map +1 -1
  24. package/dist/{index-7f064861.js → index-69559a7a.js} +3 -1
  25. package/dist/index-69559a7a.js.map +1 -0
  26. package/dist/{index-b9963255.js → index-c128d963.js} +3 -2
  27. package/dist/index-c128d963.js.map +1 -0
  28. package/dist/index.js +7 -5
  29. package/dist/index.js.map +1 -1
  30. package/dist/query-3c31bf92.js +14 -0
  31. package/dist/query-3c31bf92.js.map +1 -0
  32. package/dist/query-dcc7b81b.js +10 -0
  33. package/dist/query-dcc7b81b.js.map +1 -0
  34. package/dist/{useImageUploader-550a5fdc.js → useImageUploader-b78deb18.js} +74 -58
  35. package/dist/useImageUploader-b78deb18.js.map +1 -0
  36. package/dist/{useImageUploader-36a03350.js → useImageUploader-b93adc31.js} +74 -55
  37. package/dist/useImageUploader-b93adc31.js.map +1 -0
  38. package/dist/{useProfileImageUpload-837e76b8.js → useProfileImageUpload-085576e5.js} +4 -4
  39. package/dist/useProfileImageUpload-085576e5.js.map +1 -0
  40. package/dist/{useProfileImageUpload-f0088c2a.js → useProfileImageUpload-51ab47be.js} +4 -4
  41. package/dist/useProfileImageUpload-51ab47be.js.map +1 -0
  42. package/dist/{utils-88cce499.js → utils-2fc0a9dc.js} +5 -4
  43. package/dist/utils-2fc0a9dc.js.map +1 -0
  44. package/dist/{utils-96eacd77.js → utils-46caa3d3.js} +5 -4
  45. package/dist/utils-46caa3d3.js.map +1 -0
  46. package/dist/utils.js +10 -0
  47. package/dist/utils.js.map +1 -0
  48. package/package.json +29 -29
  49. package/types.d.ts +3 -0
  50. package/dist/index-7f064861.js.map +0 -1
  51. package/dist/index-b9963255.js.map +0 -1
  52. package/dist/useImageUploader-36a03350.js.map +0 -1
  53. package/dist/useImageUploader-550a5fdc.js.map +0 -1
  54. package/dist/useProfileImageUpload-837e76b8.js.map +0 -1
  55. package/dist/useProfileImageUpload-f0088c2a.js.map +0 -1
  56. package/dist/utils-88cce499.js.map +0 -1
  57. package/dist/utils-96eacd77.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-88cce499.js","sources":["../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../app/javascript/src/components/ImageUploader/constants.js","../app/javascript/src/components/common/constants.js","../app/javascript/src/components/common/utils.js","../app/javascript/src/hooks/useUploadDropzone.js","../app/javascript/src/components/constants.js","../app/javascript/src/components/ImageEditor/utils.js"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import { globalProps } from \"neetocommons/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 { t } from \"i18next\";\n\nexport const DROPZONE_ROOT_DIV_CLASSNAME =\n \"neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out\";\n\nexport const FILE_ERRORS = {\n \"file-invalid-type\": t(\"neetoImageUploader.imageUpload.fileTypeError\"),\n \"file-too-large\": t(\"neetoImageUploader.imageUpload.fileSizeError\"),\n};\n","import { t } from \"i18next\";\nimport { Toastr } from \"neetoui\";\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 { useDropzone } from \"react-dropzone\";\n\nimport { handleDropRejected } from \"components/common/utils\";\n\nconst useUploadDropzone = ({\n uploadConfig = { allowedImageTypes: [], maxImageSize: 0 },\n onDrop,\n}) => {\n const [uploadProgress, setUploadProgress] = useState(0);\n\n const { getRootProps, getInputProps, isDragActive, inputRef } = useDropzone({\n onDrop: acceptedFiles => onDrop(acceptedFiles[0], setUploadProgress),\n accept: uploadConfig?.allowedImageTypes,\n multiple: false,\n maxSize: uploadConfig.maxImageSize * 1_048_576,\n onDropRejected: handleDropRejected,\n });\n\n return {\n getRootProps,\n getInputProps,\n isDragActive,\n uploadProgress,\n inputRef,\n };\n};\n\nexport default useUploadDropzone;\n","import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\n\nimport { IS_DEVELOPMENT_OR_HEROKU_ENV } 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.myImages\"),\n key: \"images\",\n dataCy: \"neeto-image-uploader-my-images-tab\",\n },\n {\n label: i18next.t(\"neetoImageUploader.labels.searchTheWeb\"),\n key: \"unsplash\",\n dataCy: \"neeto-image-uploader-unsplash-tab\",\n },\n];\n\nexport const OPTIONS = [\n {\n key: \"local\",\n label: i18next.t(\"neetoImageUploader.labels.uploadNewImage\"),\n \"data-cy\": \"upload-new-asset\",\n style: \"primary\",\n onClick: noop,\n },\n];\n\nexport const DEFAULT_CROP_CONFIG = {\n unit: \"px\",\n height: 0,\n width: 0,\n x: 0,\n y: 0,\n};\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 ASSETS_FETCH_URL = IS_DEVELOPMENT_OR_HEROKU_ENV\n ? \"neeto_image_uploader_engine/development/fetch\"\n : \"neeto_image_uploader_engine/imagekit/fetch\";\n\nexport const ASSETS_DESTROY_URL = IS_DEVELOPMENT_OR_HEROKU_ENV\n ? \"neeto_image_uploader_engine/development/bulk_destroy\"\n : \"neeto_image_uploader_engine/imagekit/bulk_destroy\";\n\nexport const IMAGE_WRAPPER_CLASSNAME =\n \"neeto-ui-border-gray-300 neeto-ui-bg-gray-100 hover:neeto-ui-bg-gray-200 neeto-ui-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 { globalProps } from \"neetocommons/initializers\";\nimport { isEmpty, isNil } from \"ramda\";\n\nexport const getCropValues = ({ crop, imageRef }) => ({\n x: imageRef.current.naturalWidth * (crop.x / imageRef.current.width),\n y: imageRef.current.naturalHeight * (crop.y / imageRef.current.height),\n height:\n imageRef.current.naturalHeight * (crop.height / imageRef.current.height),\n width: imageRef.current.naturalWidth * (crop.width / imageRef.current.width),\n});\n\nexport const getCroppedImageURL = ({ 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 onImageLoaded = ({ image, setCrop, cropAspectRatio = 16 / 9 }) => {\n const { width, height } = image;\n const imageAspectRatio = width / height;\n const maxCropWidth = 250;\n const maxCropHeight = maxCropWidth / cropAspectRatio;\n\n let cropWidth, cropHeight;\n\n if (imageAspectRatio > cropAspectRatio) {\n cropWidth = Math.min(maxCropWidth, width);\n cropHeight = cropWidth / cropAspectRatio;\n } else if (height < maxCropHeight) {\n cropWidth = width;\n cropHeight = height;\n } else {\n cropHeight = Math.min(maxCropHeight, height);\n cropWidth = cropHeight * cropAspectRatio;\n }\n\n const cropX = (width - cropWidth) / 2;\n const cropY = (height - cropHeight) / 2;\n\n setCrop({\n unit: \"px\",\n width: cropWidth,\n height: cropHeight,\n x: cropX,\n y: cropY,\n });\n};\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"],"names":["objectWithoutPropertiesLoose","DEFAULT_ALLOWED_IMAGE_TYPES","DEFAULT_UPLOAD_CONFIG","maxImageSize","globalProps","endUserUploadedFileSizeLimitInMb","allowedImageTypes","OPTION_KEYS","asset","remove","DROPZONE_ROOT_DIV_CLASSNAME","FILE_ERRORS","t","handleDropRejected","fileRejections","map","_ref","errors","_ref2","code","Toastr","error","useUploadDropzone","_ref$uploadConfig","uploadConfig","onDrop","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useDropzone","useDropzone","acceptedFiles","accept","multiple","maxSize","onDropRejected","getRootProps","getInputProps","isDragActive","inputRef","UNSPLASH_DEFAULT_NAME","UNSPLASH_URL","IMAGES_PER_PAGE","UNSPLASH_DEFAULT_REQUEST_CONFIG","headers","responseType","TABS","label","i18next","key","dataCy","OPTIONS","style","onClick","noop","DEFAULT_CROP_CONFIG","unit","height","width","x","y","INFINITE_SCROLLER_SIZES","columns","gutter","mq","INFINITE_SCROLLER_STYLE","ASSETS_FETCH_URL","IS_DEVELOPMENT_OR_HEROKU_ENV","ASSETS_DESTROY_URL","IMAGE_WRAPPER_CLASSNAME","getCropValues","crop","imageRef","current","naturalWidth","naturalHeight","getCroppedImageURL","imageURL","imagekit","ImageKit","urlEndpoint","_getCropValues","transformation","cropMode","url","src","isNilOrEmpty","value","isNil","isEmpty","isNotNilOrEmpty","onImageLoaded","_ref3","image","setCrop","_ref3$cropAspectRatio","cropAspectRatio","imageAspectRatio","maxCropWidth","maxCropHeight","cropWidth","cropHeight","Math","min","cropX","cropY","isItemsCenter","_ref4","wrapperRef","_ref5","imageHeight","imageWidth","wrapperHeight","clientHeight"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils-96eacd77.js","sources":["../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../app/javascript/src/components/ImageUploader/constants.js","../app/javascript/src/components/common/constants.js","../app/javascript/src/components/common/utils.js","../app/javascript/src/hooks/useUploadDropzone.js","../app/javascript/src/components/constants.js","../app/javascript/src/components/ImageEditor/utils.js"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import { globalProps } from \"neetocommons/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 { t } from \"i18next\";\n\nexport const DROPZONE_ROOT_DIV_CLASSNAME =\n \"neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out\";\n\nexport const FILE_ERRORS = {\n \"file-invalid-type\": t(\"neetoImageUploader.imageUpload.fileTypeError\"),\n \"file-too-large\": t(\"neetoImageUploader.imageUpload.fileSizeError\"),\n};\n","import { t } from \"i18next\";\nimport { Toastr } from \"neetoui\";\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 { useDropzone } from \"react-dropzone\";\n\nimport { handleDropRejected } from \"components/common/utils\";\n\nconst useUploadDropzone = ({\n uploadConfig = { allowedImageTypes: [], maxImageSize: 0 },\n onDrop,\n}) => {\n const [uploadProgress, setUploadProgress] = useState(0);\n\n const { getRootProps, getInputProps, isDragActive, inputRef } = useDropzone({\n onDrop: acceptedFiles => onDrop(acceptedFiles[0], setUploadProgress),\n accept: uploadConfig?.allowedImageTypes,\n multiple: false,\n maxSize: uploadConfig.maxImageSize * 1_048_576,\n onDropRejected: handleDropRejected,\n });\n\n return {\n getRootProps,\n getInputProps,\n isDragActive,\n uploadProgress,\n inputRef,\n };\n};\n\nexport default useUploadDropzone;\n","import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\n\nimport { IS_DEVELOPMENT_OR_HEROKU_ENV } 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.myImages\"),\n key: \"images\",\n dataCy: \"neeto-image-uploader-my-images-tab\",\n },\n {\n label: i18next.t(\"neetoImageUploader.labels.searchTheWeb\"),\n key: \"unsplash\",\n dataCy: \"neeto-image-uploader-unsplash-tab\",\n },\n];\n\nexport const OPTIONS = [\n {\n key: \"local\",\n label: i18next.t(\"neetoImageUploader.labels.uploadNewImage\"),\n \"data-cy\": \"upload-new-asset\",\n style: \"primary\",\n onClick: noop,\n },\n];\n\nexport const DEFAULT_CROP_CONFIG = {\n unit: \"px\",\n height: 0,\n width: 0,\n x: 0,\n y: 0,\n};\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 ASSETS_FETCH_URL = IS_DEVELOPMENT_OR_HEROKU_ENV\n ? \"neeto_image_uploader_engine/development/fetch\"\n : \"neeto_image_uploader_engine/imagekit/fetch\";\n\nexport const ASSETS_DESTROY_URL = IS_DEVELOPMENT_OR_HEROKU_ENV\n ? \"neeto_image_uploader_engine/development/bulk_destroy\"\n : \"neeto_image_uploader_engine/imagekit/bulk_destroy\";\n\nexport const IMAGE_WRAPPER_CLASSNAME =\n \"neeto-ui-border-gray-300 neeto-ui-bg-gray-100 hover:neeto-ui-bg-gray-200 neeto-ui-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 { globalProps } from \"neetocommons/initializers\";\nimport { isEmpty, isNil } from \"ramda\";\n\nexport const getCropValues = ({ crop, imageRef }) => ({\n x: imageRef.current.naturalWidth * (crop.x / imageRef.current.width),\n y: imageRef.current.naturalHeight * (crop.y / imageRef.current.height),\n height:\n imageRef.current.naturalHeight * (crop.height / imageRef.current.height),\n width: imageRef.current.naturalWidth * (crop.width / imageRef.current.width),\n});\n\nexport const getCroppedImageURL = ({ 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 onImageLoaded = ({ image, setCrop, cropAspectRatio = 16 / 9 }) => {\n const { width, height } = image;\n const imageAspectRatio = width / height;\n const maxCropWidth = 250;\n const maxCropHeight = maxCropWidth / cropAspectRatio;\n\n let cropWidth, cropHeight;\n\n if (imageAspectRatio > cropAspectRatio) {\n cropWidth = Math.min(maxCropWidth, width);\n cropHeight = cropWidth / cropAspectRatio;\n } else if (height < maxCropHeight) {\n cropWidth = width;\n cropHeight = height;\n } else {\n cropHeight = Math.min(maxCropHeight, height);\n cropWidth = cropHeight * cropAspectRatio;\n }\n\n const cropX = (width - cropWidth) / 2;\n const cropY = (height - cropHeight) / 2;\n\n setCrop({\n unit: \"px\",\n width: cropWidth,\n height: cropHeight,\n x: cropX,\n y: cropY,\n });\n};\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"],"names":["objectWithoutPropertiesLoose","DEFAULT_ALLOWED_IMAGE_TYPES","DEFAULT_UPLOAD_CONFIG","maxImageSize","globalProps","endUserUploadedFileSizeLimitInMb","allowedImageTypes","OPTION_KEYS","asset","remove","DROPZONE_ROOT_DIV_CLASSNAME","FILE_ERRORS","t","handleDropRejected","fileRejections","map","_ref","errors","_ref2","code","Toastr","error","useUploadDropzone","_ref$uploadConfig","uploadConfig","onDrop","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useDropzone","useDropzone","acceptedFiles","accept","multiple","maxSize","onDropRejected","getRootProps","getInputProps","isDragActive","inputRef","UNSPLASH_DEFAULT_NAME","UNSPLASH_URL","IMAGES_PER_PAGE","UNSPLASH_DEFAULT_REQUEST_CONFIG","headers","responseType","TABS","label","i18next","key","dataCy","OPTIONS","style","onClick","noop","DEFAULT_CROP_CONFIG","unit","height","width","x","y","INFINITE_SCROLLER_SIZES","columns","gutter","mq","INFINITE_SCROLLER_STYLE","ASSETS_FETCH_URL","IS_DEVELOPMENT_OR_HEROKU_ENV","ASSETS_DESTROY_URL","IMAGE_WRAPPER_CLASSNAME","getCropValues","crop","imageRef","current","naturalWidth","naturalHeight","getCroppedImageURL","imageURL","imagekit","ImageKit","urlEndpoint","_getCropValues","transformation","cropMode","url","src","isNilOrEmpty","value","isNil","isEmpty","isNotNilOrEmpty","onImageLoaded","_ref3","image","setCrop","_ref3$cropAspectRatio","cropAspectRatio","imageAspectRatio","maxCropWidth","maxCropHeight","cropWidth","cropHeight","Math","min","cropX","cropY","isItemsCenter","_ref4","wrapperRef","_ref5","imageHeight","imageWidth","wrapperHeight","clientHeight"],"mappings":"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"}