@bigbinary/neeto-image-uploader-frontend 2.2.1 → 2.2.3

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.
@@ -1,15 +1,15 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('../index-7f064861.js');
4
- var utils = require('../utils-88cce499.js');
5
- require('react');
4
+ var utils = require('../utils-fb9d4ca1.js');
6
5
  var classnames = require('classnames');
7
6
  var neetoCist = require('@bigbinary/neeto-cist');
8
7
  var Delete$1 = require('@bigbinary/neeto-icons/Delete');
9
8
  var Button = require('@bigbinary/neetoui/Button');
10
- var ImageWithFallback = require('../ImageWithFallback-7492935f.js');
9
+ var ImageWithFallback = require('../ImageWithFallback-6087af1a.js');
11
10
  var jsxRuntime = require('react/jsx-runtime');
12
11
  require('@bigbinary/neeto-commons-frontend/initializers');
12
+ require('react');
13
13
  require('react-dropzone');
14
14
  require('i18next');
15
15
  require('@bigbinary/neetoui/Toastr');
@@ -1 +1 @@
1
- {"version":3,"file":"BasicImageUploader.js","sources":["../../app/javascript/src/components/BasicImageUploader.jsx"],"sourcesContent":["import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport ImageDirectUpload from \"./common/ImageDirectUpload\";\nimport ImageWithFallback from \"./common/ImageWithFallback\";\nimport { IMAGE_WRAPPER_CLASSNAME } from \"./constants\";\nimport { isNilOrEmpty, isNotNilOrEmpty } from \"./ImageEditor/utils\";\n\nconst BasicImageUploader = ({\n src = \"\",\n className = \"\",\n imageFallbackProps = { alt: \"Uplaoded Image\", className: \"h-full w-full\" },\n onDrop = noop,\n isDisabled = false,\n onRemove = noop,\n ...props\n}) => (\n <div\n className={classnames(className, {\n \"cursor-pointer\": true,\n \"cursor-not-allowed\": isDisabled,\n \"opacity-70\": isDisabled && isNilOrEmpty(src),\n })}\n >\n {isNotNilOrEmpty(src) ? (\n <div className={IMAGE_WRAPPER_CLASSNAME}>\n <ImageWithFallback\n {...{ ...imageFallbackProps, src }}\n data-cy=\"uploaded-image\"\n />\n <Button\n className=\"absolute right-3 top-3\"\n data-cy=\"basic-image-uploader-remove-button\"\n disabled={isDisabled}\n icon={Delete}\n size=\"small\"\n onClick={onRemove}\n />\n </div>\n ) : (\n <ImageDirectUpload {...{ ...props, isDisabled, onDrop }} />\n )}\n </div>\n);\n\nexport default BasicImageUploader;\n"],"names":["BasicImageUploader","_ref","_ref$src","src","_ref$className","className","_ref$imageFallbackPro","imageFallbackProps","alt","_ref$onDrop","onDrop","noop","_ref$isDisabled","isDisabled","_ref$onRemove","onRemove","props","_objectWithoutProperties","_excluded","_jsx","classnames","isNilOrEmpty","children","isNotNilOrEmpty","_jsxs","IMAGE_WRAPPER_CLASSNAME","ImageWithFallback","_objectSpread","Button","disabled","icon","Delete","size","onClick","ImageDirectUpload"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,QAAA,GAAAD,IAAA,CACtBE,GAAG;AAAHA,IAAAA,GAAG,GAAAD,QAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,QAAA;IAAAE,cAAA,GAAAH,IAAA,CACRI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,qBAAA,GAAAL,IAAA,CACdM,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,GAAG,EAAE,gBAAgB;AAAEH,MAAAA,SAAS,EAAE,eAAA;AAAgB,KAAC,GAAAC,qBAAA;IAAAG,WAAA,GAAAR,IAAA,CAC1ES,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,WAAA;IAAAG,eAAA,GAAAX,IAAA,CACbY,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAE,aAAA,GAAAb,IAAA,CAClBc,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGH,KAAAA,CAAAA,GAAAA,cAAI,GAAAG,aAAA;AACZE,IAAAA,KAAK,GAAAC,8BAAA,CAAAhB,IAAA,EAAAiB,SAAA,CAAA,CAAA;AAAA,EAAA,oBAERC,cAAA,CAAA,KAAA,EAAA;AACEd,IAAAA,SAAS,EAAEe,8BAAU,CAACf,SAAS,EAAE;AAC/B,MAAA,gBAAgB,EAAE,IAAI;AACtB,MAAA,oBAAoB,EAAEQ,UAAU;AAChC,MAAA,YAAY,EAAEA,UAAU,IAAIQ,kBAAY,CAAClB,GAAG,CAAA;AAC9C,KAAC,CAAE;AAAAmB,IAAAA,QAAA,EAEFC,qBAAe,CAACpB,GAAG,CAAC,gBACnBqB,eAAA,CAAA,KAAA,EAAA;AAAKnB,MAAAA,SAAS,EAAEoB,6BAAwB;AAAAH,MAAAA,QAAA,EACtCH,cAAAA,cAAA,CAACO,mCAAiB,EAAAC,aAAA,CAAAA,aAAA,CAAAA,EAAAA,EAAAA,aAAA,CAAAA,aAAA,KACPpB,kBAAkB,CAAA,EAAA,EAAA,EAAA;AAAEJ,QAAAA,GAAG,EAAHA,GAAAA;AAAG,OAAA,CAAA,CAAA,EAAA,EAAA,EAAA;QAChC,SAAQ,EAAA,gBAAA;AAAgB,OAAA,CACzB,CAAC,eACFgB,cAAA,CAACS,0BAAM,EAAA;AACLvB,QAAAA,SAAS,EAAC,wBAAwB;AAClC,QAAA,SAAA,EAAQ,oCAAoC;AAC5CwB,QAAAA,QAAQ,EAAEhB,UAAW;AACrBiB,QAAAA,IAAI,EAAEC,4BAAO;AACbC,QAAAA,IAAI,EAAC,OAAO;AACZC,QAAAA,OAAO,EAAElB,QAAAA;AAAS,OACnB,CAAC,CAAA;AAAA,KACC,CAAC,gBAENI,cAAA,CAACe,mCAAiB,EAAAP,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUX,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEH,MAAAA,UAAU,EAAVA,UAAU;AAAEH,MAAAA,MAAM,EAANA,MAAAA;KAAW,CAAA,CAAA,CAAA;AAC3D,GACE,CAAC,CAAA;AAAA;;;;"}
1
+ {"version":3,"file":"BasicImageUploader.js","sources":["../../app/javascript/src/components/BasicImageUploader.jsx"],"sourcesContent":["import classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Delete } from \"neetoicons\";\nimport { Button } from \"neetoui\";\n\nimport ImageDirectUpload from \"./common/ImageDirectUpload\";\nimport ImageWithFallback from \"./common/ImageWithFallback\";\nimport { IMAGE_WRAPPER_CLASSNAME } from \"./constants\";\nimport { isNilOrEmpty, isNotNilOrEmpty } from \"./ImageEditor/utils\";\n\nconst BasicImageUploader = ({\n src = \"\",\n className = \"\",\n imageFallbackProps = { alt: \"Uplaoded Image\", className: \"h-full w-full\" },\n onDrop = noop,\n isDisabled = false,\n onRemove = noop,\n ...props\n}) => (\n <div\n className={classnames(className, {\n \"cursor-pointer\": true,\n \"cursor-not-allowed\": isDisabled,\n \"opacity-70\": isDisabled && isNilOrEmpty(src),\n })}\n >\n {isNotNilOrEmpty(src) ? (\n <div className={IMAGE_WRAPPER_CLASSNAME}>\n <ImageWithFallback\n {...{ ...imageFallbackProps, src }}\n data-cy=\"uploaded-image\"\n />\n <Button\n className=\"absolute right-3 top-3\"\n data-cy=\"basic-image-uploader-remove-button\"\n disabled={isDisabled}\n icon={Delete}\n size=\"small\"\n onClick={onRemove}\n />\n </div>\n ) : (\n <ImageDirectUpload {...{ ...props, isDisabled, onDrop }} />\n )}\n </div>\n);\n\nexport default BasicImageUploader;\n"],"names":["BasicImageUploader","_ref","_ref$src","src","_ref$className","className","_ref$imageFallbackPro","imageFallbackProps","alt","_ref$onDrop","onDrop","noop","_ref$isDisabled","isDisabled","_ref$onRemove","onRemove","props","_objectWithoutProperties","_excluded","_jsx","classnames","isNilOrEmpty","children","isNotNilOrEmpty","_jsxs","IMAGE_WRAPPER_CLASSNAME","ImageWithFallback","_objectSpread","Button","disabled","icon","Delete","size","onClick","ImageDirectUpload"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,IAAMA,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,QAAA,GAAAD,IAAA,CACtBE,GAAG;AAAHA,IAAAA,GAAG,GAAAD,QAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,QAAA;IAAAE,cAAA,GAAAH,IAAA,CACRI,SAAS;AAATA,IAAAA,SAAS,GAAAD,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;IAAAE,qBAAA,GAAAL,IAAA,CACdM,kBAAkB;IAAlBA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA;AAAEE,MAAAA,GAAG,EAAE,gBAAgB;AAAEH,MAAAA,SAAS,EAAE,eAAA;AAAgB,KAAC,GAAAC,qBAAA;IAAAG,WAAA,GAAAR,IAAA,CAC1ES,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,WAAA;IAAAG,eAAA,GAAAX,IAAA,CACbY,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAAAE,aAAA,GAAAb,IAAA,CAClBc,QAAQ;AAARA,IAAAA,QAAQ,GAAAD,aAAA,KAAGH,KAAAA,CAAAA,GAAAA,cAAI,GAAAG,aAAA;AACZE,IAAAA,KAAK,GAAAC,8BAAA,CAAAhB,IAAA,EAAAiB,SAAA,CAAA,CAAA;AAAA,EAAA,oBAERC,cAAA,CAAA,KAAA,EAAA;AACEd,IAAAA,SAAS,EAAEe,8BAAU,CAACf,SAAS,EAAE;AAC/B,MAAA,gBAAgB,EAAE,IAAI;AACtB,MAAA,oBAAoB,EAAEQ,UAAU;AAChC,MAAA,YAAY,EAAEA,UAAU,IAAIQ,kBAAY,CAAClB,GAAG,CAAA;AAC9C,KAAC,CAAE;AAAAmB,IAAAA,QAAA,EAEFC,qBAAe,CAACpB,GAAG,CAAC,gBACnBqB,eAAA,CAAA,KAAA,EAAA;AAAKnB,MAAAA,SAAS,EAAEoB,6BAAwB;AAAAH,MAAAA,QAAA,EACtCH,cAAAA,cAAA,CAACO,mCAAiB,EAAAC,aAAA,CAAAA,aAAA,CAAAA,EAAAA,EAAAA,aAAA,CAAAA,aAAA,KACPpB,kBAAkB,CAAA,EAAA,EAAA,EAAA;AAAEJ,QAAAA,GAAG,EAAHA,GAAAA;AAAG,OAAA,CAAA,CAAA,EAAA,EAAA,EAAA;QAChC,SAAQ,EAAA,gBAAA;AAAgB,OAAA,CACzB,CAAC,eACFgB,cAAA,CAACS,0BAAM,EAAA;AACLvB,QAAAA,SAAS,EAAC,wBAAwB;AAClC,QAAA,SAAA,EAAQ,oCAAoC;AAC5CwB,QAAAA,QAAQ,EAAEhB,UAAW;AACrBiB,QAAAA,IAAI,EAAEC,4BAAO;AACbC,QAAAA,IAAI,EAAC,OAAO;AACZC,QAAAA,OAAO,EAAElB,QAAAA;AAAS,OACnB,CAAC,CAAA;AAAA,KACC,CAAC,gBAENI,cAAA,CAACe,mCAAiB,EAAAP,aAAA,CAAA,EAAA,EAAAA,aAAA,CAAAA,aAAA,CAAA,EAAA,EAAUX,KAAK,CAAA,EAAA,EAAA,EAAA;AAAEH,MAAAA,UAAU,EAAVA,UAAU;AAAEH,MAAAA,MAAM,EAANA,MAAAA;KAAW,CAAA,CAAA,CAAA;AAC3D,GACE,CAAC,CAAA;AAAA;;;;"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var index = require('../index-7f064861.js');
4
- var utils = require('../utils-88cce499.js');
4
+ var utils = require('../utils-fb9d4ca1.js');
5
5
  var require$$0 = require('react');
6
6
  var classnames = require('classnames');
7
7
  var neetoCist = require('@bigbinary/neeto-cist');
@@ -10,7 +10,7 @@ var Dropdown = require('@bigbinary/neetoui/Dropdown');
10
10
  var Toastr = require('@bigbinary/neetoui/Toastr');
11
11
  var ramda = require('ramda');
12
12
  var reactI18next = require('react-i18next');
13
- var ImageWithFallback = require('../ImageWithFallback-7492935f.js');
13
+ var ImageWithFallback = require('../ImageWithFallback-6087af1a.js');
14
14
  var AssetLibrary = require('./AssetLibrary.js');
15
15
  var useImageUploader = require('../useImageUploader-550a5fdc.js');
16
16
  var jsxRuntime = require('react/jsx-runtime');
@@ -1 +1 @@
1
- {"version":3,"file":"ImageUploader.js","sources":["../../app/javascript/src/components/ImageUploader/index.jsx"],"sourcesContent":["import React, { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, noop } from \"neetocist\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown, Toastr } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ImageDirectUpload from \"components/common/ImageDirectUpload\";\nimport ImageWithFallback from \"components/common/ImageWithFallback\";\nimport { IMAGE_WRAPPER_CLASSNAME } from \"components/constants\";\nimport { isNotNilOrEmpty } from \"components/ImageEditor/utils\";\nimport AssetLibrary from \"components/Modal\";\nimport { useCreateBlob } from \"hooks/useDirectUploads\";\nimport useImageUploader from \"hooks/useImageUploader\";\nimport { IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { DEFAULT_UPLOAD_CONFIG, OPTION_KEYS } from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst ImageUploader = ({\n onUploadComplete = noop,\n className = \"\",\n src = \"\",\n uploadConfig = {},\n fixedAspectRatio = {},\n}) => {\n const [isAssetLibraryOpen, setIsAssetLibraryOpen] = useState(false);\n const [image, setImage] = useState({ url: src });\n\n const { t } = useTranslation();\n\n const { mutate: createBlob } = useCreateBlob();\n\n const uploadConfigWithDefaults = mergeRight(\n DEFAULT_UPLOAD_CONFIG,\n uploadConfig\n );\n\n const handleDelete = () => {\n setImage({});\n onChange({\n url: \"\",\n signedId: \"\",\n key: \"\",\n filename: \"\",\n size: \"\",\n type: \"\",\n });\n };\n\n const onChange = file => onUploadComplete(file);\n\n const handleSuccess = attachedImage => {\n setImage(mergeRight(image, { url: attachedImage.metadata.url }));\n onChange({\n filename: attachedImage.filename,\n key: attachedImage.key,\n url: attachedImage.blobUrl,\n signedId: attachedImage.signedId,\n size: attachedImage.byteSize,\n type: attachedImage.contentType,\n });\n };\n\n const handleImageSelectionFromLibrary = image => {\n setImage(image);\n onChange(image);\n };\n\n const handleUploadComplete = image => {\n if (IS_DEVELOPMENT_OR_HEROKU_ENV) {\n handleSuccess(mergeRight(image, { metadata: { url: image.url } }));\n\n return;\n }\n\n const payload = {\n filename: image.name,\n byte_size: image.size,\n content_type: image.fileType,\n checksum: image.fileId,\n metadata: image,\n service_name: \"imagekitio\",\n };\n\n createBlob(payload, {\n onSuccess: handleSuccess,\n onError: Toastr.error,\n });\n };\n\n const { uploadFile } = useImageUploader({\n onUploadComplete: handleUploadComplete,\n });\n\n const options = [\n {\n key: OPTION_KEYS.asset,\n label: t(\"neetoImageUploader.imageUpload.imageLibrary\"),\n onClick: () => setIsAssetLibraryOpen(true),\n \"data-cy\": \"image-uploader-open-image-library-button\",\n },\n {\n key: OPTION_KEYS.remove,\n label: t(\"neetoImageUploader.imageUpload.remove\"),\n onClick: handleDelete,\n \"data-cy\": \"image-uploader-remove-button\",\n },\n ];\n\n return (\n <div className={classnames(className, { \"cursor-pointer\": true })}>\n {isNotNilOrEmpty(image.url) ? (\n <div\n className={IMAGE_WRAPPER_CLASSNAME}\n data-cy=\"image-uploader-wrapper\"\n >\n <ImageWithFallback\n className=\"h-full w-full\"\n data-cy=\"uploaded-image\"\n src={image.url}\n />\n <Dropdown\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={MenuHorizontal}\n buttonProps={{\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n className: \"absolute right-3 top-3 rounded-full\",\n }}\n >\n <Menu>\n {options.map(({ key, label, ...otherProps }) => (\n <MenuItem.Button {...otherProps} key={key}>\n {label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n </div>\n ) : (\n <ImageDirectUpload\n {...{ setIsAssetLibraryOpen }}\n isDisabled={isPresent(fixedAspectRatio)}\n uploadConfig={uploadConfigWithDefaults}\n onDrop={uploadFile}\n />\n )}\n <AssetLibrary\n {...{ fixedAspectRatio }}\n isOpen={isAssetLibraryOpen}\n uploadConfig={uploadConfigWithDefaults}\n onClose={() => setIsAssetLibraryOpen(false)}\n onUploadComplete={handleImageSelectionFromLibrary}\n />\n </div>\n );\n};\n\nexport default ImageUploader;\n"],"names":["Menu","Dropdown","MenuItem","ImageUploader","_ref","_ref$onUploadComplete","onUploadComplete","noop","_ref$className","className","_ref$src","src","_ref$uploadConfig","uploadConfig","_ref$fixedAspectRatio","fixedAspectRatio","_useState","useState","_useState2","_slicedToArray","isAssetLibraryOpen","setIsAssetLibraryOpen","_useState3","url","_useState4","image","setImage","_useTranslation","useTranslation","t","_useCreateBlob","useCreateBlob","createBlob","mutate","uploadConfigWithDefaults","mergeRight","DEFAULT_UPLOAD_CONFIG","handleDelete","onChange","signedId","key","filename","size","type","file","handleSuccess","attachedImage","metadata","blobUrl","byteSize","contentType","handleImageSelectionFromLibrary","handleUploadComplete","IS_DEVELOPMENT_OR_HEROKU_ENV","payload","name","byte_size","content_type","fileType","checksum","fileId","service_name","onSuccess","onError","Toastr","error","_useImageUploader","useImageUploader","uploadFile","options","OPTION_KEYS","asset","label","onClick","remove","_jsxs","classnames","children","isNotNilOrEmpty","IMAGE_WRAPPER_CLASSNAME","_jsx","ImageWithFallback","buttonSize","buttonStyle","icon","MenuHorizontal","buttonProps","map","_ref2","otherProps","_objectWithoutProperties","_excluded","_createElement","Button","_objectSpread","ImageDirectUpload","isDisabled","isPresent","onDrop","AssetLibrary","isOpen","onClose"],"mappings":"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"}
1
+ {"version":3,"file":"ImageUploader.js","sources":["../../app/javascript/src/components/ImageUploader/index.jsx"],"sourcesContent":["import { useState } from \"react\";\n\nimport classnames from \"classnames\";\nimport { isPresent, noop } from \"neetocist\";\nimport { MenuHorizontal } from \"neetoicons\";\nimport { Dropdown, Toastr } from \"neetoui\";\nimport { mergeRight } from \"ramda\";\nimport { useTranslation } from \"react-i18next\";\n\nimport ImageDirectUpload from \"components/common/ImageDirectUpload\";\nimport ImageWithFallback from \"components/common/ImageWithFallback\";\nimport { IMAGE_WRAPPER_CLASSNAME } from \"components/constants\";\nimport { isNotNilOrEmpty } from \"components/ImageEditor/utils\";\nimport AssetLibrary from \"components/Modal\";\nimport { useCreateBlob } from \"hooks/useDirectUploads\";\nimport useImageUploader from \"hooks/useImageUploader\";\nimport { IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { DEFAULT_UPLOAD_CONFIG, OPTION_KEYS } from \"./constants\";\n\nconst { Menu, MenuItem } = Dropdown;\n\nconst ImageUploader = ({\n onUploadComplete = noop,\n className = \"\",\n src = \"\",\n uploadConfig = {},\n fixedAspectRatio = {},\n}) => {\n const [isAssetLibraryOpen, setIsAssetLibraryOpen] = useState(false);\n const [image, setImage] = useState({ url: src });\n\n const { t } = useTranslation();\n\n const { mutate: createBlob } = useCreateBlob();\n\n const uploadConfigWithDefaults = mergeRight(\n DEFAULT_UPLOAD_CONFIG,\n uploadConfig\n );\n\n const handleDelete = () => {\n setImage({});\n onChange({\n url: \"\",\n signedId: \"\",\n key: \"\",\n filename: \"\",\n size: \"\",\n type: \"\",\n });\n };\n\n const onChange = file => onUploadComplete(file);\n\n const handleSuccess = attachedImage => {\n setImage(mergeRight(image, { url: attachedImage.metadata.url }));\n onChange({\n filename: attachedImage.filename,\n key: attachedImage.key,\n url: attachedImage.blobUrl,\n signedId: attachedImage.signedId,\n size: attachedImage.byteSize,\n type: attachedImage.contentType,\n });\n };\n\n const handleImageSelectionFromLibrary = image => {\n setImage(image);\n onChange(image);\n };\n\n const handleUploadComplete = image => {\n if (IS_DEVELOPMENT_OR_HEROKU_ENV) {\n handleSuccess(mergeRight(image, { metadata: { url: image.url } }));\n\n return;\n }\n\n const payload = {\n filename: image.name,\n byte_size: image.size,\n content_type: image.fileType,\n checksum: image.fileId,\n metadata: image,\n service_name: \"imagekitio\",\n };\n\n createBlob(payload, {\n onSuccess: handleSuccess,\n onError: Toastr.error,\n });\n };\n\n const { uploadFile } = useImageUploader({\n onUploadComplete: handleUploadComplete,\n });\n\n const options = [\n {\n key: OPTION_KEYS.asset,\n label: t(\"neetoImageUploader.imageUpload.imageLibrary\"),\n onClick: () => setIsAssetLibraryOpen(true),\n \"data-cy\": \"image-uploader-open-image-library-button\",\n },\n {\n key: OPTION_KEYS.remove,\n label: t(\"neetoImageUploader.imageUpload.remove\"),\n onClick: handleDelete,\n \"data-cy\": \"image-uploader-remove-button\",\n },\n ];\n\n return (\n <div className={classnames(className, { \"cursor-pointer\": true })}>\n {isNotNilOrEmpty(image.url) ? (\n <div\n className={IMAGE_WRAPPER_CLASSNAME}\n data-cy=\"image-uploader-wrapper\"\n >\n <ImageWithFallback\n className=\"h-full w-full\"\n data-cy=\"uploaded-image\"\n src={image.url}\n />\n <Dropdown\n buttonSize=\"small\"\n buttonStyle=\"tertiary\"\n icon={MenuHorizontal}\n buttonProps={{\n // eslint-disable-next-line @bigbinary/neeto/use-neetoui-classes\n className: \"absolute right-3 top-3 rounded-full\",\n }}\n >\n <Menu>\n {options.map(({ key, label, ...otherProps }) => (\n <MenuItem.Button {...otherProps} key={key}>\n {label}\n </MenuItem.Button>\n ))}\n </Menu>\n </Dropdown>\n </div>\n ) : (\n <ImageDirectUpload\n {...{ setIsAssetLibraryOpen }}\n isDisabled={isPresent(fixedAspectRatio)}\n uploadConfig={uploadConfigWithDefaults}\n onDrop={uploadFile}\n />\n )}\n <AssetLibrary\n {...{ fixedAspectRatio }}\n isOpen={isAssetLibraryOpen}\n uploadConfig={uploadConfigWithDefaults}\n onClose={() => setIsAssetLibraryOpen(false)}\n onUploadComplete={handleImageSelectionFromLibrary}\n />\n </div>\n );\n};\n\nexport default ImageUploader;\n"],"names":["Menu","Dropdown","MenuItem","ImageUploader","_ref","_ref$onUploadComplete","onUploadComplete","noop","_ref$className","className","_ref$src","src","_ref$uploadConfig","uploadConfig","_ref$fixedAspectRatio","fixedAspectRatio","_useState","useState","_useState2","_slicedToArray","isAssetLibraryOpen","setIsAssetLibraryOpen","_useState3","url","_useState4","image","setImage","_useTranslation","useTranslation","t","_useCreateBlob","useCreateBlob","createBlob","mutate","uploadConfigWithDefaults","mergeRight","DEFAULT_UPLOAD_CONFIG","handleDelete","onChange","signedId","key","filename","size","type","file","handleSuccess","attachedImage","metadata","blobUrl","byteSize","contentType","handleImageSelectionFromLibrary","handleUploadComplete","IS_DEVELOPMENT_OR_HEROKU_ENV","payload","name","byte_size","content_type","fileType","checksum","fileId","service_name","onSuccess","onError","Toastr","error","_useImageUploader","useImageUploader","uploadFile","options","OPTION_KEYS","asset","label","onClick","remove","_jsxs","classnames","children","isNotNilOrEmpty","IMAGE_WRAPPER_CLASSNAME","_jsx","ImageWithFallback","buttonSize","buttonStyle","icon","MenuHorizontal","buttonProps","map","_ref2","otherProps","_objectWithoutProperties","_excluded","_createElement","Button","_objectSpread","ImageDirectUpload","isDisabled","isPresent","onDrop","AssetLibrary","isOpen","onClose"],"mappings":"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"}
package/dist/cjs/index.js CHANGED
@@ -8,7 +8,7 @@ var AssetLibrary = require('./AssetLibrary.js');
8
8
  var useProfileImageUpload = require('../useProfileImageUpload-f0088c2a.js');
9
9
  var useImageUploader = require('../useImageUploader-550a5fdc.js');
10
10
  require('../index-7f064861.js');
11
- require('../utils-88cce499.js');
11
+ require('../utils-fb9d4ca1.js');
12
12
  require('@bigbinary/neeto-commons-frontend/initializers');
13
13
  require('react');
14
14
  require('react-dropzone');
@@ -19,7 +19,7 @@ require('ramda');
19
19
  require('classnames');
20
20
  require('@bigbinary/neeto-icons/Delete');
21
21
  require('@bigbinary/neetoui/Button');
22
- require('../ImageWithFallback-7492935f.js');
22
+ require('../ImageWithFallback-6087af1a.js');
23
23
  require('@bigbinary/neetoui/Typography');
24
24
  require('react-i18next');
25
25
  require('react/jsx-runtime');
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@ export { default as AssetLibrary } from './AssetLibrary.js';
4
4
  export { u as useImageUpload, a as useProfileImageUpload } from './useProfileImageUpload-837e76b8.js';
5
5
  export { e as useImageUploader } from './useImageUploader-36a03350.js';
6
6
  import './index-b9963255.js';
7
- import './utils-96eacd77.js';
7
+ import './utils-0360fcc5.js';
8
8
  import '@bigbinary/neeto-commons-frontend/initializers';
9
9
  import 'react';
10
10
  import 'react-dropzone';
@@ -15,7 +15,7 @@ import 'ramda';
15
15
  import 'classnames';
16
16
  import '@bigbinary/neeto-icons/Delete';
17
17
  import '@bigbinary/neetoui/Button';
18
- import './ImageWithFallback-e6b44c73.js';
18
+ import './ImageWithFallback-857a085b.js';
19
19
  import '@bigbinary/neetoui/Typography';
20
20
  import 'react-i18next';
21
21
  import 'react/jsx-runtime';
@@ -51,7 +51,7 @@ var OPTION_KEYS = {
51
51
  remove: "remove"
52
52
  };
53
53
 
54
- var DROPZONE_ROOT_DIV_CLASSNAME = "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";
54
+ var DROPZONE_ROOT_DIV_CLASSNAME = "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-4 transition-all duration-300 ease-in-out";
55
55
  var FILE_ERRORS = {
56
56
  "file-invalid-type": t("neetoImageUploader.imageUpload.fileTypeError"),
57
57
  "file-too-large": t("neetoImageUploader.imageUpload.fileSizeError")
@@ -245,4 +245,4 @@ var isItemsCenter = function isItemsCenter(_ref4) {
245
245
  };
246
246
 
247
247
  export { ASSETS_DESTROY_URL as A, DEFAULT_CROP_CONFIG as D, IMAGES_PER_PAGE as I, OPTIONS as O, TABS as T, UNSPLASH_DEFAULT_NAME as U, _objectWithoutProperties as _, isItemsCenter as a, getCropValues as b, INFINITE_SCROLLER_SIZES as c, INFINITE_SCROLLER_STYLE as d, ASSETS_FETCH_URL as e, UNSPLASH_DEFAULT_REQUEST_CONFIG as f, getCroppedImageURL as g, DEFAULT_UPLOAD_CONFIG as h, isNilOrEmpty as i, UNSPLASH_URL as j, OPTION_KEYS as k, isNotNilOrEmpty as l, IMAGE_WRAPPER_CLASSNAME as m, DROPZONE_ROOT_DIV_CLASSNAME as n, onImageLoaded as o, useUploadDropzone as u };
248
- //# sourceMappingURL=utils-96eacd77.js.map
248
+ //# sourceMappingURL=utils-0360fcc5.js.map
@@ -1 +1 @@
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":";;;;;;;;;AAAe,SAAS,6BAA6B,CAAC,MAAM,EAAE,QAAQ,EAAE;AACxE,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;AAChC,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;AAClB,EAAE,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvC,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AACb,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC1C,IAAI,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS;AAC7C,IAAI,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAC9B,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;ACVe,SAAS,wBAAwB,CAAC,MAAM,EAAE,QAAQ,EAAE;AACnE,EAAE,IAAI,MAAM,IAAI,IAAI,EAAE,OAAO,EAAE,CAAC;AAChC,EAAE,IAAI,MAAM,GAAGA,6BAA4B,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAC9D,EAAE,IAAI,GAAG,EAAE,CAAC,CAAC;AACb,EAAE,IAAI,MAAM,CAAC,qBAAqB,EAAE;AACpC,IAAI,IAAI,gBAAgB,GAAG,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;AAChE,IAAI,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,MAAM,GAAG,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAChC,MAAM,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,SAAS;AAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,SAAS;AAC7E,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;AAChC,KAAK;AACL,GAAG;AACH,EAAE,OAAO,MAAM,CAAC;AAChB;;ACbO,IAAMC,2BAA2B,GAAG;EACzC,WAAW,EAAE,CAAC,MAAM,CAAC;AACrB,EAAA,WAAW,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC;EAC9B,WAAW,EAAE,CAAC,MAAM,CAAC;EACrB,eAAe,EAAE,CAAC,MAAM,CAAA;AAC1B,CAAC,CAAA;AAEM,IAAMC,qBAAqB,GAAG;EACnCC,YAAY,EAAEC,WAAW,CAACC,gCAAgC;AAC1DC,EAAAA,iBAAiB,EAAEL,2BAAAA;AACrB,EAAC;AAEM,IAAMM,WAAW,GAAG;AAAEC,EAAAA,KAAK,EAAE,OAAO;AAAEC,EAAAA,MAAM,EAAE,QAAA;AAAS;;ACZvD,IAAMC,2BAA2B,GACtC,4MAA2M;AAEtM,IAAMC,WAAW,GAAG;AACzB,EAAA,mBAAmB,EAAEC,CAAC,CAAC,8CAA8C,CAAC;EACtE,gBAAgB,EAAEA,CAAC,CAAC,8CAA8C,CAAA;AACpE,CAAC;;ACHM,IAAMC,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAGC,cAAc,EAAI;AAClDA,EAAAA,cAAc,CAACC,GAAG,CAAC,UAAAC,IAAA,EAAA;AAAA,IAAA,IAAGC,MAAM,GAAAD,IAAA,CAANC,MAAM,CAAA;AAAA,IAAA,OAC1BA,MAAM,CAACF,GAAG,CAAC,UAAAG,KAAA,EAAA;AAAA,MAAA,IAAGC,IAAI,GAAAD,KAAA,CAAJC,IAAI,CAAA;AAAA,MAAA,OAChBC,MAAM,CAACC,KAAK,CACVV,WAAW,CAACQ,IAAI,CAAC,IAAIP,CAAC,CAAC,6CAA6C,CACtE,CAAC,CAAA;AAAA,KACH,CAAC,CAAA;AAAA,GACH,CAAC,CAAA;AACH,CAAC;;ACPD,IAAMU,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAN,IAAA,EAGjB;AAAA,EAAA,IAAAO,iBAAA,GAAAP,IAAA,CAFJQ,YAAY;IAAZA,YAAY,GAAAD,iBAAA,KAAG,KAAA,CAAA,GAAA;AAAEjB,MAAAA,iBAAiB,EAAE,EAAE;AAAEH,MAAAA,YAAY,EAAE,CAAA;AAAE,KAAC,GAAAoB,iBAAA;IACzDE,OAAM,GAAAT,IAAA,CAANS,MAAM,CAAA;AAEN,EAAA,IAAAC,SAAA,GAA4CC,QAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDI,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;EAExC,IAAAI,YAAA,GAAgEC,WAAW,CAAC;MAC1ER,MAAM,EAAE,SAAAA,MAAAA,CAAAS,aAAa,EAAA;QAAA,OAAIT,OAAM,CAACS,aAAa,CAAC,CAAC,CAAC,EAAEH,iBAAiB,CAAC,CAAA;AAAA,OAAA;AACpEI,MAAAA,MAAM,EAAEX,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAZA,KAAAA,CAAAA,GAAAA,KAAAA,CAAAA,GAAAA,YAAY,CAAElB,iBAAiB;AACvC8B,MAAAA,QAAQ,EAAE,KAAK;AACfC,MAAAA,OAAO,EAAEb,YAAY,CAACrB,YAAY,GAAG,OAAS;AAC9CmC,MAAAA,cAAc,EAAEzB,kBAAAA;AAClB,KAAC,CAAC;IANM0B,YAAY,GAAAP,YAAA,CAAZO,YAAY;IAAEC,aAAa,GAAAR,YAAA,CAAbQ,aAAa;IAAEC,YAAY,GAAAT,YAAA,CAAZS,YAAY;IAAEC,QAAQ,GAAAV,YAAA,CAARU,QAAQ,CAAA;EAQ3D,OAAO;AACLH,IAAAA,YAAY,EAAZA,YAAY;AACZC,IAAAA,aAAa,EAAbA,aAAa;AACbC,IAAAA,YAAY,EAAZA,YAAY;AACZX,IAAAA,cAAc,EAAdA,cAAc;AACdY,IAAAA,QAAQ,EAARA,QAAAA;GACD,CAAA;AACH;;ACtBO,IAAMC,qBAAqB,GAAG,iBAAgB;AAE9C,IAAMC,YAAY,GAAG,wBAAuB;AAE5C,IAAMC,eAAe,GAAG,GAAE;AAE1B,IAAMC,+BAA+B,GAAG;AAC7CC,EAAAA,OAAO,EAAE;AACP,IAAA,6BAA6B,EAAE,GAAG;AAClC,IAAA,8BAA8B,EAAE,KAAA;GACjC;AACDC,EAAAA,YAAY,EAAE,MAAA;AAChB,EAAC;AAEM,IAAMC,IAAI,GAAG,CAClB;AACEC,EAAAA,KAAK,EAAEC,OAAO,CAACvC,CAAC,CAAC,oCAAoC,CAAC;AACtDwC,EAAAA,GAAG,EAAE,QAAQ;AACbC,EAAAA,MAAM,EAAE,oCAAA;AACV,CAAC,EACD;AACEH,EAAAA,KAAK,EAAEC,OAAO,CAACvC,CAAC,CAAC,wCAAwC,CAAC;AAC1DwC,EAAAA,GAAG,EAAE,UAAU;AACfC,EAAAA,MAAM,EAAE,mCAAA;AACV,CAAC,EACF;AAEM,IAAMC,OAAO,GAAG,CACrB;AACEF,EAAAA,GAAG,EAAE,OAAO;AACZF,EAAAA,KAAK,EAAEC,OAAO,CAACvC,CAAC,CAAC,0CAA0C,CAAC;AAC5D,EAAA,SAAS,EAAE,kBAAkB;AAC7B2C,EAAAA,KAAK,EAAE,SAAS;AAChBC,EAAAA,OAAO,EAAEC,IAAAA;AACX,CAAC,EACF;AAEM,IAAMC,mBAAmB,GAAG;AACjCC,EAAAA,IAAI,EAAE,IAAI;AACVC,EAAAA,MAAM,EAAE,CAAC;AACTC,EAAAA,KAAK,EAAE,CAAC;AACRC,EAAAA,CAAC,EAAE,CAAC;AACJC,EAAAA,CAAC,EAAE,CAAA;AACL,EAAC;AAKM,IAAMC,uBAAuB,GAAG,CACrC;AAAEC,EAAAA,OAAO,EAAE,CAAC;AAAEC,EAAAA,MAAM,EAAE,CAAA;AAAE,CAAC,EACzB;AAAEC,EAAAA,EAAE,EAAE,OAAO;AAAEF,EAAAA,OAAO,EAAE,CAAC;AAAEC,EAAAA,MAAM,EAAE,CAAA;AAAE,CAAC,EACtC;AAAEC,EAAAA,EAAE,EAAE,QAAQ;AAAEF,EAAAA,OAAO,EAAE,CAAC;AAAEC,EAAAA,MAAM,EAAE,CAAA;AAAE,CAAC,EACxC;AAEM,IAAME,uBAAuB,GAAG;AAAEP,EAAAA,KAAK,EAAE,MAAA;AAAO,EAAC;IAM3CQ,gBAAgB,GAAGC,4BAA4B,GACxD,+CAA+C,GAC/C,6CAA4C;IAEnCC,kBAAkB,GAAGD,4BAA4B,GAC1D,sDAAsD,GACtD,oDAAmD;AAEhD,IAAME,uBAAuB,GAClC;;ICtEWC,aAAa,GAAG,SAAhBA,aAAaA,CAAAzD,IAAA,EAAA;AAAA,EAAA,IAAM0D,IAAI,GAAA1D,IAAA,CAAJ0D,IAAI;IAAEC,QAAQ,GAAA3D,IAAA,CAAR2D,QAAQ,CAAA;EAAA,OAAQ;AACpDb,IAAAA,CAAC,EAAEa,QAAQ,CAACC,OAAO,CAACC,YAAY,IAAIH,IAAI,CAACZ,CAAC,GAAGa,QAAQ,CAACC,OAAO,CAACf,KAAK,CAAC;AACpEE,IAAAA,CAAC,EAAEY,QAAQ,CAACC,OAAO,CAACE,aAAa,IAAIJ,IAAI,CAACX,CAAC,GAAGY,QAAQ,CAACC,OAAO,CAAChB,MAAM,CAAC;AACtEA,IAAAA,MAAM,EACJe,QAAQ,CAACC,OAAO,CAACE,aAAa,IAAIJ,IAAI,CAACd,MAAM,GAAGe,QAAQ,CAACC,OAAO,CAAChB,MAAM,CAAC;AAC1EC,IAAAA,KAAK,EAAEc,QAAQ,CAACC,OAAO,CAACC,YAAY,IAAIH,IAAI,CAACb,KAAK,GAAGc,QAAQ,CAACC,OAAO,CAACf,KAAK,CAAA;GAC5E,CAAA;AAAA,EAAC;IAEWkB,kBAAkB,GAAG,SAArBA,kBAAkBA,CAAA7D,KAAA,EAAqC;AAAA,EAAA,IAA/B8D,QAAQ,GAAA9D,KAAA,CAAR8D,QAAQ;IAAEN,IAAI,GAAAxD,KAAA,CAAJwD,IAAI;IAAEC,QAAQ,GAAAzD,KAAA,CAARyD,QAAQ,CAAA;AAC3D,EAAA,IAAMM,QAAQ,GAAG,IAAIC,QAAQ,CAAC;AAC5BC,IAAAA,WAAW,EAAE/E,WAAW,CAAC6E,QAAQ,CAACE,WAAAA;AACpC,GAAC,CAAC,CAAA;EACF,IAAAC,cAAA,GAAgCX,aAAa,CAAC;AAAEC,MAAAA,IAAI,EAAJA,IAAI;AAAEC,MAAAA,QAAQ,EAARA,QAAAA;AAAS,KAAC,CAAC;IAAzDb,CAAC,GAAAsB,cAAA,CAADtB,CAAC;IAAEC,CAAC,GAAAqB,cAAA,CAADrB,CAAC;IAAEH,MAAM,GAAAwB,cAAA,CAANxB,MAAM;IAAEC,KAAK,GAAAuB,cAAA,CAALvB,KAAK,CAAA;EAE3B,IAAMwB,cAAc,GAAG,CAAC;AAAEC,IAAAA,QAAQ,EAAE,SAAS;AAAExB,IAAAA,CAAC,EAADA,CAAC;AAAEC,IAAAA,CAAC,EAADA,CAAC;AAAEH,IAAAA,MAAM,EAANA,MAAM;AAAEC,IAAAA,KAAK,EAALA,KAAAA;AAAM,GAAC,CAAC,CAAA;EAErE,OAAOoB,QAAQ,CAACM,GAAG,CAAC;AAAEC,IAAAA,GAAG,EAAER,QAAQ;AAAEK,IAAAA,cAAc,EAAdA,cAAAA;AAAe,GAAC,CAAC,CAAA;AACxD,EAAC;IAEYI,YAAY,GAAG,SAAfA,YAAYA,CAAGC,KAAK,EAAA;EAAA,OAAIC,KAAK,CAACD,KAAK,CAAC,IAAIE,OAAO,CAACF,KAAK,CAAC,CAAA;AAAA,EAAA;IACtDG,eAAe,GAAG,SAAlBA,eAAeA,CAAGH,KAAK,EAAA;AAAA,EAAA,OAAI,CAACD,YAAY,CAACC,KAAK,CAAC,CAAA;AAAA,EAAA;IAE/CI,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAAqD;AAAA,EAAA,IAA/CC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAEC,OAAO,GAAAF,KAAA,CAAPE,OAAO;IAAAC,qBAAA,GAAAH,KAAA,CAAEI,eAAe;AAAfA,IAAAA,eAAe,GAAAD,qBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAG,CAAC,GAAAA,qBAAA,CAAA;AACtE,EAAA,IAAQrC,KAAK,GAAamC,KAAK,CAAvBnC,KAAK;IAAED,MAAM,GAAKoC,KAAK,CAAhBpC,MAAM,CAAA;AACrB,EAAA,IAAMwC,gBAAgB,GAAGvC,KAAK,GAAGD,MAAM,CAAA;EACvC,IAAMyC,YAAY,GAAG,GAAG,CAAA;AACxB,EAAA,IAAMC,aAAa,GAAGD,YAAY,GAAGF,eAAe,CAAA;EAEpD,IAAII,SAAS,EAAEC,UAAU,CAAA;EAEzB,IAAIJ,gBAAgB,GAAGD,eAAe,EAAE;IACtCI,SAAS,GAAGE,IAAI,CAACC,GAAG,CAACL,YAAY,EAAExC,KAAK,CAAC,CAAA;IACzC2C,UAAU,GAAGD,SAAS,GAAGJ,eAAe,CAAA;AAC1C,GAAC,MAAM,IAAIvC,MAAM,GAAG0C,aAAa,EAAE;AACjCC,IAAAA,SAAS,GAAG1C,KAAK,CAAA;AACjB2C,IAAAA,UAAU,GAAG5C,MAAM,CAAA;AACrB,GAAC,MAAM;IACL4C,UAAU,GAAGC,IAAI,CAACC,GAAG,CAACJ,aAAa,EAAE1C,MAAM,CAAC,CAAA;IAC5C2C,SAAS,GAAGC,UAAU,GAAGL,eAAe,CAAA;AAC1C,GAAA;AAEA,EAAA,IAAMQ,KAAK,GAAG,CAAC9C,KAAK,GAAG0C,SAAS,IAAI,CAAC,CAAA;AACrC,EAAA,IAAMK,KAAK,GAAG,CAAChD,MAAM,GAAG4C,UAAU,IAAI,CAAC,CAAA;AAEvCP,EAAAA,OAAO,CAAC;AACNtC,IAAAA,IAAI,EAAE,IAAI;AACVE,IAAAA,KAAK,EAAE0C,SAAS;AAChB3C,IAAAA,MAAM,EAAE4C,UAAU;AAClB1C,IAAAA,CAAC,EAAE6C,KAAK;AACR5C,IAAAA,CAAC,EAAE6C,KAAAA;AACL,GAAC,CAAC,CAAA;AACJ,EAAC;IAEYC,aAAa,GAAG,SAAhBA,aAAaA,CAAAC,KAAA,EAAiC;AAAA,EAAA,IAA3BnC,QAAQ,GAAAmC,KAAA,CAARnC,QAAQ;IAAEoC,UAAU,GAAAD,KAAA,CAAVC,UAAU,CAAA;AAClD,EAAA,IAAAC,KAAA,GAAmDrC,QAAQ,CAACC,OAAO,IAAI,EAAE;IAAzDqC,WAAW,GAAAD,KAAA,CAAnBpD,MAAM;IAAsBsD,UAAU,GAAAF,KAAA,CAAjBnD,KAAK,CAAA;EAClC,IAAMsD,aAAa,GAAG,CAACJ,UAAU,CAACnC,OAAO,IAAI,EAAE,EAAEwC,YAAY,CAAA;EAE7D,IAAIH,WAAW,GAAGC,UAAU,IAAID,WAAW,GAAGE,aAAa,GAAG,CAAC,EAAE;AAC/D;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,IAAIF,WAAW,KAAKC,UAAU,IAAID,WAAW,GAAGE,aAAa,GAAG,CAAC,EAAE;AACjE;AACA,IAAA,OAAO,IAAI,CAAA;AACb,GAAA;EAEA,OAAOF,WAAW,GAAGC,UAAU,IAAID,WAAW,GAAGE,aAAa,GAAG,CAAC,CAAA;AACpE;;;;"}
1
+ {"version":3,"file":"utils-0360fcc5.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-4 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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"}
@@ -58,7 +58,7 @@ var OPTION_KEYS = {
58
58
  remove: "remove"
59
59
  };
60
60
 
61
- var DROPZONE_ROOT_DIV_CLASSNAME = "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";
61
+ var DROPZONE_ROOT_DIV_CLASSNAME = "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-4 transition-all duration-300 ease-in-out";
62
62
  var FILE_ERRORS = {
63
63
  "file-invalid-type": i18next.t("neetoImageUploader.imageUpload.fileTypeError"),
64
64
  "file-too-large": i18next.t("neetoImageUploader.imageUpload.fileSizeError")
@@ -274,4 +274,4 @@ exports.isNilOrEmpty = isNilOrEmpty;
274
274
  exports.isNotNilOrEmpty = isNotNilOrEmpty;
275
275
  exports.onImageLoaded = onImageLoaded;
276
276
  exports.useUploadDropzone = useUploadDropzone;
277
- //# sourceMappingURL=utils-88cce499.js.map
277
+ //# sourceMappingURL=utils-fb9d4ca1.js.map
@@ -1 +1 @@
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
+ {"version":3,"file":"utils-fb9d4ca1.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-4 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bigbinary/neeto-image-uploader-frontend",
3
- "version": "2.2.1",
3
+ "version": "2.2.3",
4
4
  "license": "UNLICENSED",
5
5
  "bugs": {
6
6
  "url": "https://github.com/bigbinary/neeto-image-uploader-nano/issues"
@@ -66,15 +66,15 @@
66
66
  "@babel/runtime": "7.23.2",
67
67
  "@bigbinary/babel-preset-neeto": "1.0.6",
68
68
  "@bigbinary/eslint-plugin-neeto": "1.5.2",
69
- "@bigbinary/neeto-audit-frontend": "2.0.11",
69
+ "@bigbinary/neeto-audit-frontend": "^2.0.14",
70
70
  "@bigbinary/neeto-cist": "1.0.11",
71
- "@bigbinary/neeto-commons-frontend": "4.1.1",
71
+ "@bigbinary/neeto-commons-frontend": "4.4.4",
72
72
  "@bigbinary/neeto-editor": "^1.26.3",
73
- "@bigbinary/neeto-filters-frontend": "4.0.1",
74
- "@bigbinary/neeto-icons": "1.19.2",
75
- "@bigbinary/neeto-molecules": "3.2.10",
73
+ "@bigbinary/neeto-filters-frontend": "4.3.4",
74
+ "@bigbinary/neeto-icons": "1.20.4",
75
+ "@bigbinary/neeto-molecules": "3.5.2",
76
76
  "@bigbinary/neeto-team-members-frontend": "4.1.1",
77
- "@bigbinary/neetoui": "7.1.0",
77
+ "@bigbinary/neetoui": "8.2.10",
78
78
  "@emotion/is-prop-valid": "1.2.0",
79
79
  "@faker-js/faker": "8.2.0",
80
80
  "@honeybadger-io/js": "6.5.3",
@@ -91,7 +91,7 @@
91
91
  "antd": "5.10.2",
92
92
  "assert": "^2.0.0",
93
93
  "autoprefixer": "10.4.16",
94
- "axios": "1.6.0",
94
+ "axios": "1.7.4",
95
95
  "babel-loader": "9.1.3",
96
96
  "babel-plugin-istanbul": "6.1.1",
97
97
  "babel-plugin-js-logger": "1.0.17",
@@ -173,7 +173,7 @@
173
173
  "url": "^0.11.0",
174
174
  "util": "0.12.5",
175
175
  "vm-browserify": "^1.1.2",
176
- "webpack": "5.76.0",
176
+ "webpack": "5.94.0",
177
177
  "webpack-assets-manifest": "^5.1.0",
178
178
  "webpack-cli": "4.10.0",
179
179
  "webpack-dev-server": "^4.15.0",
@@ -181,32 +181,32 @@
181
181
  },
182
182
  "peerDependencies": {
183
183
  "@bigbinary/neeto-cist": "1.0.11",
184
- "@bigbinary/neeto-commons-frontend": "4.1.1",
184
+ "@bigbinary/neeto-commons-frontend": "4.4.4",
185
185
  "@bigbinary/neeto-editor": "^1.26.3",
186
- "@bigbinary/neeto-filters-frontend": "4.0.1",
187
- "@bigbinary/neeto-icons": "1.19.2",
188
- "@bigbinary/neeto-molecules": "3.2.10",
189
- "@bigbinary/neetoui": "7.1.0",
190
- "@honeybadger-io/js": "6.5.3",
191
- "@honeybadger-io/react": "6.1.9",
186
+ "@bigbinary/neeto-filters-frontend": "4.3.4",
187
+ "@bigbinary/neeto-icons": "1.20.4",
188
+ "@bigbinary/neeto-molecules": "3.5.2",
189
+ "@bigbinary/neetoui": "8.2.10",
190
+ "@honeybadger-io/js": "^6.5.3",
191
+ "@honeybadger-io/react": "^6.1.9",
192
192
  "@rails/activestorage": "^7.0.4",
193
193
  "@tanstack/react-query": "5.40.0",
194
- "axios": "1.6.0",
195
- "classnames": "2.3.2",
196
- "formik": "2.4.5",
197
- "i18next": "23.6.0",
198
- "js-logger": "1.6.1",
194
+ "axios": "1.7.4",
195
+ "classnames": "^2.3.2",
196
+ "formik": "^2.4.5",
197
+ "i18next": "^23.6.0",
198
+ "js-logger": "^1.6.1",
199
199
  "mixpanel-browser": "2.46.0",
200
- "ramda": "0.29.1",
201
- "react": "18.2.0",
202
- "react-dom": "18.2.0",
200
+ "ramda": "^0.29.1",
201
+ "react": "^18.2.0",
202
+ "react-dom": "^18.2.0",
203
203
  "react-dropzone": "14.2.3",
204
- "react-helmet": "6.1.0",
205
- "react-i18next": "13.3.1",
204
+ "react-helmet": "^6.1.0",
205
+ "react-i18next": "^13.3.1",
206
206
  "react-query": "3.39.3",
207
- "react-router-dom": "5.3.4",
208
- "react-toastify": "8.2.0",
209
- "yup": "1.3.2",
207
+ "react-router-dom": "^5.3.4",
208
+ "react-toastify": "^8.2.0",
209
+ "yup": "^0.32.11",
210
210
  "zustand": "4.3.2"
211
211
  },
212
212
  "resolutions": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageWithFallback-7492935f.js","sources":["../app/javascript/src/components/ImageUploader/utils.js","../app/javascript/src/components/common/ProgressBar.jsx","../app/javascript/src/components/common/ImageDirectUpload.jsx","../app/javascript/src/components/common/ImagePlaceholder.jsx","../app/javascript/src/components/common/ImageWithFallback.jsx"],"sourcesContent":["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 React from \"react\";\n\nconst ProgressBar = ({ progressPercentage = 0, progressValue }) => (\n <div className=\"neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full cursor-pointer items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-full w-full overflow-hidden dark:bg-gray-700\">\n <div\n className=\"neeto-ui-bg-primary-600 text-2xs neeto-ui-text-primary-100 neeto-ui-rounded-full flex h-3 animate-pulse items-center justify-center font-medium leading-none transition-all duration-300 ease-in-out\"\n data-cy=\"neeto-image-uploader-progress-bar\"\n style={{ width: `${progressPercentage}%` }}\n >\n {progressValue}\n </div>\n </div>\n </div>\n);\n\nexport default ProgressBar;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Button, Typography } 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\";\nimport ProgressBar from \"./ProgressBar\";\n\nconst ImageDirectUpload = ({\n uploadConfig = DEFAULT_UPLOAD_CONFIG,\n onDrop = noop,\n isDisabled = false,\n setIsAssetLibraryOpen,\n}) => {\n const { getRootProps, getInputProps, isDragActive, uploadProgress } =\n useUploadDropzone({ uploadConfig, onDrop });\n\n const shouldShowProgress = !!(uploadProgress && !equals(uploadProgress, 1));\n\n return shouldShowProgress ? (\n <ProgressBar\n progressPercentage={uploadProgress}\n progressValue={`${uploadProgress}%`}\n />\n ) : (\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 <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-cy=\"neeto-image-uploader-browse-text\"\n style=\"link\"\n />\n ),\n }}\n />\n </Typography>\n )}\n {setIsAssetLibraryOpen && (\n <Typography\n className=\"text-center leading-4\"\n style=\"body2\"\n onClick={e => {\n e.stopPropagation();\n setIsAssetLibraryOpen(true);\n }}\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.selectImagefromImageLibrary\"\n components={{\n span: (\n <Button data-cy=\"open-asset-library-button\" style=\"link\" />\n ),\n }}\n />\n </Typography>\n )}\n <input\n {...getInputProps()}\n data-cy=\"neeto-image-uploader-file-input\"\n disabled={isDisabled}\n />\n <Typography\n className=\"neeto-ui-text-gray-700 text-center leading-4\"\n data-cy=\"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 </div>\n </div>\n );\n};\n\nexport default ImageDirectUpload;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\n\nconst ImagePlaceholder = ({ className = \"\", ...props }) => (\n <div\n className={classnames(\"neeto-ui-bg-gray-200\", {\n [className]: className,\n })}\n {...props}\n />\n);\n\nexport default ImagePlaceholder;\n","import React, { useEffect, useState } from \"react\";\n\nimport ImagePlaceholder from \"./ImagePlaceholder\";\n\nconst ImageWithFallback = ({\n src,\n className = \"h-full w-full\",\n fallback: Fallback = ImagePlaceholder,\n ...props\n}) => {\n const [isLoaded, setIsLoaded] = useState(false);\n\n useEffect(() => {\n const img = new Image();\n img.onload = () => {\n setIsLoaded(true);\n };\n img.src = src;\n }, [src]);\n\n return isLoaded ? (\n <img {...{ src, ...props }} className=\"h-full w-auto object-contain\" />\n ) : (\n <Fallback {...{ className, ...props }} />\n );\n};\n\nexport default ImageWithFallback;\n"],"names":["getAllowedTypes","uploadConfig","pipe","values","flatten","map","extension","slice","toUpper","join","allowedImageTypes","ProgressBar","_ref","_ref$progressPercenta","progressPercentage","progressValue","_jsx","className","children","style","width","concat","ImageDirectUpload","_ref$uploadConfig","DEFAULT_UPLOAD_CONFIG","_ref$onDrop","onDrop","noop","_ref$isDisabled","isDisabled","setIsAssetLibraryOpen","_useUploadDropzone","useUploadDropzone","getRootProps","getInputProps","isDragActive","uploadProgress","shouldShowProgress","equals","_objectSpread","classnames","DROPZONE_ROOT_DIV_CLASSNAME","_jsxs","Typography","Trans","i18nKey","components","span","Button","onClick","e","stopPropagation","disabled","lineHeight","fileTypes","size","maxImageSize","ImagePlaceholder","_ref$className","props","_objectWithoutProperties","_excluded","_defineProperty","ImageWithFallback","src","_ref$fallback","fallback","Fallback","_useState","useState","_useState2","_slicedToArray","isLoaded","setIsLoaded","useEffect","img","Image","onload"],"mappings":";;;;;;;;;;;;;;;;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,YAAY,EAAA;EAAA,OACzCC,UAAI,CACFC,YAAM,EACNC,aAAO,EACPC,SAAG,CAAC,UAAAC,SAAS,EAAA;AAAA,IAAA,OAAIA,SAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAA;AAAA,GAAA,CAAC,EACpCF,SAAG,CAACG,aAAO,CAAC,EACZC,UAAI,CAAC,IAAI,CACX,CAAC,CAACR,YAAY,CAACS,iBAAiB,CAAC,CAAA;AAAA,CAAA;;ACPnC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,qBAAA,GAAAD,IAAA,CAAME,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,qBAAA;IAAEE,aAAa,GAAAH,IAAA,CAAbG,aAAa,CAAA;AAAA,EAAA,oBAC1DC,cAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0MAA0M;AAAAC,IAAAA,QAAA,eACvNF,cAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,oFAAoF;AAAAC,MAAAA,QAAA,eACjGF,cAAA,CAAA,KAAA,EAAA;AACEC,QAAAA,SAAS,EAAC,sMAAsM;AAChN,QAAA,SAAA,EAAQ,mCAAmC;AAC3CE,QAAAA,KAAK,EAAE;UAAEC,KAAK,EAAA,EAAA,CAAAC,MAAA,CAAKP,kBAAkB,EAAA,GAAA,CAAA;SAAM;AAAAI,QAAAA,QAAA,EAE1CH,aAAAA;OACE,CAAA;KACF,CAAA;AAAC,GACH,CAAC,CAAA;AAAA,CACP;;;;ACCD,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAV,IAAA,EAKjB;AAAA,EAAA,IAAAW,iBAAA,GAAAX,IAAA,CAJJX,YAAY;AAAZA,IAAAA,YAAY,GAAAsB,iBAAA,KAAGC,KAAAA,CAAAA,GAAAA,2BAAqB,GAAAD,iBAAA;IAAAE,WAAA,GAAAb,IAAA,CACpCc,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,WAAA;IAAAG,eAAA,GAAAhB,IAAA,CACbiB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAClBE,qBAAqB,GAAAlB,IAAA,CAArBkB,qBAAqB,CAAA;EAErB,IAAAC,kBAAA,GACEC,uBAAiB,CAAC;AAAE/B,MAAAA,YAAY,EAAZA,YAAY;AAAEyB,MAAAA,MAAM,EAANA,MAAAA;AAAO,KAAC,CAAC;IADrCO,YAAY,GAAAF,kBAAA,CAAZE,YAAY;IAAEC,aAAa,GAAAH,kBAAA,CAAbG,aAAa;IAAEC,YAAY,GAAAJ,kBAAA,CAAZI,YAAY;IAAEC,cAAc,GAAAL,kBAAA,CAAdK,cAAc,CAAA;AAGjE,EAAA,IAAMC,kBAAkB,GAAG,CAAC,EAAED,cAAc,IAAI,CAACE,YAAM,CAACF,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;AAE3E,EAAA,OAAOC,kBAAkB,gBACvBrB,cAAA,CAACL,WAAW,EAAA;AACVG,IAAAA,kBAAkB,EAAEsB,cAAe;IACnCrB,aAAa,EAAA,EAAA,CAAAM,MAAA,CAAKe,cAAc,EAAA,GAAA,CAAA;GACjC,CAAC,gBAEFpB,cAAA,CAAAuB,KAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACMN,YAAY,EAAE,CAAA,EAAA,EAAA,EAAA;AAClBhB,IAAAA,SAAS,EAAEuB,8BAAU,CAACC,iCAA2B,EAAE;MACjD,0BAA0B,EAAE,CAACN,YAAY;AACzC,MAAA,0BAA0B,EAAEA,YAAAA;AAC9B,KAAC,CAAE;AAAAjB,IAAAA,QAAA,eAEHwB,eAAA,CAAA,KAAA,EAAA;AAAKzB,MAAAA,SAAS,EAAC,yBAAyB;AAAAC,MAAAA,QAAA,GACrC,CAACW,UAAU,iBACVb,cAAA,CAAC2B,8BAAU,EAAA;AACT1B,QAAAA,SAAS,EAAC,8CAA8C;AACxDE,QAAAA,KAAK,EAAC,OAAO;QAAAD,QAAA,eAEbF,cAAA,CAAC4B,kBAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,wDAAwD;AAChEC,UAAAA,UAAU,EAAE;YACVC,IAAI,eACF/B,cAAA,CAACgC,0BAAM,EAAA;AACL,cAAA,SAAA,EAAQ,kCAAkC;AAC1C7B,cAAAA,KAAK,EAAC,MAAA;aACP,CAAA;AAEL,WAAA;SACD,CAAA;AAAC,OACQ,CACb,EACAW,qBAAqB,iBACpBd,cAAA,CAAC2B,8BAAU,EAAA;AACT1B,QAAAA,SAAS,EAAC,uBAAuB;AACjCE,QAAAA,KAAK,EAAC,OAAO;AACb8B,QAAAA,OAAO,EAAE,SAAAA,OAAAC,CAAAA,CAAC,EAAI;UACZA,CAAC,CAACC,eAAe,EAAE,CAAA;UACnBrB,qBAAqB,CAAC,IAAI,CAAC,CAAA;SAC3B;QAAAZ,QAAA,eAEFF,cAAA,CAAC4B,kBAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,4DAA4D;AACpEC,UAAAA,UAAU,EAAE;YACVC,IAAI,eACF/B,cAAA,CAACgC,0BAAM,EAAA;AAAC,cAAA,SAAA,EAAQ,2BAA2B;AAAC7B,cAAAA,KAAK,EAAC,MAAA;aAAQ,CAAA;AAE9D,WAAA;SACD,CAAA;OACS,CACb,eACDH,cAAA,CAAAuB,OAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACML,aAAa,EAAE,CAAA,EAAA,EAAA,EAAA;AACnB,QAAA,SAAA,EAAQ,iCAAiC;AACzCkB,QAAAA,QAAQ,EAAEvB,UAAAA;AAAW,OAAA,CACtB,CAAC,eACFb,cAAA,CAAC2B,8BAAU,EAAA;AACT1B,QAAAA,SAAS,EAAC,8CAA8C;AACxD,QAAA,SAAA,EAAQ,0CAA0C;AAClDoC,QAAAA,UAAU,EAAC,MAAM;AACjBlC,QAAAA,KAAK,EAAC,MAAM;QAAAD,QAAA,eAEZF,cAAA,CAAC4B,kBAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,mDAAmD;AAC3D1C,UAAAA,MAAM,EAAE;AACNmD,YAAAA,SAAS,EAAEtD,eAAe,CAACC,YAAY,CAAC;AACxCsD,YAAAA,IAAI,EAAEtD,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEuD,YAAAA;AACtB,WAAA;SACD,CAAA;AAAC,OACQ,CAAC,CAAA;KACV,CAAA;AAAC,GAAA,CACH,CACN,CAAA;AACH;;;;;AC/FA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA7C,IAAA,EAAA;AAAA,EAAA,IAAA8C,cAAA,GAAA9C,IAAA,CAAMK,SAAS;AAATA,IAAAA,SAAS,GAAAyC,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;AAAKC,IAAAA,KAAK,GAAAC,8BAAA,CAAAhD,IAAA,EAAAiD,WAAA,CAAA,CAAA;EAAA,oBAClD7C,cAAA,QAAAuB,eAAA,CAAA;IACEtB,SAAS,EAAEuB,8BAAU,CAAC,sBAAsB,EAAAsB,qBAAA,CACzC7C,EAAAA,EAAAA,SAAS,EAAGA,SAAS,CACvB,CAAA;GACG0C,EAAAA,KAAK,CACV,CAAC,CAAA;AAAA,CACH;;;;;ACPD,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAnD,IAAA,EAKjB;AAAA,EAAA,IAJJoD,GAAG,GAAApD,IAAA,CAAHoD,GAAG;IAAAN,cAAA,GAAA9C,IAAA,CACHK,SAAS;AAATA,IAAAA,SAAS,GAAAyC,cAAA,KAAG,KAAA,CAAA,GAAA,eAAe,GAAAA,cAAA;IAAAO,aAAA,GAAArD,IAAA,CAC3BsD,QAAQ;AAAEC,IAAAA,QAAQ,GAAAF,aAAA,KAAGR,KAAAA,CAAAA,GAAAA,gBAAgB,GAAAQ,aAAA;AAClCN,IAAAA,KAAK,GAAAC,8BAAA,CAAAhD,IAAA,EAAAiD,SAAA,CAAA,CAAA;AAER,EAAA,IAAAO,SAAA,GAAgCC,mBAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,oBAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAxCI,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5BI,EAAAA,oBAAS,CAAC,YAAM;AACd,IAAA,IAAMC,GAAG,GAAG,IAAIC,KAAK,EAAE,CAAA;IACvBD,GAAG,CAACE,MAAM,GAAG,YAAM;MACjBJ,WAAW,CAAC,IAAI,CAAC,CAAA;KAClB,CAAA;IACDE,GAAG,CAACX,GAAG,GAAGA,GAAG,CAAA;AACf,GAAC,EAAE,CAACA,GAAG,CAAC,CAAC,CAAA;EAET,OAAOQ,QAAQ,gBACbxD,cAAA,CAAA,KAAA,EAAAuB,aAAA,CAAAA,aAAA,KAAAA,aAAA,CAAA;AAAWyB,IAAAA,GAAG,EAAHA,GAAAA;AAAG,GAAA,EAAKL,KAAK,CAAA,CAAA,EAAA,EAAA,EAAA;AAAI1C,IAAAA,SAAS,EAAC,8BAAA;GAAgC,CAAA,CAAC,gBAEvED,cAAA,CAACmD,QAAQ,EAAA5B,aAAA,KAAAA,aAAA,CAAA;AAAOtB,IAAAA,SAAS,EAATA,SAAAA;GAAc0C,EAAAA,KAAK,EAAK,CACzC,CAAA;AACH;;;;;"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"ImageWithFallback-e6b44c73.js","sources":["../app/javascript/src/components/ImageUploader/utils.js","../app/javascript/src/components/common/ProgressBar.jsx","../app/javascript/src/components/common/ImageDirectUpload.jsx","../app/javascript/src/components/common/ImagePlaceholder.jsx","../app/javascript/src/components/common/ImageWithFallback.jsx"],"sourcesContent":["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 React from \"react\";\n\nconst ProgressBar = ({ progressPercentage = 0, progressValue }) => (\n <div className=\"neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full cursor-pointer items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out\">\n <div className=\"neeto-ui-bg-gray-200 neeto-ui-rounded-full w-full overflow-hidden dark:bg-gray-700\">\n <div\n className=\"neeto-ui-bg-primary-600 text-2xs neeto-ui-text-primary-100 neeto-ui-rounded-full flex h-3 animate-pulse items-center justify-center font-medium leading-none transition-all duration-300 ease-in-out\"\n data-cy=\"neeto-image-uploader-progress-bar\"\n style={{ width: `${progressPercentage}%` }}\n >\n {progressValue}\n </div>\n </div>\n </div>\n);\n\nexport default ProgressBar;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\nimport { noop } from \"neetocist\";\nimport { Button, Typography } 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\";\nimport ProgressBar from \"./ProgressBar\";\n\nconst ImageDirectUpload = ({\n uploadConfig = DEFAULT_UPLOAD_CONFIG,\n onDrop = noop,\n isDisabled = false,\n setIsAssetLibraryOpen,\n}) => {\n const { getRootProps, getInputProps, isDragActive, uploadProgress } =\n useUploadDropzone({ uploadConfig, onDrop });\n\n const shouldShowProgress = !!(uploadProgress && !equals(uploadProgress, 1));\n\n return shouldShowProgress ? (\n <ProgressBar\n progressPercentage={uploadProgress}\n progressValue={`${uploadProgress}%`}\n />\n ) : (\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 <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-cy=\"neeto-image-uploader-browse-text\"\n style=\"link\"\n />\n ),\n }}\n />\n </Typography>\n )}\n {setIsAssetLibraryOpen && (\n <Typography\n className=\"text-center leading-4\"\n style=\"body2\"\n onClick={e => {\n e.stopPropagation();\n setIsAssetLibraryOpen(true);\n }}\n >\n <Trans\n i18nKey=\"neetoImageUploader.imageUpload.selectImagefromImageLibrary\"\n components={{\n span: (\n <Button data-cy=\"open-asset-library-button\" style=\"link\" />\n ),\n }}\n />\n </Typography>\n )}\n <input\n {...getInputProps()}\n data-cy=\"neeto-image-uploader-file-input\"\n disabled={isDisabled}\n />\n <Typography\n className=\"neeto-ui-text-gray-700 text-center leading-4\"\n data-cy=\"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 </div>\n </div>\n );\n};\n\nexport default ImageDirectUpload;\n","import React from \"react\";\n\nimport classnames from \"classnames\";\n\nconst ImagePlaceholder = ({ className = \"\", ...props }) => (\n <div\n className={classnames(\"neeto-ui-bg-gray-200\", {\n [className]: className,\n })}\n {...props}\n />\n);\n\nexport default ImagePlaceholder;\n","import React, { useEffect, useState } from \"react\";\n\nimport ImagePlaceholder from \"./ImagePlaceholder\";\n\nconst ImageWithFallback = ({\n src,\n className = \"h-full w-full\",\n fallback: Fallback = ImagePlaceholder,\n ...props\n}) => {\n const [isLoaded, setIsLoaded] = useState(false);\n\n useEffect(() => {\n const img = new Image();\n img.onload = () => {\n setIsLoaded(true);\n };\n img.src = src;\n }, [src]);\n\n return isLoaded ? (\n <img {...{ src, ...props }} className=\"h-full w-auto object-contain\" />\n ) : (\n <Fallback {...{ className, ...props }} />\n );\n};\n\nexport default ImageWithFallback;\n"],"names":["getAllowedTypes","uploadConfig","pipe","values","flatten","map","extension","slice","toUpper","join","allowedImageTypes","ProgressBar","_ref","_ref$progressPercenta","progressPercentage","progressValue","_jsx","className","children","style","width","concat","ImageDirectUpload","_ref$uploadConfig","DEFAULT_UPLOAD_CONFIG","_ref$onDrop","onDrop","noop","_ref$isDisabled","isDisabled","setIsAssetLibraryOpen","_useUploadDropzone","useUploadDropzone","getRootProps","getInputProps","isDragActive","uploadProgress","shouldShowProgress","equals","_objectSpread","classnames","DROPZONE_ROOT_DIV_CLASSNAME","_jsxs","Typography","Trans","i18nKey","components","span","Button","onClick","e","stopPropagation","disabled","lineHeight","fileTypes","size","maxImageSize","ImagePlaceholder","_ref$className","props","_objectWithoutProperties","_excluded","_defineProperty","ImageWithFallback","src","_ref$fallback","fallback","Fallback","_useState","useState","_useState2","_slicedToArray","isLoaded","setIsLoaded","useEffect","img","Image","onload"],"mappings":";;;;;;;;;;;AAEO,IAAMA,eAAe,GAAG,SAAlBA,eAAeA,CAAGC,YAAY,EAAA;EAAA,OACzCC,IAAI,CACFC,MAAM,EACNC,OAAO,EACPC,GAAG,CAAC,UAAAC,SAAS,EAAA;AAAA,IAAA,OAAIA,SAAS,CAACC,KAAK,CAAC,CAAC,CAAC,CAAA;AAAA,GAAA,CAAC,EACpCF,GAAG,CAACG,OAAO,CAAC,EACZC,IAAI,CAAC,IAAI,CACX,CAAC,CAACR,YAAY,CAACS,iBAAiB,CAAC,CAAA;AAAA,CAAA;;ACPnC,IAAMC,WAAW,GAAG,SAAdA,WAAWA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAAC,qBAAA,GAAAD,IAAA,CAAME,kBAAkB;AAAlBA,IAAAA,kBAAkB,GAAAD,qBAAA,KAAG,KAAA,CAAA,GAAA,CAAC,GAAAA,qBAAA;IAAEE,aAAa,GAAAH,IAAA,CAAbG,aAAa,CAAA;AAAA,EAAA,oBAC1DC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,0MAA0M;AAAAC,IAAAA,QAAA,eACvNF,GAAA,CAAA,KAAA,EAAA;AAAKC,MAAAA,SAAS,EAAC,oFAAoF;AAAAC,MAAAA,QAAA,eACjGF,GAAA,CAAA,KAAA,EAAA;AACEC,QAAAA,SAAS,EAAC,sMAAsM;AAChN,QAAA,SAAA,EAAQ,mCAAmC;AAC3CE,QAAAA,KAAK,EAAE;UAAEC,KAAK,EAAA,EAAA,CAAAC,MAAA,CAAKP,kBAAkB,EAAA,GAAA,CAAA;SAAM;AAAAI,QAAAA,QAAA,EAE1CH,aAAAA;OACE,CAAA;KACF,CAAA;AAAC,GACH,CAAC,CAAA;AAAA,CACP;;;;ACCD,IAAMO,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAV,IAAA,EAKjB;AAAA,EAAA,IAAAW,iBAAA,GAAAX,IAAA,CAJJX,YAAY;AAAZA,IAAAA,YAAY,GAAAsB,iBAAA,KAAGC,KAAAA,CAAAA,GAAAA,qBAAqB,GAAAD,iBAAA;IAAAE,WAAA,GAAAb,IAAA,CACpCc,MAAM;AAANA,IAAAA,MAAM,GAAAD,WAAA,KAAGE,KAAAA,CAAAA,GAAAA,IAAI,GAAAF,WAAA;IAAAG,eAAA,GAAAhB,IAAA,CACbiB,UAAU;AAAVA,IAAAA,UAAU,GAAAD,eAAA,KAAG,KAAA,CAAA,GAAA,KAAK,GAAAA,eAAA;IAClBE,qBAAqB,GAAAlB,IAAA,CAArBkB,qBAAqB,CAAA;EAErB,IAAAC,kBAAA,GACEC,iBAAiB,CAAC;AAAE/B,MAAAA,YAAY,EAAZA,YAAY;AAAEyB,MAAAA,MAAM,EAANA,MAAAA;AAAO,KAAC,CAAC;IADrCO,YAAY,GAAAF,kBAAA,CAAZE,YAAY;IAAEC,aAAa,GAAAH,kBAAA,CAAbG,aAAa;IAAEC,YAAY,GAAAJ,kBAAA,CAAZI,YAAY;IAAEC,cAAc,GAAAL,kBAAA,CAAdK,cAAc,CAAA;AAGjE,EAAA,IAAMC,kBAAkB,GAAG,CAAC,EAAED,cAAc,IAAI,CAACE,MAAM,CAACF,cAAc,EAAE,CAAC,CAAC,CAAC,CAAA;AAE3E,EAAA,OAAOC,kBAAkB,gBACvBrB,GAAA,CAACL,WAAW,EAAA;AACVG,IAAAA,kBAAkB,EAAEsB,cAAe;IACnCrB,aAAa,EAAA,EAAA,CAAAM,MAAA,CAAKe,cAAc,EAAA,GAAA,CAAA;GACjC,CAAC,gBAEFpB,GAAA,CAAAuB,KAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACMN,YAAY,EAAE,CAAA,EAAA,EAAA,EAAA;AAClBhB,IAAAA,SAAS,EAAEuB,UAAU,CAACC,2BAA2B,EAAE;MACjD,0BAA0B,EAAE,CAACN,YAAY;AACzC,MAAA,0BAA0B,EAAEA,YAAAA;AAC9B,KAAC,CAAE;AAAAjB,IAAAA,QAAA,eAEHwB,IAAA,CAAA,KAAA,EAAA;AAAKzB,MAAAA,SAAS,EAAC,yBAAyB;AAAAC,MAAAA,QAAA,GACrC,CAACW,UAAU,iBACVb,GAAA,CAAC2B,UAAU,EAAA;AACT1B,QAAAA,SAAS,EAAC,8CAA8C;AACxDE,QAAAA,KAAK,EAAC,OAAO;QAAAD,QAAA,eAEbF,GAAA,CAAC4B,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,wDAAwD;AAChEC,UAAAA,UAAU,EAAE;YACVC,IAAI,eACF/B,GAAA,CAACgC,MAAM,EAAA;AACL,cAAA,SAAA,EAAQ,kCAAkC;AAC1C7B,cAAAA,KAAK,EAAC,MAAA;aACP,CAAA;AAEL,WAAA;SACD,CAAA;AAAC,OACQ,CACb,EACAW,qBAAqB,iBACpBd,GAAA,CAAC2B,UAAU,EAAA;AACT1B,QAAAA,SAAS,EAAC,uBAAuB;AACjCE,QAAAA,KAAK,EAAC,OAAO;AACb8B,QAAAA,OAAO,EAAE,SAAAA,OAAAC,CAAAA,CAAC,EAAI;UACZA,CAAC,CAACC,eAAe,EAAE,CAAA;UACnBrB,qBAAqB,CAAC,IAAI,CAAC,CAAA;SAC3B;QAAAZ,QAAA,eAEFF,GAAA,CAAC4B,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,4DAA4D;AACpEC,UAAAA,UAAU,EAAE;YACVC,IAAI,eACF/B,GAAA,CAACgC,MAAM,EAAA;AAAC,cAAA,SAAA,EAAQ,2BAA2B;AAAC7B,cAAAA,KAAK,EAAC,MAAA;aAAQ,CAAA;AAE9D,WAAA;SACD,CAAA;OACS,CACb,eACDH,GAAA,CAAAuB,OAAAA,EAAAA,eAAA,CAAAA,eAAA,CAAA,EAAA,EACML,aAAa,EAAE,CAAA,EAAA,EAAA,EAAA;AACnB,QAAA,SAAA,EAAQ,iCAAiC;AACzCkB,QAAAA,QAAQ,EAAEvB,UAAAA;AAAW,OAAA,CACtB,CAAC,eACFb,GAAA,CAAC2B,UAAU,EAAA;AACT1B,QAAAA,SAAS,EAAC,8CAA8C;AACxD,QAAA,SAAA,EAAQ,0CAA0C;AAClDoC,QAAAA,UAAU,EAAC,MAAM;AACjBlC,QAAAA,KAAK,EAAC,MAAM;QAAAD,QAAA,eAEZF,GAAA,CAAC4B,KAAK,EAAA;AACJC,UAAAA,OAAO,EAAC,mDAAmD;AAC3D1C,UAAAA,MAAM,EAAE;AACNmD,YAAAA,SAAS,EAAEtD,eAAe,CAACC,YAAY,CAAC;AACxCsD,YAAAA,IAAI,EAAEtD,YAAY,KAAA,IAAA,IAAZA,YAAY,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAZA,YAAY,CAAEuD,YAAAA;AACtB,WAAA;SACD,CAAA;AAAC,OACQ,CAAC,CAAA;KACV,CAAA;AAAC,GAAA,CACH,CACN,CAAA;AACH;;;;;AC/FA,IAAMC,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAA7C,IAAA,EAAA;AAAA,EAAA,IAAA8C,cAAA,GAAA9C,IAAA,CAAMK,SAAS;AAATA,IAAAA,SAAS,GAAAyC,cAAA,KAAG,KAAA,CAAA,GAAA,EAAE,GAAAA,cAAA;AAAKC,IAAAA,KAAK,GAAAC,wBAAA,CAAAhD,IAAA,EAAAiD,WAAA,CAAA,CAAA;EAAA,oBAClD7C,GAAA,QAAAuB,eAAA,CAAA;IACEtB,SAAS,EAAEuB,UAAU,CAAC,sBAAsB,EAAAsB,eAAA,CACzC7C,EAAAA,EAAAA,SAAS,EAAGA,SAAS,CACvB,CAAA;GACG0C,EAAAA,KAAK,CACV,CAAC,CAAA;AAAA,CACH;;;;;ACPD,IAAMI,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAAnD,IAAA,EAKjB;AAAA,EAAA,IAJJoD,GAAG,GAAApD,IAAA,CAAHoD,GAAG;IAAAN,cAAA,GAAA9C,IAAA,CACHK,SAAS;AAATA,IAAAA,SAAS,GAAAyC,cAAA,KAAG,KAAA,CAAA,GAAA,eAAe,GAAAA,cAAA;IAAAO,aAAA,GAAArD,IAAA,CAC3BsD,QAAQ;AAAEC,IAAAA,QAAQ,GAAAF,aAAA,KAAGR,KAAAA,CAAAA,GAAAA,gBAAgB,GAAAQ,aAAA;AAClCN,IAAAA,KAAK,GAAAC,wBAAA,CAAAhD,IAAA,EAAAiD,SAAA,CAAA,CAAA;AAER,EAAA,IAAAO,SAAA,GAAgCC,QAAQ,CAAC,KAAK,CAAC;IAAAC,UAAA,GAAAC,cAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAxCI,IAAAA,QAAQ,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,WAAW,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AAE5BI,EAAAA,SAAS,CAAC,YAAM;AACd,IAAA,IAAMC,GAAG,GAAG,IAAIC,KAAK,EAAE,CAAA;IACvBD,GAAG,CAACE,MAAM,GAAG,YAAM;MACjBJ,WAAW,CAAC,IAAI,CAAC,CAAA;KAClB,CAAA;IACDE,GAAG,CAACX,GAAG,GAAGA,GAAG,CAAA;AACf,GAAC,EAAE,CAACA,GAAG,CAAC,CAAC,CAAA;EAET,OAAOQ,QAAQ,gBACbxD,GAAA,CAAA,KAAA,EAAAuB,aAAA,CAAAA,aAAA,KAAAA,aAAA,CAAA;AAAWyB,IAAAA,GAAG,EAAHA,GAAAA;AAAG,GAAA,EAAKL,KAAK,CAAA,CAAA,EAAA,EAAA,EAAA;AAAI1C,IAAAA,SAAS,EAAC,8BAAA;GAAgC,CAAA,CAAC,gBAEvED,GAAA,CAACmD,QAAQ,EAAA5B,aAAA,KAAAA,aAAA,CAAA;AAAOtB,IAAAA,SAAS,EAATA,SAAAA;GAAc0C,EAAAA,KAAK,EAAK,CACzC,CAAA;AACH;;;;"}