@bigbinary/neeto-image-uploader-frontend 2.3.1 → 2.3.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.
Files changed (50) hide show
  1. package/dist/AssetLibrary.js +50 -14
  2. package/dist/AssetLibrary.js.map +1 -1
  3. package/dist/BasicImageUploader.js +2 -2
  4. package/dist/ImageUploader.js +6 -8
  5. package/dist/ImageUploader.js.map +1 -1
  6. package/dist/{ImageWithFallback-85563e43.js → ImageWithFallback-1d3c6c16.js} +4 -6
  7. package/dist/ImageWithFallback-1d3c6c16.js.map +1 -0
  8. package/dist/{ImageWithFallback-28c61349.js → ImageWithFallback-da061171.js} +3 -5
  9. package/dist/ImageWithFallback-da061171.js.map +1 -0
  10. package/dist/cjs/AssetLibrary.js +57 -21
  11. package/dist/cjs/AssetLibrary.js.map +1 -1
  12. package/dist/cjs/BasicImageUploader.js +2 -2
  13. package/dist/cjs/ImageUploader.js +5 -7
  14. package/dist/cjs/ImageUploader.js.map +1 -1
  15. package/dist/cjs/hooks.js +3 -2
  16. package/dist/cjs/hooks.js.map +1 -1
  17. package/dist/cjs/index.js +7 -4
  18. package/dist/cjs/index.js.map +1 -1
  19. package/dist/cjs/utils.js +14 -0
  20. package/dist/cjs/utils.js.map +1 -0
  21. package/dist/hooks.js +3 -2
  22. package/dist/hooks.js.map +1 -1
  23. package/dist/index.js +6 -4
  24. package/dist/index.js.map +1 -1
  25. package/dist/query-3c31bf92.js +14 -0
  26. package/dist/query-3c31bf92.js.map +1 -0
  27. package/dist/query-dcc7b81b.js +10 -0
  28. package/dist/query-dcc7b81b.js.map +1 -0
  29. package/dist/{useImageUploader-1dec0b7c.js → useImageUploader-9faaa8e5.js} +62 -43
  30. package/dist/useImageUploader-9faaa8e5.js.map +1 -0
  31. package/dist/{useImageUploader-6fb55946.js → useImageUploader-a53cf673.js} +62 -46
  32. package/dist/useImageUploader-a53cf673.js.map +1 -0
  33. package/dist/{useProfileImageUpload-7035b8b4.js → useProfileImageUpload-0861cfca.js} +2 -2
  34. package/dist/{useProfileImageUpload-7035b8b4.js.map → useProfileImageUpload-0861cfca.js.map} +1 -1
  35. package/dist/{useProfileImageUpload-eeeed267.js → useProfileImageUpload-0fd0e56b.js} +2 -2
  36. package/dist/{useProfileImageUpload-eeeed267.js.map → useProfileImageUpload-0fd0e56b.js.map} +1 -1
  37. package/dist/{utils-b5f13248.js → utils-2fc0a9dc.js} +3 -2
  38. package/dist/utils-2fc0a9dc.js.map +1 -0
  39. package/dist/{utils-fc138f60.js → utils-46caa3d3.js} +4 -3
  40. package/dist/utils-46caa3d3.js.map +1 -0
  41. package/dist/utils.js +10 -0
  42. package/dist/utils.js.map +1 -0
  43. package/package.json +9 -9
  44. package/types.d.ts +3 -0
  45. package/dist/ImageWithFallback-28c61349.js.map +0 -1
  46. package/dist/ImageWithFallback-85563e43.js.map +0 -1
  47. package/dist/useImageUploader-1dec0b7c.js.map +0 -1
  48. package/dist/useImageUploader-6fb55946.js.map +0 -1
  49. package/dist/utils-b5f13248.js.map +0 -1
  50. package/dist/utils-fc138f60.js.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import { _ as _defineProperty } from './index-c128d963.js';
2
- import { _ as _objectWithoutProperties, i as isNilOrEmpty, l as isNotNilOrEmpty, m as IMAGE_WRAPPER_CLASSNAME } from './utils-fc138f60.js';
2
+ import { _ as _objectWithoutProperties, i as isNilOrEmpty, l as isNotNilOrEmpty, m as IMAGE_WRAPPER_CLASSNAME } from './utils-46caa3d3.js';
3
3
  import classnames from 'classnames';
4
4
  import { noop } from '@bigbinary/neeto-cist';
5
5
  import Delete$1 from '@bigbinary/neeto-icons/Delete';
6
6
  import Button from '@bigbinary/neetoui/Button';
7
- import { I as ImageWithFallback, a as ImageDirectUpload } from './ImageWithFallback-85563e43.js';
7
+ import { I as ImageWithFallback, a as ImageDirectUpload } from './ImageWithFallback-1d3c6c16.js';
8
8
  import { jsx, jsxs } from 'react/jsx-runtime';
9
9
  import '@bigbinary/neeto-commons-frontend/initializers';
10
10
  import 'react';
@@ -1,17 +1,17 @@
1
- import { h as DEFAULT_UPLOAD_CONFIG, k as OPTION_KEYS, l as isNotNilOrEmpty, m as IMAGE_WRAPPER_CLASSNAME, _ as _objectWithoutProperties } from './utils-fc138f60.js';
1
+ import { h as DEFAULT_UPLOAD_CONFIG, k as OPTION_KEYS, l as isNotNilOrEmpty, m as IMAGE_WRAPPER_CLASSNAME, _ as _objectWithoutProperties } from './utils-46caa3d3.js';
2
2
  import { a as _slicedToArray, C as CLOUD_FLARE, _ as _defineProperty, I as IS_DEVELOPMENT_OR_HEROKU_ENV } from './index-c128d963.js';
3
3
  import { useState, createElement } from 'react';
4
4
  import classnames from 'classnames';
5
- import { removeBy, isPresent, noop } from '@bigbinary/neeto-cist';
5
+ import { isPresent, noop } from '@bigbinary/neeto-cist';
6
6
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
7
7
  import MenuHorizontal from '@bigbinary/neeto-icons/MenuHorizontal';
8
8
  import Dropdown from '@bigbinary/neetoui/Dropdown';
9
9
  import Toastr from '@bigbinary/neetoui/Toastr';
10
10
  import { mergeRight } from 'ramda';
11
11
  import { useTranslation } from 'react-i18next';
12
- import { I as ImageWithFallback, a as ImageDirectUpload } from './ImageWithFallback-85563e43.js';
12
+ import { I as ImageWithFallback, a as ImageDirectUpload } from './ImageWithFallback-1d3c6c16.js';
13
13
  import Modal from './AssetLibrary.js';
14
- import { u as useCreateBlob, e as useImageUploader, f as generateASCIIFileName } from './useImageUploader-1dec0b7c.js';
14
+ import { u as useCreateBlob, e as useImageUploader, f as generateASCIIFileName } from './useImageUploader-9faaa8e5.js';
15
15
  import { jsxs, jsx } from 'react/jsx-runtime';
16
16
  import 'react-dropzone';
17
17
  import 'i18next';
@@ -27,6 +27,7 @@ import '@bigbinary/neeto-commons-frontend/react-utils';
27
27
  import '@bigbinary/neeto-commons-frontend/utils';
28
28
  import '@bigbinary/neetoui/Input';
29
29
  import '@bigbinary/neetoui/Switch';
30
+ import './query-dcc7b81b.js';
30
31
  import '@bigbinary/neeto-molecules/Container';
31
32
  import '@bigbinary/neeto-molecules/Header';
32
33
  import '@bigbinary/neeto-commons-frontend/constants';
@@ -194,9 +195,6 @@ var ImageUploader = function ImageUploader(_ref) {
194
195
  onClick: handleDelete,
195
196
  "data-cy": "image-uploader-remove-button"
196
197
  }];
197
- var updatedOptions = isCloudFlareImageUploader ? removeBy({
198
- key: OPTION_KEYS.asset
199
- }, options) : options;
200
198
  return /*#__PURE__*/jsxs("div", {
201
199
  className: classnames(className, {
202
200
  "cursor-pointer": true
@@ -217,7 +215,7 @@ var ImageUploader = function ImageUploader(_ref) {
217
215
  className: "absolute right-3 top-3 rounded-full"
218
216
  },
219
217
  children: /*#__PURE__*/jsx(Menu, {
220
- children: updatedOptions.map(function (_ref2) {
218
+ children: options.map(function (_ref2) {
221
219
  var key = _ref2.key,
222
220
  label = _ref2.label,
223
221
  otherProps = _objectWithoutProperties(_ref2, _excluded);
@@ -1 +1 @@
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, removeBy } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\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 { generateASCIIFileName } from \"hooks/utils\";\nimport { CLOUD_FLARE, 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 isCloudFlareImageUploader =\n globalProps.assetsUploaderService === CLOUD_FLARE;\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: generateASCIIFileName(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 = (result, file = {}) => {\n if (IS_DEVELOPMENT_OR_HEROKU_ENV) {\n handleSuccess(mergeRight(result, { metadata: { url: result.url } }));\n\n return;\n }\n\n const imageKitPayload = () => ({\n filename: generateASCIIFileName(result.name),\n byte_size: result.size,\n content_type: result.fileType,\n checksum: result.fileId,\n metadata: result,\n service_name: \"imagekitio\",\n });\n\n const cloudFlarePayload = () => ({\n filename: generateASCIIFileName(result.filename),\n content_type: file.type,\n byte_size: file.size,\n checksum: result.id,\n metadata: { ...result, url: result.variants[0] },\n service_name: \"cloudflare_image\",\n });\n\n const payload = isCloudFlareImageUploader\n ? cloudFlarePayload()\n : imageKitPayload();\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 const updatedOptions = isCloudFlareImageUploader\n ? removeBy({ key: OPTION_KEYS.asset }, options)\n : options;\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 {updatedOptions.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","isCloudFlareImageUploader","globalProps","assetsUploaderService","CLOUD_FLARE","handleDelete","onChange","signedId","key","filename","size","type","file","handleSuccess","attachedImage","metadata","generateASCIIFileName","blobUrl","byteSize","contentType","handleImageSelectionFromLibrary","handleUploadComplete","result","arguments","length","undefined","IS_DEVELOPMENT_OR_HEROKU_ENV","imageKitPayload","name","byte_size","content_type","fileType","checksum","fileId","service_name","cloudFlarePayload","id","_objectSpread","variants","payload","onSuccess","onError","Toastr","error","_useImageUploader","useImageUploader","uploadFile","options","OPTION_KEYS","asset","label","onClick","remove","updatedOptions","removeBy","_jsxs","classnames","children","isNotNilOrEmpty","IMAGE_WRAPPER_CLASSNAME","_jsx","ImageWithFallback","buttonSize","buttonStyle","icon","MenuHorizontal","buttonProps","map","_ref2","otherProps","_objectWithoutProperties","_excluded","_createElement","Button","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 { globalProps } from \"neetocommons/initializers\";\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 { generateASCIIFileName } from \"hooks/utils\";\nimport { CLOUD_FLARE, 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 isCloudFlareImageUploader =\n globalProps.assetsUploaderService === CLOUD_FLARE;\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: generateASCIIFileName(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 = (result, file = {}) => {\n if (IS_DEVELOPMENT_OR_HEROKU_ENV) {\n handleSuccess(mergeRight(result, { metadata: { url: result.url } }));\n\n return;\n }\n\n const imageKitPayload = () => ({\n filename: generateASCIIFileName(result.name),\n byte_size: result.size,\n content_type: result.fileType,\n checksum: result.fileId,\n metadata: result,\n service_name: \"imagekitio\",\n });\n\n const cloudFlarePayload = () => ({\n filename: generateASCIIFileName(result.filename),\n content_type: file.type,\n byte_size: file.size,\n checksum: result.id,\n metadata: { ...result, url: result.variants[0] },\n service_name: \"cloudflare_image\",\n });\n\n const payload = isCloudFlareImageUploader\n ? cloudFlarePayload()\n : imageKitPayload();\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","isCloudFlareImageUploader","globalProps","assetsUploaderService","CLOUD_FLARE","handleDelete","onChange","signedId","key","filename","size","type","file","handleSuccess","attachedImage","metadata","generateASCIIFileName","blobUrl","byteSize","contentType","handleImageSelectionFromLibrary","handleUploadComplete","result","arguments","length","undefined","IS_DEVELOPMENT_OR_HEROKU_ENV","imageKitPayload","name","byte_size","content_type","fileType","checksum","fileId","service_name","cloudFlarePayload","id","_objectSpread","variants","payload","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","ImageDirectUpload","isDisabled","isPresent","onDrop","AssetLibrary","isOpen","onClose"],"mappings":"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"}
@@ -1,12 +1,11 @@
1
- import { C as CLOUD_FLARE, _ as _defineProperty, a as _slicedToArray } from './index-c128d963.js';
1
+ import { _ as _defineProperty, a as _slicedToArray } from './index-c128d963.js';
2
2
  import classnames from 'classnames';
3
3
  import { noop } from '@bigbinary/neeto-cist';
4
- import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
5
4
  import Button from '@bigbinary/neetoui/Button';
6
5
  import Typography from '@bigbinary/neetoui/Typography';
7
6
  import { pipe, values, flatten, map, toUpper, join, equals } from 'ramda';
8
7
  import { Trans } from 'react-i18next';
9
- import { u as useUploadDropzone, n as DROPZONE_ROOT_DIV_CLASSNAME, h as DEFAULT_UPLOAD_CONFIG, _ as _objectWithoutProperties } from './utils-fc138f60.js';
8
+ import { u as useUploadDropzone, n as DROPZONE_ROOT_DIV_CLASSNAME, h as DEFAULT_UPLOAD_CONFIG, _ as _objectWithoutProperties } from './utils-46caa3d3.js';
10
9
  import { jsx, jsxs } from 'react/jsx-runtime';
11
10
  import { useState, useEffect } from 'react';
12
11
 
@@ -55,7 +54,6 @@ var ImageDirectUpload = function ImageDirectUpload(_ref) {
55
54
  isDragActive = _useUploadDropzone.isDragActive,
56
55
  uploadProgress = _useUploadDropzone.uploadProgress;
57
56
  var shouldShowProgress = !!(uploadProgress && !equals(uploadProgress, 1));
58
- var isImageLibraryDisabled = globalProps.assetsUploaderService !== CLOUD_FLARE;
59
57
  return shouldShowProgress ? /*#__PURE__*/jsx(ProgressBar, {
60
58
  progressPercentage: uploadProgress,
61
59
  progressValue: "".concat(uploadProgress, "%")
@@ -78,7 +76,7 @@ var ImageDirectUpload = function ImageDirectUpload(_ref) {
78
76
  })
79
77
  }
80
78
  })
81
- }), setIsAssetLibraryOpen && isImageLibraryDisabled && /*#__PURE__*/jsx(Typography, {
79
+ }), setIsAssetLibraryOpen && /*#__PURE__*/jsx(Typography, {
82
80
  className: "text-center leading-4",
83
81
  style: "body2",
84
82
  onClick: function onClick(e) {
@@ -157,4 +155,4 @@ var ImageWithFallback = function ImageWithFallback(_ref) {
157
155
  };
158
156
 
159
157
  export { ImageWithFallback as I, ImageDirectUpload as a };
160
- //# sourceMappingURL=ImageWithFallback-85563e43.js.map
158
+ //# sourceMappingURL=ImageWithFallback-1d3c6c16.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageWithFallback-1d3c6c16.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","const 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 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 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 { 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":"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"}
@@ -3,12 +3,11 @@
3
3
  var index = require('./index-69559a7a.js');
4
4
  var classnames = require('classnames');
5
5
  var neetoCist = require('@bigbinary/neeto-cist');
6
- var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
7
6
  var Button = require('@bigbinary/neetoui/Button');
8
7
  var Typography = require('@bigbinary/neetoui/Typography');
9
8
  var ramda = require('ramda');
10
9
  var reactI18next = require('react-i18next');
11
- var utils = require('./utils-b5f13248.js');
10
+ var utils = require('./utils-2fc0a9dc.js');
12
11
  var jsxRuntime = require('react/jsx-runtime');
13
12
  var require$$0 = require('react');
14
13
 
@@ -63,7 +62,6 @@ var ImageDirectUpload = function ImageDirectUpload(_ref) {
63
62
  isDragActive = _useUploadDropzone.isDragActive,
64
63
  uploadProgress = _useUploadDropzone.uploadProgress;
65
64
  var shouldShowProgress = !!(uploadProgress && !ramda.equals(uploadProgress, 1));
66
- var isImageLibraryDisabled = initializers.globalProps.assetsUploaderService !== index.CLOUD_FLARE;
67
65
  return shouldShowProgress ? /*#__PURE__*/jsxRuntime.jsx(ProgressBar, {
68
66
  progressPercentage: uploadProgress,
69
67
  progressValue: "".concat(uploadProgress, "%")
@@ -86,7 +84,7 @@ var ImageDirectUpload = function ImageDirectUpload(_ref) {
86
84
  })
87
85
  }
88
86
  })
89
- }), setIsAssetLibraryOpen && isImageLibraryDisabled && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
87
+ }), setIsAssetLibraryOpen && /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
90
88
  className: "text-center leading-4",
91
89
  style: "body2",
92
90
  onClick: function onClick(e) {
@@ -166,4 +164,4 @@ var ImageWithFallback = function ImageWithFallback(_ref) {
166
164
 
167
165
  exports.ImageDirectUpload = ImageDirectUpload;
168
166
  exports.ImageWithFallback = ImageWithFallback;
169
- //# sourceMappingURL=ImageWithFallback-28c61349.js.map
167
+ //# sourceMappingURL=ImageWithFallback-da061171.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageWithFallback-da061171.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","const 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 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 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 { 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":"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"}
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
- var utils$3 = require('../utils-b5f13248.js');
3
+ var utils$3 = require('../utils-2fc0a9dc.js');
4
4
  var index = require('../index-69559a7a.js');
5
5
  var require$$0 = require('react');
6
6
  var neetoCist = require('@bigbinary/neeto-cist');
7
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
7
8
  var NeetoUIModal = require('@bigbinary/neetoui/Modal');
8
9
  var Button = require('@bigbinary/neetoui/Button');
9
10
  var Tab = require('@bigbinary/neetoui/Tab');
@@ -12,7 +13,7 @@ var Toastr = require('@bigbinary/neetoui/Toastr');
12
13
  var Typography = require('@bigbinary/neetoui/Typography');
13
14
  var ramda = require('ramda');
14
15
  var reactI18next = require('react-i18next');
15
- var useImageUploader = require('../useImageUploader-6fb55946.js');
16
+ var useImageUploader = require('../useImageUploader-a53cf673.js');
16
17
  var classnames = require('classnames');
17
18
  var LeftArrow = require('@bigbinary/neeto-icons/LeftArrow');
18
19
  var reactQuery = require('@tanstack/react-query');
@@ -22,8 +23,8 @@ var utils$4 = require('@bigbinary/neeto-commons-frontend/utils');
22
23
  var Input = require('@bigbinary/neetoui/Input');
23
24
  var Switch = require('@bigbinary/neetoui/Switch');
24
25
  var jsxRuntime = require('react/jsx-runtime');
26
+ var query = require('../query-3c31bf92.js');
25
27
  var MenuHorizontal = require('@bigbinary/neeto-icons/MenuHorizontal');
26
- var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
27
28
  var Container = require('@bigbinary/neeto-molecules/Container');
28
29
  var NeetoHeader = require('@bigbinary/neeto-molecules/Header');
29
30
  var i18next = require('i18next');
@@ -586,7 +587,7 @@ var useFetchAssets = function useFetchAssets(_ref) {
586
587
  per = _ref.per;
587
588
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
588
589
  return reactQuery.useInfiniteQuery(_objectSpread$i({
589
- queryKey: [useImageUploader.QUERY_KEYS.ASSETS_LIST, searchTerm],
590
+ queryKey: [query.QUERY_KEYS.ASSETS_LIST, searchTerm],
590
591
  queryFn: function queryFn(_ref2) {
591
592
  var _ref2$pageParam = _ref2.pageParam,
592
593
  pageParam = _ref2$pageParam === void 0 ? 1 : _ref2$pageParam;
@@ -607,7 +608,7 @@ var useFetchAssets = function useFetchAssets(_ref) {
607
608
  };
608
609
  },
609
610
  initialPageParam: 1,
610
- staleTime: useImageUploader.ASSETS_STALE_TIME
611
+ staleTime: query.ASSETS_STALE_TIME
611
612
  }, options));
612
613
  };
613
614
  var useBulkDestroyAssets = function useBulkDestroyAssets(url) {
@@ -618,7 +619,7 @@ var useBulkDestroyAssets = function useBulkDestroyAssets(url) {
618
619
  },
619
620
  onSuccess: function onSuccess(_, variables) {
620
621
  queryClient.setQueriesData({
621
- queryKey: [useImageUploader.QUERY_KEYS.ASSETS_LIST]
622
+ queryKey: [query.QUERY_KEYS.ASSETS_LIST]
622
623
  }, function (old) {
623
624
  return {
624
625
  pages: old.pages.map(function (page) {
@@ -9729,7 +9730,9 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
9729
9730
  _ref$setSelectedImage = _ref.setSelectedImage,
9730
9731
  setSelectedImage = _ref$setSelectedImage === void 0 ? neetoCist.noop : _ref$setSelectedImage,
9731
9732
  _ref$handleUnsplashIm = _ref.handleUnsplashImageSelect,
9732
- handleUnsplashImageSelect = _ref$handleUnsplashIm === void 0 ? neetoCist.noop : _ref$handleUnsplashIm;
9733
+ handleUnsplashImageSelect = _ref$handleUnsplashIm === void 0 ? neetoCist.noop : _ref$handleUnsplashIm,
9734
+ _ref$handleSubmit = _ref.handleSubmit,
9735
+ handleSubmit = _ref$handleSubmit === void 0 ? neetoCist.noop : _ref$handleSubmit;
9733
9736
  var _useTranslation = reactI18next.useTranslation(),
9734
9737
  t = _useTranslation.t;
9735
9738
  var _useState = require$$0.useState({
@@ -9739,6 +9742,7 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
9739
9742
  _useState2 = index._slicedToArray(_useState, 2),
9740
9743
  deleteConfirmation = _useState2[0],
9741
9744
  setDeleteConfirmation = _useState2[1];
9745
+ var isMenuButtonEnabled = initializers.globalProps.assetsUploaderService !== index.CLOUD_FLARE;
9742
9746
  var _useBulkDestroyAssets = useBulkDestroyAssets(utils$3.ASSETS_DESTROY_URL),
9743
9747
  isPending = _useBulkDestroyAssets.isPending,
9744
9748
  bulkDelete = _useBulkDestroyAssets.mutate;
@@ -9796,7 +9800,7 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
9796
9800
  children: [image === null || image === void 0 || (_image$user2 = image.user) === null || _image$user2 === void 0 ? void 0 : _image$user2.name, " | ", " ", t("neetoImageUploader.labels.unsplash")]
9797
9801
  })]
9798
9802
  }), tab === utils$3.TABS[0].key && /*#__PURE__*/jsxRuntime.jsxs(jsxRuntime.Fragment, {
9799
- children: [utils$4.hasPermission(VIEW_ROLES_PERMISSION) && /*#__PURE__*/jsxRuntime.jsx(Dropdown__default["default"], {
9803
+ children: [utils$4.hasPermission(VIEW_ROLES_PERMISSION) && isMenuButtonEnabled && /*#__PURE__*/jsxRuntime.jsx(Dropdown__default["default"], {
9800
9804
  buttonSize: "small",
9801
9805
  buttonStyle: "tertiary",
9802
9806
  "data-cy": "image-library-image-options-".concat(index),
@@ -9822,7 +9826,8 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
9822
9826
  "data-cy": "niu-library-image-".concat(index),
9823
9827
  src: image === null || image === void 0 ? void 0 : image.url,
9824
9828
  onClick: function onClick() {
9825
- return setSelectedImage(image);
9829
+ setSelectedImage(image);
9830
+ handleSubmit(image);
9826
9831
  }
9827
9832
  })]
9828
9833
  })]
@@ -9849,7 +9854,8 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
9849
9854
 
9850
9855
  var Images = function Images(_ref) {
9851
9856
  var debouncedQuery = _ref.debouncedQuery,
9852
- setSelectedImage = _ref.setSelectedImage;
9857
+ setSelectedImage = _ref.setSelectedImage,
9858
+ handleSubmit = _ref.handleSubmit;
9853
9859
  var _useTranslation = reactI18next.useTranslation(),
9854
9860
  t = _useTranslation.t;
9855
9861
  var _useFetchAssets = useFetchAssets({
@@ -9879,6 +9885,7 @@ var Images = function Images(_ref) {
9879
9885
  });
9880
9886
  }
9881
9887
  return /*#__PURE__*/require$$0.createElement(InfiniteScroller, {
9888
+ handleSubmit: handleSubmit,
9882
9889
  setSelectedImage: setSelectedImage,
9883
9890
  hasMore: hasNextPage,
9884
9891
  images: results,
@@ -9911,20 +9918,20 @@ var unsplashApi = {
9911
9918
 
9912
9919
  function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
9913
9920
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { index._defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
9914
- var UNSPLASH_LIST = useImageUploader.QUERY_KEYS.UNSPLASH_LIST;
9921
+ var UNSPLASH_LIST = query.QUERY_KEYS.UNSPLASH_LIST;
9915
9922
  var useFetchUnsplashImages = function useFetchUnsplashImages(_ref) {
9916
- var query = _ref.query;
9923
+ var query$1 = _ref.query;
9917
9924
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
9918
9925
  return reactQuery.useInfiniteQuery(_objectSpread$1({
9919
9926
  queryKey: [UNSPLASH_LIST, {
9920
- query: query
9927
+ query: query$1
9921
9928
  }],
9922
9929
  queryFn: function queryFn(_ref2) {
9923
9930
  var _ref2$pageParam = _ref2.pageParam,
9924
9931
  pageParam = _ref2$pageParam === void 0 ? 1 : _ref2$pageParam;
9925
9932
  return unsplashApi.searchUnsplashImages({
9926
9933
  pageNo: pageParam,
9927
- query: query
9934
+ query: query$1
9928
9935
  });
9929
9936
  },
9930
9937
  initialPageParam: 1,
@@ -9937,7 +9944,7 @@ var useFetchUnsplashImages = function useFetchUnsplashImages(_ref) {
9937
9944
  results: results
9938
9945
  };
9939
9946
  },
9940
- staleTime: useImageUploader.UNSPLASH_STALE_TIME,
9947
+ staleTime: query.UNSPLASH_STALE_TIME,
9941
9948
  placeholderData: reactQuery.keepPreviousData
9942
9949
  }, options));
9943
9950
  };
@@ -10084,7 +10091,9 @@ var ImageLibrary = function ImageLibrary(_ref) {
10084
10091
  var setSelectedImage = _ref.setSelectedImage,
10085
10092
  tab = _ref.tab,
10086
10093
  setIsUploading = _ref.setIsUploading,
10087
- setActiveTab = _ref.setActiveTab;
10094
+ setActiveTab = _ref.setActiveTab,
10095
+ _ref$handleSubmit = _ref.handleSubmit,
10096
+ handleSubmit = _ref$handleSubmit === void 0 ? neetoCist.noop : _ref$handleSubmit;
10088
10097
  var _useState = require$$0.useState(""),
10089
10098
  _useState2 = index._slicedToArray(_useState, 2),
10090
10099
  query = _useState2[0],
@@ -10111,6 +10120,7 @@ var ImageLibrary = function ImageLibrary(_ref) {
10111
10120
  }
10112
10121
  }), tab === utils$3.TABS[0].key ? /*#__PURE__*/jsxRuntime.jsx(Images, {
10113
10122
  debouncedQuery: debouncedQuery,
10123
+ handleSubmit: handleSubmit,
10114
10124
  query: query,
10115
10125
  setSelectedImage: setSelectedImage
10116
10126
  }) : /*#__PURE__*/jsxRuntime.jsx(UnsplashLibrary, {
@@ -10153,6 +10163,8 @@ var Modal = function Modal(_ref) {
10153
10163
  var _useCreateBlob = useImageUploader.useCreateBlob(),
10154
10164
  createBlob = _useCreateBlob.mutate;
10155
10165
  var uploadConfigWithDefaults = ramda.mergeRight(utils$3.DEFAULT_UPLOAD_CONFIG, uploadConfig);
10166
+ var isImageCropEnabled = initializers.globalProps.assetsUploaderService !== index.CLOUD_FLARE;
10167
+ var isCloudFlareImageUploader = initializers.globalProps.assetsUploaderService === index.CLOUD_FLARE;
10156
10168
  var handleCloseModal = function handleCloseModal() {
10157
10169
  onClose();
10158
10170
  setSelectedImage({});
@@ -10184,8 +10196,29 @@ var Modal = function Modal(_ref) {
10184
10196
  }
10185
10197
  handleCloseModal();
10186
10198
  };
10199
+ var handleUploadToCloudFlare = function handleUploadToCloudFlare(result) {
10200
+ var file = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
10201
+ var payload = {
10202
+ filename: useImageUploader.generateASCIIFileName(result.filename),
10203
+ content_type: file.type,
10204
+ byte_size: file.size,
10205
+ checksum: result.id,
10206
+ metadata: _objectSpread(_objectSpread({}, result), {}, {
10207
+ url: result.variants[0]
10208
+ }),
10209
+ service_name: "cloudflare_image"
10210
+ };
10211
+ createBlob(payload);
10212
+ };
10213
+ var handleSubmit = function handleSubmit(image) {
10214
+ onUploadComplete({
10215
+ url: image.url,
10216
+ signedId: image.signedId
10217
+ });
10218
+ handleCloseModal();
10219
+ };
10187
10220
  var _useImageUploader = useImageUploader.useImageUploader({
10188
- onUploadComplete: setSelectedImage,
10221
+ onUploadComplete: isCloudFlareImageUploader ? handleUploadToCloudFlare : setSelectedImage,
10189
10222
  setIsUploading: setIsUploading
10190
10223
  }),
10191
10224
  uploadFile = _useImageUploader.uploadFile;
@@ -10222,7 +10255,7 @@ var Modal = function Modal(_ref) {
10222
10255
  children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
10223
10256
  children: t("neetoImageUploader.common.dropHere")
10224
10257
  })
10225
- })), !utils$3.isNilOrEmpty(selectedImage) ? /*#__PURE__*/jsxRuntime.jsx(ImageEditor, {
10258
+ })), !utils$3.isNilOrEmpty(selectedImage) && isImageCropEnabled ? /*#__PURE__*/jsxRuntime.jsx(ImageEditor, {
10226
10259
  fixedAspectRatio: fixedAspectRatio,
10227
10260
  handleImageEditComplete: handleImageEditComplete,
10228
10261
  handleReset: function handleReset() {
@@ -10273,12 +10306,15 @@ var Modal = function Modal(_ref) {
10273
10306
  })
10274
10307
  })]
10275
10308
  })
10276
- }), /*#__PURE__*/jsxRuntime.jsx(ImageLibrary, {
10309
+ }), /*#__PURE__*/jsxRuntime.jsx(ImageLibrary, _objectSpread(_objectSpread({}, _objectSpread({
10277
10310
  setActiveTab: setActiveTab,
10278
10311
  setIsUploading: setIsUploading,
10279
- setSelectedImage: setSelectedImage,
10312
+ setSelectedImage: setSelectedImage
10313
+ }, isCloudFlareImageUploader && {
10314
+ handleSubmit: handleSubmit
10315
+ })), {}, {
10280
10316
  tab: activeTab
10281
- }), ramda.equals(activeTab, utils$3.TABS[1].key) && /*#__PURE__*/jsxRuntime.jsx(NeetoUIModal__default["default"].Footer, {
10317
+ })), ramda.equals(activeTab, utils$3.TABS[1].key) && /*#__PURE__*/jsxRuntime.jsx(NeetoUIModal__default["default"].Footer, {
10282
10318
  className: "flex items-center justify-center gap-2",
10283
10319
  children: /*#__PURE__*/jsxRuntime.jsx(Typography__default["default"], {
10284
10320
  style: "body2",