@bigbinary/neeto-image-uploader-frontend 2.3.1 → 2.3.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AssetLibrary.js +50 -14
- package/dist/AssetLibrary.js.map +1 -1
- package/dist/BasicImageUploader.js +2 -2
- package/dist/ImageUploader.js +6 -8
- package/dist/ImageUploader.js.map +1 -1
- package/dist/{ImageWithFallback-85563e43.js → ImageWithFallback-1d3c6c16.js} +4 -6
- package/dist/ImageWithFallback-1d3c6c16.js.map +1 -0
- package/dist/{ImageWithFallback-28c61349.js → ImageWithFallback-da061171.js} +3 -5
- package/dist/ImageWithFallback-da061171.js.map +1 -0
- package/dist/cjs/AssetLibrary.js +57 -21
- package/dist/cjs/AssetLibrary.js.map +1 -1
- package/dist/cjs/BasicImageUploader.js +2 -2
- package/dist/cjs/ImageUploader.js +5 -7
- package/dist/cjs/ImageUploader.js.map +1 -1
- package/dist/cjs/hooks.js +3 -2
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/index.js +7 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/utils.js +14 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/hooks.js +3 -2
- package/dist/hooks.js.map +1 -1
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/query-3c31bf92.js +14 -0
- package/dist/query-3c31bf92.js.map +1 -0
- package/dist/query-dcc7b81b.js +10 -0
- package/dist/query-dcc7b81b.js.map +1 -0
- package/dist/{useImageUploader-6fb55946.js → useImageUploader-b78deb18.js} +3 -13
- package/dist/useImageUploader-b78deb18.js.map +1 -0
- package/dist/{useImageUploader-1dec0b7c.js → useImageUploader-b93adc31.js} +3 -10
- package/dist/useImageUploader-b93adc31.js.map +1 -0
- package/dist/{useProfileImageUpload-eeeed267.js → useProfileImageUpload-085576e5.js} +2 -2
- package/dist/{useProfileImageUpload-eeeed267.js.map → useProfileImageUpload-085576e5.js.map} +1 -1
- package/dist/{useProfileImageUpload-7035b8b4.js → useProfileImageUpload-51ab47be.js} +2 -2
- package/dist/{useProfileImageUpload-7035b8b4.js.map → useProfileImageUpload-51ab47be.js.map} +1 -1
- package/dist/{utils-b5f13248.js → utils-2fc0a9dc.js} +3 -2
- package/dist/utils-2fc0a9dc.js.map +1 -0
- package/dist/{utils-fc138f60.js → utils-46caa3d3.js} +4 -3
- package/dist/utils-46caa3d3.js.map +1 -0
- package/dist/utils.js +10 -0
- package/dist/utils.js.map +1 -0
- package/package.json +7 -7
- package/types.d.ts +3 -0
- package/dist/ImageWithFallback-28c61349.js.map +0 -1
- package/dist/ImageWithFallback-85563e43.js.map +0 -1
- package/dist/useImageUploader-1dec0b7c.js.map +0 -1
- package/dist/useImageUploader-6fb55946.js.map +0 -1
- package/dist/utils-b5f13248.js.map +0 -1
- 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-
|
|
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-
|
|
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';
|
package/dist/ImageUploader.js
CHANGED
|
@@ -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-
|
|
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 {
|
|
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-
|
|
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-
|
|
14
|
+
import { u as useCreateBlob, e as useImageUploader, f as generateASCIIFileName } from './useImageUploader-b93adc31.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:
|
|
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 {
|
|
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-
|
|
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 &&
|
|
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-
|
|
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-
|
|
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 &&
|
|
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-
|
|
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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"}
|
package/dist/cjs/AssetLibrary.js
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var utils$3 = require('../utils-
|
|
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-
|
|
16
|
+
var useImageUploader = require('../useImageUploader-b78deb18.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: [
|
|
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:
|
|
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: [
|
|
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({
|
|
@@ -9742,6 +9745,7 @@ var InfiniteScroller = function InfiniteScroller(_ref) {
|
|
|
9742
9745
|
var _useBulkDestroyAssets = useBulkDestroyAssets(utils$3.ASSETS_DESTROY_URL),
|
|
9743
9746
|
isPending = _useBulkDestroyAssets.isPending,
|
|
9744
9747
|
bulkDelete = _useBulkDestroyAssets.mutate;
|
|
9748
|
+
var isMenuButtonEnabled = initializers.globalProps.assetsUploaderService !== index.CLOUD_FLARE;
|
|
9745
9749
|
var handleDelete = require$$0.useCallback(function () {
|
|
9746
9750
|
bulkDelete(deleteConfirmation.imageIds, {
|
|
9747
9751
|
onSuccess: function onSuccess() {
|
|
@@ -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
|
-
|
|
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 =
|
|
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:
|
|
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",
|