@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.
- package/dist/.ready +1 -1
- package/dist/AssetLibrary.js +10 -10
- package/dist/BasicImageUploader.js +4 -4
- package/dist/ImageForm.js +8 -8
- package/dist/ImageUploader.js +8 -8
- package/dist/cjs/AssetLibrary.js +10 -10
- package/dist/cjs/BasicImageUploader.js +4 -4
- package/dist/cjs/ImageForm.js +8 -8
- package/dist/cjs/ImageUploader.js +8 -8
- package/dist/cjs/hooks.js +5 -4
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/index.js +9 -9
- package/dist/cjs/v2/AssetLibrary.js +9 -10
- package/dist/cjs/v2/AssetLibrary.js.map +1 -1
- package/dist/cjs/v2/BasicImageUploader.js +2 -4
- package/dist/cjs/v2/BasicImageUploader.js.map +1 -1
- package/dist/cjs/v2/ImageForm.js +8 -9
- package/dist/cjs/v2/ImageForm.js.map +1 -1
- package/dist/cjs/v2/ImageUploader.js +8 -9
- package/dist/cjs/v2/ImageUploader.js.map +1 -1
- package/dist/cjs/v2/hooks.js +20 -476
- package/dist/cjs/v2/hooks.js.map +1 -1
- package/dist/cjs/v2/index.js +9 -10
- package/dist/cjs/v2/index.js.map +1 -1
- package/dist/constants-BF4SgnWe.js +12 -0
- package/dist/constants-BF4SgnWe.js.map +1 -0
- package/dist/{constants-BVxeajuh.js → constants-BNGwgivX.js} +7 -3
- package/dist/constants-BNGwgivX.js.map +1 -0
- package/dist/{constants-BJsrtAQc.js → constants-DaSuAD1y.js} +7 -2
- package/dist/constants-DaSuAD1y.js.map +1 -0
- package/dist/constants-Dos-Y7GC.js +15 -0
- package/dist/constants-Dos-Y7GC.js.map +1 -0
- package/dist/hooks.js +5 -4
- package/dist/hooks.js.map +1 -1
- package/dist/{imagekit.esm-Bps9lPzh.js → imagekit.esm-Wbu4ABaW.js} +2 -12
- package/dist/imagekit.esm-Wbu4ABaW.js.map +1 -0
- package/dist/{imagekit.esm-BOkeWsyX.js → imagekit.esm-ZYrS-YIL.js} +1 -13
- package/dist/imagekit.esm-ZYrS-YIL.js.map +1 -0
- package/dist/{index-DfxvM32h.js → index-BP6z5Bmi.js} +9 -10
- package/dist/index-BP6z5Bmi.js.map +1 -0
- package/dist/{index-PE1rZoJJ.js → index-Btd2LbOZ.js} +10 -11
- package/dist/index-Btd2LbOZ.js.map +1 -0
- package/dist/{index-YZ7Lhfkg.js → index-ByiQIHFV.js} +10 -11
- package/dist/index-ByiQIHFV.js.map +1 -0
- package/dist/{index-7XBgPy09.js → index-DJjmk0Nc.js} +11 -12
- package/dist/index-DJjmk0Nc.js.map +1 -0
- package/dist/index.js +9 -9
- package/dist/{useImageUploader-CHyjhRSo.js → useImageUploader-BsSpqUky.js} +4 -3
- package/dist/useImageUploader-BsSpqUky.js.map +1 -0
- package/dist/{useImageUploader-sa1Apcxi.js → useImageUploader-J3bippyP.js} +6 -5
- package/dist/useImageUploader-J3bippyP.js.map +1 -0
- package/dist/useImageUploader-TOt_v6Rn.js +225 -0
- package/dist/useImageUploader-TOt_v6Rn.js.map +1 -0
- package/dist/useImageUploader-uFdwIcWA.js +223 -0
- package/dist/useImageUploader-uFdwIcWA.js.map +1 -0
- package/dist/useProfileImageUpload-BZb8Cttj.js +272 -0
- package/dist/useProfileImageUpload-BZb8Cttj.js.map +1 -0
- package/dist/{useProfileImageUpload-C7ealrbB.js → useProfileImageUpload-CeIh1MMh.js} +3 -3
- package/dist/{useProfileImageUpload-C7ealrbB.js.map → useProfileImageUpload-CeIh1MMh.js.map} +1 -1
- package/dist/{useProfileImageUpload-BM3MsePR.js → useProfileImageUpload-D5doE-yM.js} +3 -3
- package/dist/{useProfileImageUpload-BM3MsePR.js.map → useProfileImageUpload-D5doE-yM.js.map} +1 -1
- package/dist/useProfileImageUpload-YeoM7k6I.js +269 -0
- package/dist/useProfileImageUpload-YeoM7k6I.js.map +1 -0
- package/dist/{useUnsplashApi-okMiRC9G.js → useUnsplashApi-_-5cRT70.js} +3 -3
- package/dist/{useUnsplashApi-okMiRC9G.js.map → useUnsplashApi-_-5cRT70.js.map} +1 -1
- package/dist/{useUnsplashApi-2sRCzI6B.js → useUnsplashApi-qANYsRgw.js} +3 -3
- package/dist/{useUnsplashApi-2sRCzI6B.js.map → useUnsplashApi-qANYsRgw.js.map} +1 -1
- package/dist/{utils-B9Wu-jti.js → utils-BG5uqsQH.js} +118 -59
- package/dist/utils-BG5uqsQH.js.map +1 -0
- package/dist/{utils-kGoo6Gnk.js → utils-CBR0uhqY.js} +108 -49
- package/dist/utils-CBR0uhqY.js.map +1 -0
- package/dist/{utils-DbfNL99D.js → utils-DQSN1LLd.js} +2 -2
- package/dist/{utils-DbfNL99D.js.map → utils-DQSN1LLd.js.map} +1 -1
- package/dist/{utils-CDFlFfgu.js → utils-DQye8ufx.js} +116 -56
- package/dist/utils-DQye8ufx.js.map +1 -0
- package/dist/{utils-KinCgQeq.js → utils-Dshsishe.js} +2 -2
- package/dist/{utils-KinCgQeq.js.map → utils-Dshsishe.js.map} +1 -1
- package/dist/{utils-adgVs86v.js → utils-hFSeEG9S.js} +108 -48
- package/dist/utils-hFSeEG9S.js.map +1 -0
- package/dist/v2/AssetLibrary.js +9 -10
- package/dist/v2/AssetLibrary.js.map +1 -1
- package/dist/v2/BasicImageUploader.js +2 -4
- package/dist/v2/BasicImageUploader.js.map +1 -1
- package/dist/v2/ImageForm.js +8 -9
- package/dist/v2/ImageForm.js.map +1 -1
- package/dist/v2/ImageUploader.js +8 -9
- package/dist/v2/ImageUploader.js.map +1 -1
- package/dist/v2/hooks.js +17 -477
- package/dist/v2/hooks.js.map +1 -1
- package/dist/v2/index.js +9 -10
- package/dist/v2/index.js.map +1 -1
- package/package.json +22 -22
- package/dist/constants-BJsrtAQc.js.map +0 -1
- package/dist/constants-BVxeajuh.js.map +0 -1
- package/dist/imagekit.esm-BOkeWsyX.js.map +0 -1
- package/dist/imagekit.esm-Bps9lPzh.js.map +0 -1
- package/dist/index-7XBgPy09.js.map +0 -1
- package/dist/index-DfxvM32h.js.map +0 -1
- package/dist/index-PE1rZoJJ.js.map +0 -1
- package/dist/index-YZ7Lhfkg.js.map +0 -1
- package/dist/useImageUploader-CHyjhRSo.js.map +0 -1
- package/dist/useImageUploader-sa1Apcxi.js.map +0 -1
- package/dist/useUploadDropzone-CTwUeaY1.js +0 -57
- package/dist/useUploadDropzone-CTwUeaY1.js.map +0 -1
- package/dist/useUploadDropzone-I7mlv7Zx.js +0 -59
- package/dist/useUploadDropzone-I7mlv7Zx.js.map +0 -1
- package/dist/utils-B9Wu-jti.js.map +0 -1
- package/dist/utils-CDFlFfgu.js.map +0 -1
- package/dist/utils-adgVs86v.js.map +0 -1
- package/dist/utils-kGoo6Gnk.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-CBR0uhqY.js","sources":["../app/javascript/src/components/ImageUploader/constants.js","../app/javascript/src/components/ImageUploader/utils.js","../app/javascript/src/components/common/utils.js","../app/javascript/src/hooks/useUploadDropzone.js","../app/javascript/src/components/common/ImageDirectUpload.jsx","../app/javascript/src/components/ImageEditor/utils.js"],"sourcesContent":["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 { 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 { 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 { noop } from \"neetocist\";\nimport { useDropzone } from \"react-dropzone\";\n\nimport { handleDropRejected } from \"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 { forwardRef, useImperativeHandle } from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop, isPresent } from \"neetocist\";\nimport { Button, Typography, ProgressBar } from \"neetoui\";\nimport { equals } from \"ramda\";\nimport { Trans } from \"react-i18next\";\n\nimport { DEFAULT_UPLOAD_CONFIG } from \"components/ImageUploader/constants\";\nimport { getAllowedTypes } from \"components/ImageUploader/utils\";\nimport useUploadDropzone from \"hooks/useUploadDropzone\";\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 \"neeto-ui-border-gray-300\": !isDragActive,\n \"neeto-ui-border-gray-700\": isDragActive,\n })}\n >\n {shouldShowProgress ? (\n <ProgressBar\n progressPercentage={uploadProgress}\n progressValue={`${uploadProgress}%`}\n />\n ) : (\n <div className=\"flex flex-col space-y-1\">\n {!isDisabled && (\n <Typography\n className=\"neeto-ui-text-gray-800 text-center leading-4\"\n style=\"body2\"\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.dragAndDropOrBrowseFile\"\n components={{\n span: (\n <Button\n data-testid=\"neeto-image-uploader-browse-text\"\n style=\"link\"\n onClick={event => {\n event.stopPropagation();\n open();\n }}\n />\n ),\n }}\n />\n </Typography>\n )}\n {setIsAssetLibraryOpen && (\n <Typography\n style=\"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 style=\"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=\"neeto-ui-text-gray-700 text-center leading-4\"\n data-testid=\"neeto-image-uploader-restriction-message\"\n lineHeight=\"snug\"\n style=\"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=\"neeto-ui-text-gray-700 text-center leading-4\"\n data-testid=\"neeto-image-uploader-ideal-image-size-info-text\"\n lineHeight=\"snug\"\n style=\"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 ImageKit from \"imagekit-javascript\";\nimport { isPresent } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { isEmpty, isNil } from \"ramda\";\n\nimport { DEFAULT_ASPECT_RATIO } from \"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":["DEFAULT_ALLOWED_IMAGE_TYPES","DEFAULT_UPLOAD_CONFIG","maxImageSize","globalProps","endUserUploadedFileSizeLimitInMb","allowedImageTypes","OPTION_KEYS","asset","remove","getAllowedTypes","uploadConfig","pipe","values","flatten","map","extension","slice","toUpper","join","handleDropRejected","fileRejections","_ref","errors","_ref2","code","Toastr","error","FILE_ERRORS","t","useUploadDropzone","_ref$uploadConfig","onDrop","_ref$setImage","setImage","noop","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useDropzone","useDropzone","acceptedFiles","accept","multiple","maxSize","onDropRejected","noDragEventsBubbling","getRootProps","getInputProps","isDragActive","open","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","DROPZONE_ROOT_DIV_CLASSNAME","children","ProgressBar","progressPercentage","progressValue","concat","_jsxs","Typography","style","Trans","i18nKey","components","span","Button","onClick","event","stopPropagation","e","disabled","lineHeight","fileTypes","size","isPresent","displayName","getWholeNumberAspectRatio","width","height","Number","isFinite","DEFAULT_ASPECT_RATIO","gcd","a","b","divisor","getCropValues","_ref3","crop","imageRef","naturalWidth","current","naturalHeight","x","y","getImageKitCroppedURL","_ref4","imageURL","imagekit","ImageKit","urlEndpoint","_getCropValues","transformation","cropMode","url","src","isNilOrEmpty","value","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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"}
|
|
@@ -2,7 +2,7 @@ import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
|
2
2
|
import '@tanstack/react-query';
|
|
3
3
|
import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
4
4
|
import axios from 'axios';
|
|
5
|
-
import {
|
|
5
|
+
import { b as IMAGE_UPLOADER_BASE_URL } from './imagekit.esm-Wbu4ABaW.js';
|
|
6
6
|
import { Q as QUERY_KEYS } from './query-BJnGLX4z.js';
|
|
7
7
|
|
|
8
8
|
var create = function create(payload) {
|
|
@@ -70,4 +70,4 @@ var isGif = function isGif(fileOrImage) {
|
|
|
70
70
|
};
|
|
71
71
|
|
|
72
72
|
export { cloudflareImageApi as c, directUploadsApi as d, generateASCIIFileName as g, isGif as i, useCreateBlob as u };
|
|
73
|
-
//# sourceMappingURL=utils-
|
|
73
|
+
//# sourceMappingURL=utils-DQSN1LLd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-DQSN1LLd.js","sources":["../app/javascript/src/apis/direct_uploads.js","../app/javascript/src/hooks/useDirectUploads.js","../app/javascript/src/apis/cloudflare_image.js","../app/javascript/src/hooks/utils.js"],"sourcesContent":["import axios from \"axios\";\n\nimport { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\n\nconst create = payload =>\n axios.post(\n \"/api/direct_uploads\",\n { blob: payload },\n { transformRequestCase: false }\n );\n\nconst update = ({ id, payload }) =>\n axios.put(\n `${IMAGE_UPLOADER_BASE_URL}/api/direct_uploads/${id}`,\n { blob: payload },\n { transformRequestCase: false }\n );\nconst directUploadsApi = { create, update };\n\nexport default directUploadsApi;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useCreateBlob = options =>\n useMutationWithInvalidation(directUploadsApi.create, {\n keysToInvalidate: [QUERY_KEYS.ASSETS_LIST],\n ...options,\n });\n\nconst useUpdateBlob = options =>\n useMutation({ mutationFn: directUploadsApi.update, ...options });\n\nexport { useCreateBlob, useUpdateBlob };\n","import axios from \"axios\";\n\nimport { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\n\nconst generate = () =>\n axios.post(`${IMAGE_UPLOADER_BASE_URL}/cloudflare_images`);\n\nconst upload = ({ url, formData, setUploadProgress }) =>\n axios.post(url, formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n onUploadProgress: event => {\n const percentComplete = Math.round((event.loaded / event.total) * 100);\n setUploadProgress(percentComplete);\n },\n transformRequestCase: false,\n });\n\nconst cloudflareImageApi = { generate, upload };\n\nexport default cloudflareImageApi;\n","export const generateASCIIFileName = originalFileName => {\n const sanitizedFileName = originalFileName.replace(/[\\u00A0\\u202F]/g, \" \");\n\n if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {\n return originalFileName;\n }\n\n const extension = originalFileName.split(\".\").pop();\n\n return `image.${extension}`;\n};\n\nexport const isGif = fileOrImage =>\n fileOrImage?.type === \"image/gif\" || fileOrImage?.contentType === \"image/gif\";\n"],"names":["create","payload","axios","post","blob","transformRequestCase","update","_ref","id","put","concat","IMAGE_UPLOADER_BASE_URL","directUploadsApi","useCreateBlob","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","QUERY_KEYS","ASSETS_LIST","generate","upload","url","formData","setUploadProgress","headers","onUploadProgress","event","percentComplete","Math","round","loaded","total","cloudflareImageApi","generateASCIIFileName","originalFileName","sanitizedFileName","replace","test","extension","split","pop","isGif","fileOrImage","type","contentType"],"mappings":"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"}
|
|
@@ -7,11 +7,67 @@ var classnames = require('classnames');
|
|
|
7
7
|
var neetoCist = require('@bigbinary/neeto-cist');
|
|
8
8
|
var ramda = require('ramda');
|
|
9
9
|
var reactI18next = require('react-i18next');
|
|
10
|
-
var
|
|
11
|
-
var
|
|
10
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
11
|
+
var reactDropzone = require('react-dropzone');
|
|
12
12
|
var i18next = require('i18next');
|
|
13
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/v2/initializers');
|
|
13
14
|
var jsxRuntime = require('react/jsx-runtime');
|
|
14
|
-
var imagekit_esm = require('./imagekit.esm-
|
|
15
|
+
var imagekit_esm = require('./imagekit.esm-ZYrS-YIL.js');
|
|
16
|
+
|
|
17
|
+
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";
|
|
18
|
+
var FILE_ERRORS = {
|
|
19
|
+
"file-invalid-type": i18next.t("neetoImageUploader.imageUpload.fileTypeError"),
|
|
20
|
+
"file-too-large": i18next.t("neetoImageUploader.imageUpload.fileSizeError"),
|
|
21
|
+
"file-dimension-too-large": i18next.t("neetoImageUploader.imageUpload.fileDimensionError"),
|
|
22
|
+
"file-resolution-too-large": i18next.t("neetoImageUploader.imageUpload.fileResolutionError")
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
var handleDropRejected = function handleDropRejected(fileRejections) {
|
|
26
|
+
fileRejections.map(function (_ref) {
|
|
27
|
+
var errors = _ref.errors;
|
|
28
|
+
return errors.map(function (_ref2) {
|
|
29
|
+
var code = _ref2.code;
|
|
30
|
+
return neetoAtoms.Toastr.error(FILE_ERRORS[code] || i18next.t("neetoImageUploader.imageUpload.genericError"));
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
var useUploadDropzone = function useUploadDropzone(_ref) {
|
|
36
|
+
var _ref$uploadConfig = _ref.uploadConfig,
|
|
37
|
+
uploadConfig = _ref$uploadConfig === void 0 ? {
|
|
38
|
+
allowedImageTypes: [],
|
|
39
|
+
maxImageSize: 0
|
|
40
|
+
} : _ref$uploadConfig,
|
|
41
|
+
_onDrop = _ref.onDrop,
|
|
42
|
+
_ref$setImage = _ref.setImage,
|
|
43
|
+
setImage = _ref$setImage === void 0 ? neetoCist.noop : _ref$setImage;
|
|
44
|
+
var _useState = require$$0.useState(0),
|
|
45
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
46
|
+
uploadProgress = _useState2[0],
|
|
47
|
+
setUploadProgress = _useState2[1];
|
|
48
|
+
var _useDropzone = reactDropzone.useDropzone({
|
|
49
|
+
onDrop: function onDrop(acceptedFiles) {
|
|
50
|
+
return _onDrop(acceptedFiles[0], setUploadProgress, setImage);
|
|
51
|
+
},
|
|
52
|
+
accept: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.allowedImageTypes,
|
|
53
|
+
multiple: false,
|
|
54
|
+
maxSize: uploadConfig.maxImageSize * 1048576,
|
|
55
|
+
onDropRejected: handleDropRejected,
|
|
56
|
+
noDragEventsBubbling: true
|
|
57
|
+
}),
|
|
58
|
+
getRootProps = _useDropzone.getRootProps,
|
|
59
|
+
getInputProps = _useDropzone.getInputProps,
|
|
60
|
+
isDragActive = _useDropzone.isDragActive,
|
|
61
|
+
open = _useDropzone.open;
|
|
62
|
+
return {
|
|
63
|
+
getRootProps: getRootProps,
|
|
64
|
+
getInputProps: getInputProps,
|
|
65
|
+
isDragActive: isDragActive,
|
|
66
|
+
open: open,
|
|
67
|
+
uploadProgress: uploadProgress,
|
|
68
|
+
setUploadProgress: setUploadProgress
|
|
69
|
+
};
|
|
70
|
+
};
|
|
15
71
|
|
|
16
72
|
var DEFAULT_ALLOWED_IMAGE_TYPES = {
|
|
17
73
|
"image/png": [".png"],
|
|
@@ -34,14 +90,6 @@ var getAllowedTypes = function getAllowedTypes(uploadConfig) {
|
|
|
34
90
|
}), ramda.map(ramda.toUpper), ramda.join(", "))(uploadConfig.allowedImageTypes);
|
|
35
91
|
};
|
|
36
92
|
|
|
37
|
-
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";
|
|
38
|
-
({
|
|
39
|
-
"file-invalid-type": i18next.t("neetoImageUploader.imageUpload.fileTypeError"),
|
|
40
|
-
"file-too-large": i18next.t("neetoImageUploader.imageUpload.fileSizeError"),
|
|
41
|
-
"file-dimension-too-large": i18next.t("neetoImageUploader.imageUpload.fileDimensionError"),
|
|
42
|
-
"file-resolution-too-large": i18next.t("neetoImageUploader.imageUpload.fileResolutionError")
|
|
43
|
-
});
|
|
44
|
-
|
|
45
93
|
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; }
|
|
46
94
|
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; }
|
|
47
95
|
var ImageDirectUpload = /*#__PURE__*/require$$0.forwardRef(function (_ref, ref) {
|
|
@@ -57,7 +105,7 @@ var ImageDirectUpload = /*#__PURE__*/require$$0.forwardRef(function (_ref, ref)
|
|
|
57
105
|
_ref$isUploadDisabled = _ref.isUploadDisabled,
|
|
58
106
|
isUploadDisabled = _ref$isUploadDisabled === void 0 ? false : _ref$isUploadDisabled,
|
|
59
107
|
setImage = _ref.setImage;
|
|
60
|
-
var _useUploadDropzone = useUploadDropzone
|
|
108
|
+
var _useUploadDropzone = useUploadDropzone({
|
|
61
109
|
uploadConfig: uploadConfig,
|
|
62
110
|
onDrop: onDrop,
|
|
63
111
|
setImage: setImage
|
|
@@ -181,6 +229,10 @@ var DEFAULT_CROP_CONFIG = {
|
|
|
181
229
|
x: 0,
|
|
182
230
|
y: 0
|
|
183
231
|
};
|
|
232
|
+
var DEFAULT_ASPECT_RATIO = {
|
|
233
|
+
width: 16,
|
|
234
|
+
height: 9
|
|
235
|
+
};
|
|
184
236
|
var INFINITE_SCROLLER_SIZES = [{
|
|
185
237
|
columns: 2,
|
|
186
238
|
gutter: 0
|
|
@@ -208,20 +260,30 @@ var getWholeNumberAspectRatio = function getWholeNumberAspectRatio(_ref) {
|
|
|
208
260
|
width: 1,
|
|
209
261
|
height: 1
|
|
210
262
|
};
|
|
211
|
-
|
|
212
|
-
|
|
263
|
+
|
|
264
|
+
// NaN or Infinity would make the gcd loop below never terminate.
|
|
265
|
+
if (!Number.isFinite(width) || !Number.isFinite(height)) {
|
|
266
|
+
return DEFAULT_ASPECT_RATIO;
|
|
267
|
+
}
|
|
268
|
+
var gcd = function gcd(a, b) {
|
|
269
|
+
while (b !== 0) {
|
|
270
|
+
var _ref2 = [b, a % b];
|
|
271
|
+
a = _ref2[0];
|
|
272
|
+
b = _ref2[1];
|
|
273
|
+
}
|
|
274
|
+
return a;
|
|
213
275
|
};
|
|
214
276
|
|
|
215
277
|
// Multiplying by 1000 is a temporary fix to prevent height and width with fractions (eg: 100.91).
|
|
216
|
-
var divisor =
|
|
278
|
+
var divisor = gcd(width * 1000, height * 1000);
|
|
217
279
|
return {
|
|
218
280
|
width: width / divisor,
|
|
219
281
|
height: height / divisor
|
|
220
282
|
};
|
|
221
283
|
};
|
|
222
|
-
var getCropValues = function getCropValues(
|
|
223
|
-
var crop =
|
|
224
|
-
imageRef =
|
|
284
|
+
var getCropValues = function getCropValues(_ref3) {
|
|
285
|
+
var crop = _ref3.crop,
|
|
286
|
+
imageRef = _ref3.imageRef;
|
|
225
287
|
var naturalWidth = imageRef.current.naturalWidth;
|
|
226
288
|
var naturalHeight = imageRef.current.naturalHeight;
|
|
227
289
|
return {
|
|
@@ -231,10 +293,10 @@ var getCropValues = function getCropValues(_ref2) {
|
|
|
231
293
|
height: crop.height / 100 * naturalHeight
|
|
232
294
|
};
|
|
233
295
|
};
|
|
234
|
-
var getImageKitCroppedURL = function getImageKitCroppedURL(
|
|
235
|
-
var imageURL =
|
|
236
|
-
crop =
|
|
237
|
-
imageRef =
|
|
296
|
+
var getImageKitCroppedURL = function getImageKitCroppedURL(_ref4) {
|
|
297
|
+
var imageURL = _ref4.imageURL,
|
|
298
|
+
crop = _ref4.crop,
|
|
299
|
+
imageRef = _ref4.imageRef;
|
|
238
300
|
var imagekit = new imagekit_esm.ImageKit({
|
|
239
301
|
urlEndpoint: initializers.globalProps.imagekit.urlEndpoint
|
|
240
302
|
});
|
|
@@ -264,12 +326,12 @@ var isNilOrEmpty = function isNilOrEmpty(value) {
|
|
|
264
326
|
var isNotNilOrEmpty = function isNotNilOrEmpty(value) {
|
|
265
327
|
return !isNilOrEmpty(value);
|
|
266
328
|
};
|
|
267
|
-
var isItemsCenter = function isItemsCenter(
|
|
268
|
-
var imageRef =
|
|
269
|
-
wrapperRef =
|
|
270
|
-
var
|
|
271
|
-
imageHeight =
|
|
272
|
-
imageWidth =
|
|
329
|
+
var isItemsCenter = function isItemsCenter(_ref5) {
|
|
330
|
+
var imageRef = _ref5.imageRef,
|
|
331
|
+
wrapperRef = _ref5.wrapperRef;
|
|
332
|
+
var _ref6 = imageRef.current || {},
|
|
333
|
+
imageHeight = _ref6.height,
|
|
334
|
+
imageWidth = _ref6.width;
|
|
273
335
|
var wrapperHeight = (wrapperRef.current || {}).clientHeight;
|
|
274
336
|
if (imageHeight < imageWidth && imageHeight < wrapperHeight - 1) {
|
|
275
337
|
// Landscape images smaller than wrapper dimensions
|
|
@@ -281,9 +343,9 @@ var isItemsCenter = function isItemsCenter(_ref4) {
|
|
|
281
343
|
}
|
|
282
344
|
return imageHeight > imageWidth && imageHeight < wrapperHeight - 1;
|
|
283
345
|
};
|
|
284
|
-
var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCroppedValues(
|
|
285
|
-
var image =
|
|
286
|
-
crop =
|
|
346
|
+
var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCroppedValues(_ref7) {
|
|
347
|
+
var image = _ref7.image,
|
|
348
|
+
crop = _ref7.crop;
|
|
287
349
|
var naturalWidth = image.metadata.width;
|
|
288
350
|
var naturalHeight = image.metadata.height;
|
|
289
351
|
var sourceX = crop.x / 100 * naturalWidth;
|
|
@@ -299,9 +361,9 @@ var calculateCloudFlareImageCroppedValues = function calculateCloudFlareImageCro
|
|
|
299
361
|
left: sourceX
|
|
300
362
|
};
|
|
301
363
|
};
|
|
302
|
-
var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(
|
|
303
|
-
var image =
|
|
304
|
-
crop =
|
|
364
|
+
var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(_ref8) {
|
|
365
|
+
var image = _ref8.image,
|
|
366
|
+
crop = _ref8.crop;
|
|
305
367
|
var _calculateCloudFlareI = calculateCloudFlareImageCroppedValues({
|
|
306
368
|
image: image,
|
|
307
369
|
crop: crop
|
|
@@ -313,19 +375,16 @@ var getCloudFlareCroppedURL = function getCloudFlareCroppedURL(_ref7) {
|
|
|
313
375
|
var trimValues = "".concat(top, ";").concat(right, ";").concat(bottom, ";").concat(left);
|
|
314
376
|
return image.url.replace("public", "trim=".concat(trimValues));
|
|
315
377
|
};
|
|
316
|
-
var getAspectRatio = function getAspectRatio(
|
|
317
|
-
var fixedAspectRatio =
|
|
318
|
-
imageSize =
|
|
378
|
+
var getAspectRatio = function getAspectRatio(_ref9) {
|
|
379
|
+
var fixedAspectRatio = _ref9.fixedAspectRatio,
|
|
380
|
+
imageSize = _ref9.imageSize;
|
|
319
381
|
if (neetoCist.isPresent(fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.width) && neetoCist.isPresent(fixedAspectRatio === null || fixedAspectRatio === void 0 ? void 0 : fixedAspectRatio.height)) {
|
|
320
382
|
return fixedAspectRatio;
|
|
321
383
|
}
|
|
322
384
|
if (neetoCist.isPresent(imageSize === null || imageSize === void 0 ? void 0 : imageSize.width) && neetoCist.isPresent(imageSize === null || imageSize === void 0 ? void 0 : imageSize.height)) {
|
|
323
385
|
return getWholeNumberAspectRatio(imageSize);
|
|
324
386
|
}
|
|
325
|
-
return
|
|
326
|
-
width: 16,
|
|
327
|
-
height: 9
|
|
328
|
-
};
|
|
387
|
+
return DEFAULT_ASPECT_RATIO;
|
|
329
388
|
};
|
|
330
389
|
var getPixels = function getPixels(percentage, pixel) {
|
|
331
390
|
return Math.round(percentage / 100 * pixel);
|
|
@@ -333,10 +392,10 @@ var getPixels = function getPixels(percentage, pixel) {
|
|
|
333
392
|
var getPercentage = function getPercentage(crop, full) {
|
|
334
393
|
return crop / full * 100;
|
|
335
394
|
};
|
|
336
|
-
var getInitialCropSize = function getInitialCropSize(
|
|
337
|
-
var image =
|
|
338
|
-
aspectRatioFactor =
|
|
339
|
-
maxCropWidth =
|
|
395
|
+
var getInitialCropSize = function getInitialCropSize(_ref0) {
|
|
396
|
+
var image = _ref0.image,
|
|
397
|
+
aspectRatioFactor = _ref0.aspectRatioFactor,
|
|
398
|
+
maxCropWidth = _ref0.maxCropWidth;
|
|
340
399
|
var imageWidth = image.naturalWidth,
|
|
341
400
|
imageHeight = image.naturalHeight;
|
|
342
401
|
var imageAspectRatio = imageWidth / imageHeight;
|
|
@@ -364,16 +423,16 @@ var getWidthFromAspectRatio = function getWidthFromAspectRatio(height, aspectRat
|
|
|
364
423
|
return Math.round(height * aspectRatio.width / aspectRatio.height);
|
|
365
424
|
};
|
|
366
425
|
var getWrapperRefStyles = function getWrapperRefStyles(wrapperRef, imageRef) {
|
|
367
|
-
var
|
|
368
|
-
|
|
369
|
-
naturalHeight =
|
|
370
|
-
|
|
371
|
-
naturalWidth =
|
|
372
|
-
var
|
|
373
|
-
|
|
374
|
-
clientHeight =
|
|
375
|
-
|
|
376
|
-
clientWidth =
|
|
426
|
+
var _ref1 = imageRef.current || {},
|
|
427
|
+
_ref1$naturalHeight = _ref1.naturalHeight,
|
|
428
|
+
naturalHeight = _ref1$naturalHeight === void 0 ? 100 : _ref1$naturalHeight,
|
|
429
|
+
_ref1$naturalWidth = _ref1.naturalWidth,
|
|
430
|
+
naturalWidth = _ref1$naturalWidth === void 0 ? 100 : _ref1$naturalWidth;
|
|
431
|
+
var _ref10 = wrapperRef.current || {},
|
|
432
|
+
_ref10$clientHeight = _ref10.clientHeight,
|
|
433
|
+
clientHeight = _ref10$clientHeight === void 0 ? 100 : _ref10$clientHeight,
|
|
434
|
+
_ref10$clientWidth = _ref10.clientWidth,
|
|
435
|
+
clientWidth = _ref10$clientWidth === void 0 ? 100 : _ref10$clientWidth;
|
|
377
436
|
if (naturalWidth <= clientWidth && naturalHeight <= clientHeight) {
|
|
378
437
|
return {
|
|
379
438
|
maxWidth: naturalWidth
|
|
@@ -430,4 +489,5 @@ exports.getWrapperRefStyles = getWrapperRefStyles;
|
|
|
430
489
|
exports.isItemsCenter = isItemsCenter;
|
|
431
490
|
exports.isNilOrEmpty = isNilOrEmpty;
|
|
432
491
|
exports.isNotNilOrEmpty = isNotNilOrEmpty;
|
|
433
|
-
|
|
492
|
+
exports.useUploadDropzone = useUploadDropzone;
|
|
493
|
+
//# sourceMappingURL=utils-DQye8ufx.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils-DQye8ufx.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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"}
|
|
@@ -4,7 +4,7 @@ var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
|
4
4
|
require('@tanstack/react-query');
|
|
5
5
|
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
6
6
|
var axios = require('axios');
|
|
7
|
-
var imagekit_esm = require('./imagekit.esm-
|
|
7
|
+
var imagekit_esm = require('./imagekit.esm-ZYrS-YIL.js');
|
|
8
8
|
var query = require('./query-eZTZ-5Dm.js');
|
|
9
9
|
|
|
10
10
|
var create = function create(payload) {
|
|
@@ -76,4 +76,4 @@ exports.directUploadsApi = directUploadsApi;
|
|
|
76
76
|
exports.generateASCIIFileName = generateASCIIFileName;
|
|
77
77
|
exports.isGif = isGif;
|
|
78
78
|
exports.useCreateBlob = useCreateBlob;
|
|
79
|
-
//# sourceMappingURL=utils-
|
|
79
|
+
//# sourceMappingURL=utils-Dshsishe.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils-
|
|
1
|
+
{"version":3,"file":"utils-Dshsishe.js","sources":["../app/javascript/src/apis/direct_uploads.js","../app/javascript/src/hooks/useDirectUploads.js","../app/javascript/src/apis/cloudflare_image.js","../app/javascript/src/hooks/utils.js"],"sourcesContent":["import axios from \"axios\";\n\nimport { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\n\nconst create = payload =>\n axios.post(\n \"/api/direct_uploads\",\n { blob: payload },\n { transformRequestCase: false }\n );\n\nconst update = ({ id, payload }) =>\n axios.put(\n `${IMAGE_UPLOADER_BASE_URL}/api/direct_uploads/${id}`,\n { blob: payload },\n { transformRequestCase: false }\n );\nconst directUploadsApi = { create, update };\n\nexport default directUploadsApi;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useCreateBlob = options =>\n useMutationWithInvalidation(directUploadsApi.create, {\n keysToInvalidate: [QUERY_KEYS.ASSETS_LIST],\n ...options,\n });\n\nconst useUpdateBlob = options =>\n useMutation({ mutationFn: directUploadsApi.update, ...options });\n\nexport { useCreateBlob, useUpdateBlob };\n","import axios from \"axios\";\n\nimport { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\n\nconst generate = () =>\n axios.post(`${IMAGE_UPLOADER_BASE_URL}/cloudflare_images`);\n\nconst upload = ({ url, formData, setUploadProgress }) =>\n axios.post(url, formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n onUploadProgress: event => {\n const percentComplete = Math.round((event.loaded / event.total) * 100);\n setUploadProgress(percentComplete);\n },\n transformRequestCase: false,\n });\n\nconst cloudflareImageApi = { generate, upload };\n\nexport default cloudflareImageApi;\n","export const generateASCIIFileName = originalFileName => {\n const sanitizedFileName = originalFileName.replace(/[\\u00A0\\u202F]/g, \" \");\n\n if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {\n return originalFileName;\n }\n\n const extension = originalFileName.split(\".\").pop();\n\n return `image.${extension}`;\n};\n\nexport const isGif = fileOrImage =>\n fileOrImage?.type === \"image/gif\" || fileOrImage?.contentType === \"image/gif\";\n"],"names":["create","payload","axios","post","blob","transformRequestCase","update","_ref","id","put","concat","IMAGE_UPLOADER_BASE_URL","directUploadsApi","useCreateBlob","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","QUERY_KEYS","ASSETS_LIST","generate","upload","url","formData","setUploadProgress","headers","onUploadProgress","event","percentComplete","Math","round","loaded","total","cloudflareImageApi","generateASCIIFileName","originalFileName","sanitizedFileName","replace","test","extension","split","pop","isGif","fileOrImage","type","contentType"],"mappings":"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"}
|