@bigbinary/neeto-image-uploader-frontend 2.0.1 → 2.2.0

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 (44) hide show
  1. package/app/javascript/src/translations/en.json +5 -0
  2. package/dist/AssetLibrary.js +10231 -0
  3. package/dist/AssetLibrary.js.map +1 -0
  4. package/dist/BasicImageUploader.js +66 -0
  5. package/dist/BasicImageUploader.js.map +1 -0
  6. package/dist/ImageUploader.js +228 -0
  7. package/dist/ImageUploader.js.map +1 -0
  8. package/dist/ImageWithFallback-7492935f.js +167 -0
  9. package/dist/ImageWithFallback-7492935f.js.map +1 -0
  10. package/dist/ImageWithFallback-e6b44c73.js +158 -0
  11. package/dist/ImageWithFallback-e6b44c73.js.map +1 -0
  12. package/dist/cjs/AssetLibrary.js +10303 -0
  13. package/dist/cjs/AssetLibrary.js.map +1 -0
  14. package/dist/cjs/BasicImageUploader.js +74 -0
  15. package/dist/cjs/BasicImageUploader.js.map +1 -0
  16. package/dist/cjs/ImageUploader.js +237 -0
  17. package/dist/cjs/ImageUploader.js.map +1 -0
  18. package/dist/cjs/hooks.js +24 -0
  19. package/dist/cjs/hooks.js.map +1 -0
  20. package/dist/cjs/index.js +95 -0
  21. package/dist/cjs/index.js.map +1 -0
  22. package/dist/hooks.js +14 -0
  23. package/dist/hooks.js.map +1 -0
  24. package/dist/index-7f064861.js +663 -0
  25. package/dist/index-7f064861.js.map +1 -0
  26. package/dist/index-b9963255.js +658 -0
  27. package/dist/index-b9963255.js.map +1 -0
  28. package/dist/index.js +81 -3908
  29. package/dist/index.js.map +1 -1
  30. package/dist/useImageUploader-36a03350.js +598 -0
  31. package/dist/useImageUploader-36a03350.js.map +1 -0
  32. package/dist/useImageUploader-550a5fdc.js +616 -0
  33. package/dist/useImageUploader-550a5fdc.js.map +1 -0
  34. package/dist/useProfileImageUpload-837e76b8.js +256 -0
  35. package/dist/useProfileImageUpload-837e76b8.js.map +1 -0
  36. package/dist/useProfileImageUpload-f0088c2a.js +263 -0
  37. package/dist/useProfileImageUpload-f0088c2a.js.map +1 -0
  38. package/dist/utils-88cce499.js +277 -0
  39. package/dist/utils-88cce499.js.map +1 -0
  40. package/dist/utils-96eacd77.js +248 -0
  41. package/dist/utils-96eacd77.js.map +1 -0
  42. package/package.json +45 -31
  43. package/dist/index.cjs.js +0 -3934
  44. package/dist/index.cjs.js.map +0 -1
@@ -0,0 +1,263 @@
1
+ 'use strict';
2
+
3
+ var useImageUploader = require('./useImageUploader-550a5fdc.js');
4
+ var index = require('./index-7f064861.js');
5
+ var require$$0 = require('react');
6
+ var activestorage = require('@rails/activestorage');
7
+ var neetoCist = require('@bigbinary/neeto-cist');
8
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
9
+ var Toastr = require('@bigbinary/neetoui/Toastr');
10
+ var ramda = require('ramda');
11
+ var i18next = require('i18next');
12
+
13
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
14
+
15
+ var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
16
+
17
+ var useImageUpload = function useImageUpload() {
18
+ var _useState = require$$0.useState(0),
19
+ _useState2 = index._slicedToArray(_useState, 2),
20
+ uploadProgress = _useState2[0],
21
+ setUploadProgress = _useState2[1];
22
+ var _useState3 = require$$0.useState(false),
23
+ _useState4 = index._slicedToArray(_useState3, 2),
24
+ isUploading = _useState4[0],
25
+ setIsUploading = _useState4[1];
26
+ var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
27
+ var _useCreateBlob = useImageUploader.useCreateBlob(),
28
+ createBlob = _useCreateBlob.mutate;
29
+ var handleUploadProgress = function handleUploadProgress(e, fileSize) {
30
+ if (e.loaded <= fileSize) {
31
+ var percent = Math.round(e.loaded / fileSize * 100);
32
+ setUploadProgress(percent);
33
+ }
34
+ ramda.equals(e.loaded, e.total) && setUploadProgress(100);
35
+ };
36
+ var developmentUpload = function developmentUpload(file, onUploadComplete) {
37
+ try {
38
+ setIsUploading(true);
39
+ var upload = new activestorage.DirectUpload(file, "/api/direct_uploads");
40
+ upload.create(function (_, blob) {
41
+ var payload = {
42
+ id: blob.signed_id,
43
+ payload: {
44
+ metadata: {
45
+ organizationKey: initializers.globalProps.organization.publicApiKey,
46
+ url: blob.blob_url,
47
+ height: 200,
48
+ width: 200
49
+ }
50
+ }
51
+ };
52
+ useImageUploader.directUploadsApi.update(payload);
53
+ onUploadComplete(ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
54
+ url: blob.blob_url
55
+ }));
56
+ });
57
+ } catch (error) {
58
+ Toastr__default["default"].error(error);
59
+ } finally {
60
+ setIsUploading(false);
61
+ }
62
+ };
63
+ var productionUpload = /*#__PURE__*/function () {
64
+ var _ref = useImageUploader._asyncToGenerator( /*#__PURE__*/useImageUploader._regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
65
+ var imagekit, image, payload;
66
+ return useImageUploader._regeneratorRuntime.wrap(function _callee$(_context) {
67
+ while (1) switch (_context.prev = _context.next) {
68
+ case 0:
69
+ _context.prev = 0;
70
+ imagekit = new index.ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
71
+ authenticationEndpoint: authenticationEndpoint
72
+ }));
73
+ setIsUploading(true);
74
+ _context.next = 5;
75
+ return imagekit.upload({
76
+ xhr: XHRProgress,
77
+ file: file,
78
+ fileName: useImageUploader.generateASCIIFileName(file.name),
79
+ folder: initializers.globalProps.imagekit.folder,
80
+ customMetadata: {
81
+ organizationKey: initializers.globalProps.organization.publicApiKey,
82
+ appName: initializers.globalProps.appName
83
+ }
84
+ });
85
+ case 5:
86
+ image = _context.sent;
87
+ payload = {
88
+ filename: image.name,
89
+ byte_size: image.size,
90
+ content_type: image.fileType,
91
+ checksum: image.fileId,
92
+ metadata: image,
93
+ service_name: "imagekitio"
94
+ };
95
+ createBlob(payload, {
96
+ onSuccess: onUploadComplete,
97
+ onError: Toastr__default["default"].error
98
+ });
99
+ _context.next = 13;
100
+ break;
101
+ case 10:
102
+ _context.prev = 10;
103
+ _context.t0 = _context["catch"](0);
104
+ Toastr__default["default"].error(_context.t0);
105
+ case 13:
106
+ _context.prev = 13;
107
+ setIsUploading(false);
108
+ return _context.finish(13);
109
+ case 16:
110
+ case "end":
111
+ return _context.stop();
112
+ }
113
+ }, _callee, null, [[0, 10, 13, 16]]);
114
+ }));
115
+ return function productionUpload(_x, _x2, _x3) {
116
+ return _ref.apply(this, arguments);
117
+ };
118
+ }();
119
+ var uploadImage = /*#__PURE__*/function () {
120
+ var _ref2 = useImageUploader._asyncToGenerator( /*#__PURE__*/useImageUploader._regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
121
+ var fileSize, XHRProgress;
122
+ return useImageUploader._regeneratorRuntime.wrap(function _callee2$(_context2) {
123
+ while (1) switch (_context2.prev = _context2.next) {
124
+ case 0:
125
+ setUploadProgress(0);
126
+ fileSize = file.size;
127
+ XHRProgress = new XMLHttpRequest();
128
+ XHRProgress.upload.addEventListener("progress", function (e) {
129
+ handleUploadProgress(e, fileSize);
130
+ });
131
+ if (!index.IS_DEVELOPMENT_OR_HEROKU_ENV) {
132
+ _context2.next = 9;
133
+ break;
134
+ }
135
+ _context2.next = 7;
136
+ return developmentUpload(file, onUploadComplete);
137
+ case 7:
138
+ _context2.next = 11;
139
+ break;
140
+ case 9:
141
+ _context2.next = 11;
142
+ return productionUpload(file, XHRProgress, onUploadComplete);
143
+ case 11:
144
+ case "end":
145
+ return _context2.stop();
146
+ }
147
+ }, _callee2);
148
+ }));
149
+ return function uploadImage(_x4, _x5) {
150
+ return _ref2.apply(this, arguments);
151
+ };
152
+ }();
153
+ return {
154
+ uploadImage: uploadImage,
155
+ uploadProgress: uploadProgress,
156
+ isUploading: isUploading
157
+ };
158
+ };
159
+
160
+ var useProfileImageUpload = function useProfileImageUpload(_ref) {
161
+ var _ref$uploadConfig = _ref.uploadConfig,
162
+ uploadConfig = _ref$uploadConfig === void 0 ? {} : _ref$uploadConfig;
163
+ var _useState = require$$0.useState(0),
164
+ _useState2 = index._slicedToArray(_useState, 2),
165
+ uploadProgress = _useState2[0],
166
+ setUploadProgress = _useState2[1];
167
+ var _useState3 = require$$0.useState(false),
168
+ _useState4 = index._slicedToArray(_useState3, 2),
169
+ isUploading = _useState4[0],
170
+ setIsUploading = _useState4[1];
171
+ var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
172
+ var defaultImageKitConfig = {
173
+ folder: initializers.globalProps.imagekit.folder,
174
+ customMetadata: {
175
+ organizationKey: initializers.globalProps.organization.publicApiKey,
176
+ appName: initializers.globalProps.appName
177
+ }
178
+ };
179
+ var imagekitConfig = ramda.mergeDeepRight(defaultImageKitConfig, uploadConfig);
180
+ var handleUploadProgress = function handleUploadProgress(e, fileSize) {
181
+ if (e.loaded <= fileSize) {
182
+ var percent = Math.round(e.loaded / fileSize * 100);
183
+ setUploadProgress(percent);
184
+ }
185
+ ramda.equals(e.loaded, e.total) && setUploadProgress(100);
186
+ };
187
+ var uploadToImagekit = /*#__PURE__*/function () {
188
+ var _ref2 = useImageUploader._asyncToGenerator( /*#__PURE__*/useImageUploader._regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
189
+ var imagekit, image, errorMessage;
190
+ return useImageUploader._regeneratorRuntime.wrap(function _callee$(_context) {
191
+ while (1) switch (_context.prev = _context.next) {
192
+ case 0:
193
+ _context.prev = 0;
194
+ imagekit = new index.ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
195
+ authenticationEndpoint: authenticationEndpoint
196
+ }));
197
+ setIsUploading(true);
198
+ _context.next = 5;
199
+ return imagekit.upload({
200
+ xhr: XHRProgress,
201
+ file: file,
202
+ fileName: useImageUploader.generateASCIIFileName(file.name),
203
+ folder: imagekitConfig.folder,
204
+ customMetadata: imagekitConfig.customMetadata
205
+ });
206
+ case 5:
207
+ image = _context.sent;
208
+ onUploadComplete(image);
209
+ _context.next = 13;
210
+ break;
211
+ case 9:
212
+ _context.prev = 9;
213
+ _context.t0 = _context["catch"](0);
214
+ errorMessage = ramda.equals(_context.t0.message, i18next.t("neetoImageUploader.errors.sdkKeysMissing")) ? i18next.t("neetoImageUploader.errors.imagekitKeysMissing") : _context.t0.message;
215
+ Toastr__default["default"].error(errorMessage);
216
+ case 13:
217
+ _context.prev = 13;
218
+ setIsUploading(false);
219
+ return _context.finish(13);
220
+ case 16:
221
+ case "end":
222
+ return _context.stop();
223
+ }
224
+ }, _callee, null, [[0, 9, 13, 16]]);
225
+ }));
226
+ return function uploadToImagekit(_x, _x2, _x3) {
227
+ return _ref2.apply(this, arguments);
228
+ };
229
+ }();
230
+ var uploadImage = /*#__PURE__*/function () {
231
+ var _ref3 = useImageUploader._asyncToGenerator( /*#__PURE__*/useImageUploader._regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
232
+ var fileSize, XHRProgress;
233
+ return useImageUploader._regeneratorRuntime.wrap(function _callee2$(_context2) {
234
+ while (1) switch (_context2.prev = _context2.next) {
235
+ case 0:
236
+ setUploadProgress(0);
237
+ fileSize = file.size;
238
+ XHRProgress = new XMLHttpRequest();
239
+ XHRProgress.upload.addEventListener("progress", function (e) {
240
+ handleUploadProgress(e, fileSize);
241
+ });
242
+ _context2.next = 6;
243
+ return uploadToImagekit(file, XHRProgress, onUploadComplete);
244
+ case 6:
245
+ case "end":
246
+ return _context2.stop();
247
+ }
248
+ }, _callee2);
249
+ }));
250
+ return function uploadImage(_x4, _x5) {
251
+ return _ref3.apply(this, arguments);
252
+ };
253
+ }();
254
+ return {
255
+ uploadImage: uploadImage,
256
+ uploadProgress: uploadProgress,
257
+ isUploading: isUploading
258
+ };
259
+ };
260
+
261
+ exports.useImageUpload = useImageUpload;
262
+ exports.useProfileImageUpload = useProfileImageUpload;
263
+ //# sourceMappingURL=useProfileImageUpload-f0088c2a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProfileImageUpload-f0088c2a.js","sources":["../app/javascript/src/hooks/useImageUpload.js","../app/javascript/src/hooks/useProfileImageUpload.js"],"sourcesContent":["import { useState } from \"react\";\n\nimport { DirectUpload } from \"@rails/activestorage\";\nimport ImageKit from \"imagekit-javascript\";\nimport { keysToCamelCase } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, mergeRight } from \"ramda\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCreateBlob } from \"./useDirectUploads\";\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useImageUpload = () => {\n const [uploadProgress, setUploadProgress] = useState(0);\n const [isUploading, setIsUploading] = useState(false);\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const { mutate: createBlob } = useCreateBlob();\n\n const handleUploadProgress = (e, fileSize) => {\n if (e.loaded <= fileSize) {\n const percent = Math.round((e.loaded / fileSize) * 100);\n setUploadProgress(percent);\n }\n equals(e.loaded, e.total) && setUploadProgress(100);\n };\n\n const developmentUpload = (file, onUploadComplete) => {\n try {\n setIsUploading(true);\n const upload = new DirectUpload(file, \"/api/direct_uploads\");\n upload.create((_, blob) => {\n const payload = {\n id: blob.signed_id,\n payload: {\n metadata: {\n organizationKey: globalProps.organization.publicApiKey,\n url: blob.blob_url,\n height: 200,\n width: 200,\n },\n },\n };\n directUploadsApi.update(payload);\n\n onUploadComplete(\n mergeRight(keysToCamelCase(blob), { url: blob.blob_url })\n );\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const productionUpload = async (file, XHRProgress, onUploadComplete) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const image = await imagekit.upload({\n xhr: XHRProgress,\n file,\n fileName: generateASCIIFileName(file.name),\n folder: globalProps.imagekit.folder,\n customMetadata: {\n organizationKey: globalProps.organization.publicApiKey,\n appName: globalProps.appName,\n },\n });\n\n const payload = {\n filename: image.name,\n byte_size: image.size,\n content_type: image.fileType,\n checksum: image.fileId,\n metadata: image,\n service_name: \"imagekitio\",\n };\n\n createBlob(payload, {\n onSuccess: onUploadComplete,\n onError: Toastr.error,\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const uploadImage = async (file, onUploadComplete) => {\n setUploadProgress(0);\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize);\n });\n\n IS_DEVELOPMENT_OR_HEROKU_ENV\n ? await developmentUpload(file, onUploadComplete)\n : await productionUpload(file, XHRProgress, onUploadComplete);\n };\n\n return { uploadImage, uploadProgress, isUploading };\n};\n\nexport default useImageUpload;\n","import { useState } from \"react\";\n\nimport { t } from \"i18next\";\nimport ImageKit from \"imagekit-javascript\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, mergeDeepRight, mergeRight } from \"ramda\";\n\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useProfileImageUpload = ({ uploadConfig = {} }) => {\n const [uploadProgress, setUploadProgress] = useState(0);\n const [isUploading, setIsUploading] = useState(false);\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const defaultImageKitConfig = {\n folder: globalProps.imagekit.folder,\n customMetadata: {\n organizationKey: globalProps.organization.publicApiKey,\n appName: globalProps.appName,\n },\n };\n\n const imagekitConfig = mergeDeepRight(defaultImageKitConfig, uploadConfig);\n\n const handleUploadProgress = (e, fileSize) => {\n if (e.loaded <= fileSize) {\n const percent = Math.round((e.loaded / fileSize) * 100);\n setUploadProgress(percent);\n }\n equals(e.loaded, e.total) && setUploadProgress(100);\n };\n\n const uploadToImagekit = async (file, XHRProgress, onUploadComplete) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const image = await imagekit.upload({\n xhr: XHRProgress,\n file,\n fileName: generateASCIIFileName(file.name),\n folder: imagekitConfig.folder,\n customMetadata: imagekitConfig.customMetadata,\n });\n\n onUploadComplete(image);\n } catch (error) {\n const errorMessage = equals(\n error.message,\n t(\"neetoImageUploader.errors.sdkKeysMissing\")\n )\n ? t(\"neetoImageUploader.errors.imagekitKeysMissing\")\n : error.message;\n\n Toastr.error(errorMessage);\n } finally {\n setIsUploading(false);\n }\n };\n\n const uploadImage = async (file, onUploadComplete) => {\n setUploadProgress(0);\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize);\n });\n\n await uploadToImagekit(file, XHRProgress, onUploadComplete);\n };\n\n return { uploadImage, uploadProgress, isUploading };\n};\n\nexport default useProfileImageUpload;\n"],"names":["useImageUpload","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useState3","_useState4","isUploading","setIsUploading","authenticationEndpoint","concat","window","location","origin","_useCreateBlob","useCreateBlob","createBlob","mutate","handleUploadProgress","e","fileSize","loaded","percent","Math","round","equals","total","developmentUpload","file","onUploadComplete","upload","DirectUpload","create","_","blob","payload","id","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","url","blob_url","height","width","directUploadsApi","update","mergeRight","keysToCamelCase","error","Toastr","productionUpload","_ref","_asyncToGenerator","_regeneratorRuntime","mark","_callee","XHRProgress","imagekit","image","wrap","_callee$","_context","prev","next","ImageKit","xhr","fileName","generateASCIIFileName","name","folder","customMetadata","appName","sent","filename","byte_size","size","content_type","fileType","checksum","fileId","service_name","onSuccess","onError","t0","finish","stop","_x","_x2","_x3","apply","arguments","uploadImage","_ref2","_callee2","_callee2$","_context2","XMLHttpRequest","addEventListener","IS_DEVELOPMENT_OR_HEROKU_ENV","_x4","_x5","useProfileImageUpload","_ref$uploadConfig","uploadConfig","defaultImageKitConfig","imagekitConfig","mergeDeepRight","uploadToImagekit","errorMessage","message","t","_ref3"],"mappings":";;;;;;;;;;;;;;;;AAeA,IAAMA,cAAc,GAAG,SAAjBA,cAAcA,GAAS;AAC3B,EAAA,IAAAC,SAAA,GAA4CC,mBAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,oBAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDI,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAI,UAAA,GAAsCL,mBAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,oBAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA9CE,IAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAClC,IAAMG,sBAAsB,MAAAC,MAAA,CAAMC,MAAM,CAACC,QAAQ,CAACC,MAAM,EAA4C,4CAAA,CAAA,CAAA;AAEpG,EAAA,IAAAC,cAAA,GAA+BC,8BAAa,EAAE;IAA9BC,UAAU,GAAAF,cAAA,CAAlBG,MAAM,CAAA;EAEd,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,CAAC,EAAEC,QAAQ,EAAK;AAC5C,IAAA,IAAID,CAAC,CAACE,MAAM,IAAID,QAAQ,EAAE;AACxB,MAAA,IAAME,OAAO,GAAGC,IAAI,CAACC,KAAK,CAAEL,CAAC,CAACE,MAAM,GAAGD,QAAQ,GAAI,GAAG,CAAC,CAAA;MACvDhB,iBAAiB,CAACkB,OAAO,CAAC,CAAA;AAC5B,KAAA;AACAG,IAAAA,YAAM,CAACN,CAAC,CAACE,MAAM,EAAEF,CAAC,CAACO,KAAK,CAAC,IAAItB,iBAAiB,CAAC,GAAG,CAAC,CAAA;GACpD,CAAA;EAED,IAAMuB,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,IAAI,EAAEC,gBAAgB,EAAK;IACpD,IAAI;MACFrB,cAAc,CAAC,IAAI,CAAC,CAAA;MACpB,IAAMsB,MAAM,GAAG,IAAIC,0BAAY,CAACH,IAAI,EAAE,qBAAqB,CAAC,CAAA;AAC5DE,MAAAA,MAAM,CAACE,MAAM,CAAC,UAACC,CAAC,EAAEC,IAAI,EAAK;AACzB,QAAA,IAAMC,OAAO,GAAG;UACdC,EAAE,EAAEF,IAAI,CAACG,SAAS;AAClBF,UAAAA,OAAO,EAAE;AACPG,YAAAA,QAAQ,EAAE;AACRC,cAAAA,eAAe,EAAEC,wBAAW,CAACC,YAAY,CAACC,YAAY;cACtDC,GAAG,EAAET,IAAI,CAACU,QAAQ;AAClBC,cAAAA,MAAM,EAAE,GAAG;AACXC,cAAAA,KAAK,EAAE,GAAA;AACT,aAAA;AACF,WAAA;SACD,CAAA;AACDC,QAAAA,iCAAgB,CAACC,MAAM,CAACb,OAAO,CAAC,CAAA;AAEhCN,QAAAA,gBAAgB,CACdoB,gBAAU,CAACC,yBAAe,CAAChB,IAAI,CAAC,EAAE;UAAES,GAAG,EAAET,IAAI,CAACU,QAAAA;AAAS,SAAC,CAC1D,CAAC,CAAA;AACH,OAAC,CAAC,CAAA;KACH,CAAC,OAAOO,KAAK,EAAE;AACdC,MAAAA,0BAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AACrB,KAAC,SAAS;MACR3C,cAAc,CAAC,KAAK,CAAC,CAAA;AACvB,KAAA;GACD,CAAA;AAED,EAAA,IAAM6C,gBAAgB,gBAAA,YAAA;AAAA,IAAA,IAAAC,IAAA,GAAAC,kCAAA,eAAAC,oCAAA,CAAAC,IAAA,CAAG,SAAAC,OAAO9B,CAAAA,IAAI,EAAE+B,WAAW,EAAE9B,gBAAgB,EAAA;AAAA,MAAA,IAAA+B,QAAA,EAAAC,KAAA,EAAA1B,OAAA,CAAA;AAAA,MAAA,OAAAqB,oCAAA,CAAAM,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;YAEzDL,QAAQ,GAAG,IAAIO,cAAQ,CAC3BlB,gBAAU,CAACT,wBAAW,CAACoB,QAAQ,EAAE;AAAEnD,cAAAA,sBAAsB,EAAtBA,sBAAAA;AAAuB,aAAC,CAC7D,CAAC,CAAA;YACDD,cAAc,CAAC,IAAI,CAAC,CAAA;AAACwD,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OACDN,QAAQ,CAAC9B,MAAM,CAAC;AAClCsC,cAAAA,GAAG,EAAET,WAAW;AAChB/B,cAAAA,IAAI,EAAJA,IAAI;AACJyC,cAAAA,QAAQ,EAAEC,sCAAqB,CAAC1C,IAAI,CAAC2C,IAAI,CAAC;AAC1CC,cAAAA,MAAM,EAAEhC,wBAAW,CAACoB,QAAQ,CAACY,MAAM;AACnCC,cAAAA,cAAc,EAAE;AACdlC,gBAAAA,eAAe,EAAEC,wBAAW,CAACC,YAAY,CAACC,YAAY;gBACtDgC,OAAO,EAAElC,wBAAW,CAACkC,OAAAA;AACvB,eAAA;AACF,aAAC,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YATIb,KAAK,GAAAG,QAAA,CAAAW,IAAA,CAAA;AAWLxC,YAAAA,OAAO,GAAG;cACdyC,QAAQ,EAAEf,KAAK,CAACU,IAAI;cACpBM,SAAS,EAAEhB,KAAK,CAACiB,IAAI;cACrBC,YAAY,EAAElB,KAAK,CAACmB,QAAQ;cAC5BC,QAAQ,EAAEpB,KAAK,CAACqB,MAAM;AACtB5C,cAAAA,QAAQ,EAAEuB,KAAK;AACfsB,cAAAA,YAAY,EAAE,YAAA;aACf,CAAA;YAEDnE,UAAU,CAACmB,OAAO,EAAE;AAClBiD,cAAAA,SAAS,EAAEvD,gBAAgB;cAC3BwD,OAAO,EAAEjC,0BAAM,CAACD,KAAAA;AAClB,aAAC,CAAC,CAAA;AAACa,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,EAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;YAAAD,QAAA,CAAAsB,EAAA,GAAAtB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEHZ,YAAAA,0BAAM,CAACD,KAAK,CAAAa,QAAA,CAAAsB,EAAM,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA;AAAAtB,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;YAEpBzD,cAAc,CAAC,KAAK,CAAC,CAAA;YAAC,OAAAwD,QAAA,CAAAuB,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAvB,QAAA,CAAAwB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAA9B,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAEzB,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,SAnCKL,gBAAgBA,CAAAoC,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAArC,IAAA,CAAAsC,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GAmCrB,EAAA,CAAA;AAED,EAAA,IAAMC,WAAW,gBAAA,YAAA;AAAA,IAAA,IAAAC,KAAA,GAAAxC,kCAAA,eAAAC,oCAAA,CAAAC,IAAA,CAAG,SAAAuC,QAAAA,CAAOpE,IAAI,EAAEC,gBAAgB,EAAA;MAAA,IAAAT,QAAA,EAAAuC,WAAA,CAAA;AAAA,MAAA,OAAAH,oCAAA,CAAAM,IAAA,CAAA,SAAAmC,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAjC,IAAA,GAAAiC,SAAA,CAAAhC,IAAA;AAAA,UAAA,KAAA,CAAA;YAC/C9D,iBAAiB,CAAC,CAAC,CAAC,CAAA;YACdgB,QAAQ,GAAGQ,IAAI,CAACkD,IAAI,CAAA;AACpBnB,YAAAA,WAAW,GAAG,IAAIwC,cAAc,EAAE,CAAA;YACxCxC,WAAW,CAAC7B,MAAM,CAACsE,gBAAgB,CAAC,UAAU,EAAE,UAAAjF,CAAC,EAAI;AACnDD,cAAAA,oBAAoB,CAACC,CAAC,EAAEC,QAAQ,CAAC,CAAA;AACnC,aAAC,CAAC,CAAA;AAAC,YAAA,IAAA,CAEHiF,kCAA4B,EAAA;AAAAH,cAAAA,SAAA,CAAAhC,IAAA,GAAA,CAAA,CAAA;AAAA,cAAA,MAAA;AAAA,aAAA;AAAAgC,YAAAA,SAAA,CAAAhC,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAClBvC,iBAAiB,CAACC,IAAI,EAAEC,gBAAgB,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;AAAAqE,YAAAA,SAAA,CAAAhC,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,CAAA;AAAAgC,YAAAA,SAAA,CAAAhC,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,OACzCb,gBAAgB,CAACzB,IAAI,EAAE+B,WAAW,EAAE9B,gBAAgB,CAAC,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAqE,SAAA,CAAAV,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAQ,QAAA,CAAA,CAAA;KAChE,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,SAXKF,WAAWA,CAAAQ,GAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAAR,KAAA,CAAAH,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GAWhB,EAAA,CAAA;EAED,OAAO;AAAEC,IAAAA,WAAW,EAAXA,WAAW;AAAE3F,IAAAA,cAAc,EAAdA,cAAc;AAAEI,IAAAA,WAAW,EAAXA,WAAAA;GAAa,CAAA;AACrD;;ACpGA,IAAMiG,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAAlD,IAAA,EAA8B;AAAA,EAAA,IAAAmD,iBAAA,GAAAnD,IAAA,CAAxBoD,YAAY;AAAZA,IAAAA,YAAY,GAAAD,iBAAA,KAAA,KAAA,CAAA,GAAG,EAAE,GAAAA,iBAAA,CAAA;AAChD,EAAA,IAAA1G,SAAA,GAA4CC,mBAAQ,CAAC,CAAC,CAAC;IAAAC,UAAA,GAAAC,oBAAA,CAAAH,SAAA,EAAA,CAAA,CAAA;AAAhDI,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA;AAAEG,IAAAA,iBAAiB,GAAAH,UAAA,CAAA,CAAA,CAAA,CAAA;AACxC,EAAA,IAAAI,UAAA,GAAsCL,mBAAQ,CAAC,KAAK,CAAC;IAAAM,UAAA,GAAAJ,oBAAA,CAAAG,UAAA,EAAA,CAAA,CAAA;AAA9CE,IAAAA,WAAW,GAAAD,UAAA,CAAA,CAAA,CAAA;AAAEE,IAAAA,cAAc,GAAAF,UAAA,CAAA,CAAA,CAAA,CAAA;EAClC,IAAMG,sBAAsB,MAAAC,MAAA,CAAMC,MAAM,CAACC,QAAQ,CAACC,MAAM,EAA4C,4CAAA,CAAA,CAAA;AAEpG,EAAA,IAAM8F,qBAAqB,GAAG;AAC5BnC,IAAAA,MAAM,EAAEhC,wBAAW,CAACoB,QAAQ,CAACY,MAAM;AACnCC,IAAAA,cAAc,EAAE;AACdlC,MAAAA,eAAe,EAAEC,wBAAW,CAACC,YAAY,CAACC,YAAY;MACtDgC,OAAO,EAAElC,wBAAW,CAACkC,OAAAA;AACvB,KAAA;GACD,CAAA;AAED,EAAA,IAAMkC,cAAc,GAAGC,oBAAc,CAACF,qBAAqB,EAAED,YAAY,CAAC,CAAA;EAE1E,IAAMxF,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,CAAC,EAAEC,QAAQ,EAAK;AAC5C,IAAA,IAAID,CAAC,CAACE,MAAM,IAAID,QAAQ,EAAE;AACxB,MAAA,IAAME,OAAO,GAAGC,IAAI,CAACC,KAAK,CAAEL,CAAC,CAACE,MAAM,GAAGD,QAAQ,GAAI,GAAG,CAAC,CAAA;MACvDhB,iBAAiB,CAACkB,OAAO,CAAC,CAAA;AAC5B,KAAA;AACAG,IAAAA,YAAM,CAACN,CAAC,CAACE,MAAM,EAAEF,CAAC,CAACO,KAAK,CAAC,IAAItB,iBAAiB,CAAC,GAAG,CAAC,CAAA;GACpD,CAAA;AAED,EAAA,IAAM0G,gBAAgB,gBAAA,YAAA;AAAA,IAAA,IAAAf,KAAA,GAAAxC,kCAAA,eAAAC,oCAAA,CAAAC,IAAA,CAAG,SAAAC,OAAO9B,CAAAA,IAAI,EAAE+B,WAAW,EAAE9B,gBAAgB,EAAA;AAAA,MAAA,IAAA+B,QAAA,EAAAC,KAAA,EAAAkD,YAAA,CAAA;AAAA,MAAA,OAAAvD,oCAAA,CAAAM,IAAA,CAAA,SAAAC,SAAAC,QAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;YAEzDL,QAAQ,GAAG,IAAIO,cAAQ,CAC3BlB,gBAAU,CAACT,wBAAW,CAACoB,QAAQ,EAAE;AAAEnD,cAAAA,sBAAsB,EAAtBA,sBAAAA;AAAuB,aAAC,CAC7D,CAAC,CAAA;YACDD,cAAc,CAAC,IAAI,CAAC,CAAA;AAACwD,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OACDN,QAAQ,CAAC9B,MAAM,CAAC;AAClCsC,cAAAA,GAAG,EAAET,WAAW;AAChB/B,cAAAA,IAAI,EAAJA,IAAI;AACJyC,cAAAA,QAAQ,EAAEC,sCAAqB,CAAC1C,IAAI,CAAC2C,IAAI,CAAC;cAC1CC,MAAM,EAAEoC,cAAc,CAACpC,MAAM;cAC7BC,cAAc,EAAEmC,cAAc,CAACnC,cAAAA;AACjC,aAAC,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YANIZ,KAAK,GAAAG,QAAA,CAAAW,IAAA,CAAA;YAQX9C,gBAAgB,CAACgC,KAAK,CAAC,CAAA;AAACG,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;YAAAD,QAAA,CAAAsB,EAAA,GAAAtB,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;YAElB+C,YAAY,GAAGtF,YAAM,CACzBuC,QAAA,CAAAsB,EAAA,CAAM0B,OAAO,EACbC,SAAC,CAAC,0CAA0C,CAC9C,CAAC,GACGA,SAAC,CAAC,+CAA+C,CAAC,GAClDjD,QAAA,CAAAsB,EAAA,CAAM0B,OAAO,CAAA;AAEjB5D,YAAAA,0BAAM,CAACD,KAAK,CAAC4D,YAAY,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA;AAAA/C,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;YAE3BzD,cAAc,CAAC,KAAK,CAAC,CAAA;YAAC,OAAAwD,QAAA,CAAAuB,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAvB,QAAA,CAAAwB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAA9B,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAEzB,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,SA3BKoD,gBAAgBA,CAAArB,EAAA,EAAAC,GAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAAI,KAAA,CAAAH,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GA2BrB,EAAA,CAAA;AAED,EAAA,IAAMC,WAAW,gBAAA,YAAA;AAAA,IAAA,IAAAoB,KAAA,GAAA3D,kCAAA,eAAAC,oCAAA,CAAAC,IAAA,CAAG,SAAAuC,QAAAA,CAAOpE,IAAI,EAAEC,gBAAgB,EAAA;MAAA,IAAAT,QAAA,EAAAuC,WAAA,CAAA;AAAA,MAAA,OAAAH,oCAAA,CAAAM,IAAA,CAAA,SAAAmC,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAAjC,IAAA,GAAAiC,SAAA,CAAAhC,IAAA;AAAA,UAAA,KAAA,CAAA;YAC/C9D,iBAAiB,CAAC,CAAC,CAAC,CAAA;YACdgB,QAAQ,GAAGQ,IAAI,CAACkD,IAAI,CAAA;AACpBnB,YAAAA,WAAW,GAAG,IAAIwC,cAAc,EAAE,CAAA;YACxCxC,WAAW,CAAC7B,MAAM,CAACsE,gBAAgB,CAAC,UAAU,EAAE,UAAAjF,CAAC,EAAI;AACnDD,cAAAA,oBAAoB,CAACC,CAAC,EAAEC,QAAQ,CAAC,CAAA;AACnC,aAAC,CAAC,CAAA;AAAC8E,YAAAA,SAAA,CAAAhC,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAEG4C,gBAAgB,CAAClF,IAAI,EAAE+B,WAAW,EAAE9B,gBAAgB,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAqE,SAAA,CAAAV,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAQ,QAAA,CAAA,CAAA;KAC5D,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,SATKF,WAAWA,CAAAQ,GAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAAW,KAAA,CAAAtB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GAShB,EAAA,CAAA;EAED,OAAO;AAAEC,IAAAA,WAAW,EAAXA,WAAW;AAAE3F,IAAAA,cAAc,EAAdA,cAAc;AAAEI,IAAAA,WAAW,EAAXA,WAAAA;GAAa,CAAA;AACrD;;;;;"}
@@ -0,0 +1,277 @@
1
+ 'use strict';
2
+
3
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
4
+ var index = require('./index-7f064861.js');
5
+ var require$$0 = require('react');
6
+ var reactDropzone = require('react-dropzone');
7
+ var i18next = require('i18next');
8
+ var Toastr = require('@bigbinary/neetoui/Toastr');
9
+ var neetoCist = require('@bigbinary/neeto-cist');
10
+ var ramda = require('ramda');
11
+
12
+ function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
13
+
14
+ var i18next__default = /*#__PURE__*/_interopDefaultLegacy(i18next);
15
+ var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
16
+
17
+ function _objectWithoutPropertiesLoose(source, excluded) {
18
+ if (source == null) return {};
19
+ var target = {};
20
+ var sourceKeys = Object.keys(source);
21
+ var key, i;
22
+ for (i = 0; i < sourceKeys.length; i++) {
23
+ key = sourceKeys[i];
24
+ if (excluded.indexOf(key) >= 0) continue;
25
+ target[key] = source[key];
26
+ }
27
+ return target;
28
+ }
29
+
30
+ function _objectWithoutProperties(source, excluded) {
31
+ if (source == null) return {};
32
+ var target = _objectWithoutPropertiesLoose(source, excluded);
33
+ var key, i;
34
+ if (Object.getOwnPropertySymbols) {
35
+ var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
36
+ for (i = 0; i < sourceSymbolKeys.length; i++) {
37
+ key = sourceSymbolKeys[i];
38
+ if (excluded.indexOf(key) >= 0) continue;
39
+ if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
40
+ target[key] = source[key];
41
+ }
42
+ }
43
+ return target;
44
+ }
45
+
46
+ var DEFAULT_ALLOWED_IMAGE_TYPES = {
47
+ "image/png": [".png"],
48
+ "image/jpg": [".jpg", ".jpeg"],
49
+ "image/gif": [".gif"],
50
+ "image/svg+xml": [".svg"]
51
+ };
52
+ var DEFAULT_UPLOAD_CONFIG = {
53
+ maxImageSize: initializers.globalProps.endUserUploadedFileSizeLimitInMb,
54
+ allowedImageTypes: DEFAULT_ALLOWED_IMAGE_TYPES
55
+ };
56
+ var OPTION_KEYS = {
57
+ asset: "asset",
58
+ remove: "remove"
59
+ };
60
+
61
+ var DROPZONE_ROOT_DIV_CLASSNAME = "neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out";
62
+ var FILE_ERRORS = {
63
+ "file-invalid-type": i18next.t("neetoImageUploader.imageUpload.fileTypeError"),
64
+ "file-too-large": i18next.t("neetoImageUploader.imageUpload.fileSizeError")
65
+ };
66
+
67
+ var handleDropRejected = function handleDropRejected(fileRejections) {
68
+ fileRejections.map(function (_ref) {
69
+ var errors = _ref.errors;
70
+ return errors.map(function (_ref2) {
71
+ var code = _ref2.code;
72
+ return Toastr__default["default"].error(FILE_ERRORS[code] || i18next.t("neetoImageUploader.imageUpload.genericError"));
73
+ });
74
+ });
75
+ };
76
+
77
+ var useUploadDropzone = function useUploadDropzone(_ref) {
78
+ var _ref$uploadConfig = _ref.uploadConfig,
79
+ uploadConfig = _ref$uploadConfig === void 0 ? {
80
+ allowedImageTypes: [],
81
+ maxImageSize: 0
82
+ } : _ref$uploadConfig,
83
+ _onDrop = _ref.onDrop;
84
+ var _useState = require$$0.useState(0),
85
+ _useState2 = index._slicedToArray(_useState, 2),
86
+ uploadProgress = _useState2[0],
87
+ setUploadProgress = _useState2[1];
88
+ var _useDropzone = reactDropzone.useDropzone({
89
+ onDrop: function onDrop(acceptedFiles) {
90
+ return _onDrop(acceptedFiles[0], setUploadProgress);
91
+ },
92
+ accept: uploadConfig === null || uploadConfig === void 0 ? void 0 : uploadConfig.allowedImageTypes,
93
+ multiple: false,
94
+ maxSize: uploadConfig.maxImageSize * 1048576,
95
+ onDropRejected: handleDropRejected
96
+ }),
97
+ getRootProps = _useDropzone.getRootProps,
98
+ getInputProps = _useDropzone.getInputProps,
99
+ isDragActive = _useDropzone.isDragActive,
100
+ inputRef = _useDropzone.inputRef;
101
+ return {
102
+ getRootProps: getRootProps,
103
+ getInputProps: getInputProps,
104
+ isDragActive: isDragActive,
105
+ uploadProgress: uploadProgress,
106
+ inputRef: inputRef
107
+ };
108
+ };
109
+
110
+ var UNSPLASH_DEFAULT_NAME = "Unsplash-asset";
111
+ var UNSPLASH_URL = "https://unsplash.com/";
112
+ var IMAGES_PER_PAGE = 30;
113
+ var UNSPLASH_DEFAULT_REQUEST_CONFIG = {
114
+ headers: {
115
+ "Access-Control-Allow-Origin": "*",
116
+ "Access-Control-Allow-Methods": "GET"
117
+ },
118
+ responseType: "blob"
119
+ };
120
+ var TABS = [{
121
+ label: i18next__default["default"].t("neetoImageUploader.labels.myImages"),
122
+ key: "images",
123
+ dataCy: "neeto-image-uploader-my-images-tab"
124
+ }, {
125
+ label: i18next__default["default"].t("neetoImageUploader.labels.searchTheWeb"),
126
+ key: "unsplash",
127
+ dataCy: "neeto-image-uploader-unsplash-tab"
128
+ }];
129
+ var OPTIONS = [{
130
+ key: "local",
131
+ label: i18next__default["default"].t("neetoImageUploader.labels.uploadNewImage"),
132
+ "data-cy": "upload-new-asset",
133
+ style: "primary",
134
+ onClick: neetoCist.noop
135
+ }];
136
+ var DEFAULT_CROP_CONFIG = {
137
+ unit: "px",
138
+ height: 0,
139
+ width: 0,
140
+ x: 0,
141
+ y: 0
142
+ };
143
+ var INFINITE_SCROLLER_SIZES = [{
144
+ columns: 2,
145
+ gutter: 0
146
+ }, {
147
+ mq: "768px",
148
+ columns: 4,
149
+ gutter: 0
150
+ }, {
151
+ mq: "1024px",
152
+ columns: 4,
153
+ gutter: 0
154
+ }];
155
+ var INFINITE_SCROLLER_STYLE = {
156
+ width: "100%"
157
+ };
158
+ var ASSETS_FETCH_URL = index.IS_DEVELOPMENT_OR_HEROKU_ENV ? "neeto_image_uploader_engine/development/fetch" : "neeto_image_uploader_engine/imagekit/fetch";
159
+ var ASSETS_DESTROY_URL = index.IS_DEVELOPMENT_OR_HEROKU_ENV ? "neeto_image_uploader_engine/development/bulk_destroy" : "neeto_image_uploader_engine/imagekit/bulk_destroy";
160
+ var IMAGE_WRAPPER_CLASSNAME = "neeto-ui-border-gray-300 neeto-ui-bg-gray-100 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative flex h-full w-full flex-col items-center justify-center gap-5 border border-dashed p-2 transition-all duration-300 ease-in-out";
161
+
162
+ var getCropValues = function getCropValues(_ref) {
163
+ var crop = _ref.crop,
164
+ imageRef = _ref.imageRef;
165
+ return {
166
+ x: imageRef.current.naturalWidth * (crop.x / imageRef.current.width),
167
+ y: imageRef.current.naturalHeight * (crop.y / imageRef.current.height),
168
+ height: imageRef.current.naturalHeight * (crop.height / imageRef.current.height),
169
+ width: imageRef.current.naturalWidth * (crop.width / imageRef.current.width)
170
+ };
171
+ };
172
+ var getCroppedImageURL = function getCroppedImageURL(_ref2) {
173
+ var imageURL = _ref2.imageURL,
174
+ crop = _ref2.crop,
175
+ imageRef = _ref2.imageRef;
176
+ var imagekit = new index.ImageKit({
177
+ urlEndpoint: initializers.globalProps.imagekit.urlEndpoint
178
+ });
179
+ var _getCropValues = getCropValues({
180
+ crop: crop,
181
+ imageRef: imageRef
182
+ }),
183
+ x = _getCropValues.x,
184
+ y = _getCropValues.y,
185
+ height = _getCropValues.height,
186
+ width = _getCropValues.width;
187
+ var transformation = [{
188
+ cropMode: "extract",
189
+ x: x,
190
+ y: y,
191
+ height: height,
192
+ width: width
193
+ }];
194
+ return imagekit.url({
195
+ src: imageURL,
196
+ transformation: transformation
197
+ });
198
+ };
199
+ var isNilOrEmpty = function isNilOrEmpty(value) {
200
+ return ramda.isNil(value) || ramda.isEmpty(value);
201
+ };
202
+ var isNotNilOrEmpty = function isNotNilOrEmpty(value) {
203
+ return !isNilOrEmpty(value);
204
+ };
205
+ var onImageLoaded = function onImageLoaded(_ref3) {
206
+ var image = _ref3.image,
207
+ setCrop = _ref3.setCrop,
208
+ _ref3$cropAspectRatio = _ref3.cropAspectRatio,
209
+ cropAspectRatio = _ref3$cropAspectRatio === void 0 ? 16 / 9 : _ref3$cropAspectRatio;
210
+ var width = image.width,
211
+ height = image.height;
212
+ var imageAspectRatio = width / height;
213
+ var maxCropWidth = 250;
214
+ var maxCropHeight = maxCropWidth / cropAspectRatio;
215
+ var cropWidth, cropHeight;
216
+ if (imageAspectRatio > cropAspectRatio) {
217
+ cropWidth = Math.min(maxCropWidth, width);
218
+ cropHeight = cropWidth / cropAspectRatio;
219
+ } else if (height < maxCropHeight) {
220
+ cropWidth = width;
221
+ cropHeight = height;
222
+ } else {
223
+ cropHeight = Math.min(maxCropHeight, height);
224
+ cropWidth = cropHeight * cropAspectRatio;
225
+ }
226
+ var cropX = (width - cropWidth) / 2;
227
+ var cropY = (height - cropHeight) / 2;
228
+ setCrop({
229
+ unit: "px",
230
+ width: cropWidth,
231
+ height: cropHeight,
232
+ x: cropX,
233
+ y: cropY
234
+ });
235
+ };
236
+ var isItemsCenter = function isItemsCenter(_ref4) {
237
+ var imageRef = _ref4.imageRef,
238
+ wrapperRef = _ref4.wrapperRef;
239
+ var _ref5 = imageRef.current || {},
240
+ imageHeight = _ref5.height,
241
+ imageWidth = _ref5.width;
242
+ var wrapperHeight = (wrapperRef.current || {}).clientHeight;
243
+ if (imageHeight < imageWidth && imageHeight < wrapperHeight - 1) {
244
+ // Landscape images smaller than wrapper dimensions
245
+ return true;
246
+ }
247
+ if (imageHeight === imageWidth && imageHeight < wrapperHeight - 1) {
248
+ // Square images smaller than wrapper dimensions
249
+ return true;
250
+ }
251
+ return imageHeight > imageWidth && imageHeight < wrapperHeight - 1;
252
+ };
253
+
254
+ exports.ASSETS_DESTROY_URL = ASSETS_DESTROY_URL;
255
+ exports.ASSETS_FETCH_URL = ASSETS_FETCH_URL;
256
+ exports.DEFAULT_CROP_CONFIG = DEFAULT_CROP_CONFIG;
257
+ exports.DEFAULT_UPLOAD_CONFIG = DEFAULT_UPLOAD_CONFIG;
258
+ exports.DROPZONE_ROOT_DIV_CLASSNAME = DROPZONE_ROOT_DIV_CLASSNAME;
259
+ exports.IMAGES_PER_PAGE = IMAGES_PER_PAGE;
260
+ exports.IMAGE_WRAPPER_CLASSNAME = IMAGE_WRAPPER_CLASSNAME;
261
+ exports.INFINITE_SCROLLER_SIZES = INFINITE_SCROLLER_SIZES;
262
+ exports.INFINITE_SCROLLER_STYLE = INFINITE_SCROLLER_STYLE;
263
+ exports.OPTIONS = OPTIONS;
264
+ exports.OPTION_KEYS = OPTION_KEYS;
265
+ exports.TABS = TABS;
266
+ exports.UNSPLASH_DEFAULT_NAME = UNSPLASH_DEFAULT_NAME;
267
+ exports.UNSPLASH_DEFAULT_REQUEST_CONFIG = UNSPLASH_DEFAULT_REQUEST_CONFIG;
268
+ exports.UNSPLASH_URL = UNSPLASH_URL;
269
+ exports._objectWithoutProperties = _objectWithoutProperties;
270
+ exports.getCropValues = getCropValues;
271
+ exports.getCroppedImageURL = getCroppedImageURL;
272
+ exports.isItemsCenter = isItemsCenter;
273
+ exports.isNilOrEmpty = isNilOrEmpty;
274
+ exports.isNotNilOrEmpty = isNotNilOrEmpty;
275
+ exports.onImageLoaded = onImageLoaded;
276
+ exports.useUploadDropzone = useUploadDropzone;
277
+ //# sourceMappingURL=utils-88cce499.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils-88cce499.js","sources":["../node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","../node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","../app/javascript/src/components/ImageUploader/constants.js","../app/javascript/src/components/common/constants.js","../app/javascript/src/components/common/utils.js","../app/javascript/src/hooks/useUploadDropzone.js","../app/javascript/src/components/constants.js","../app/javascript/src/components/ImageEditor/utils.js"],"sourcesContent":["export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","import { globalProps } from \"neetocommons/initializers\";\n\nexport const DEFAULT_ALLOWED_IMAGE_TYPES = {\n \"image/png\": [\".png\"],\n \"image/jpg\": [\".jpg\", \".jpeg\"],\n \"image/gif\": [\".gif\"],\n \"image/svg+xml\": [\".svg\"],\n};\n\nexport const DEFAULT_UPLOAD_CONFIG = {\n maxImageSize: globalProps.endUserUploadedFileSizeLimitInMb,\n allowedImageTypes: DEFAULT_ALLOWED_IMAGE_TYPES,\n};\n\nexport const OPTION_KEYS = { asset: \"asset\", remove: \"remove\" };\n","import { t } from \"i18next\";\n\nexport const DROPZONE_ROOT_DIV_CLASSNAME =\n \"neeto-ui-border-primary-600 hover:neeto-ui-bg-gray-100 neeto-ui-rounded-lg flex h-full w-full flex-col items-center justify-center gap-3 border border-dashed p-5 transition-all duration-300 ease-in-out\";\n\nexport const FILE_ERRORS = {\n \"file-invalid-type\": t(\"neetoImageUploader.imageUpload.fileTypeError\"),\n \"file-too-large\": t(\"neetoImageUploader.imageUpload.fileSizeError\"),\n};\n","import { t } from \"i18next\";\nimport { Toastr } from \"neetoui\";\n\nimport { FILE_ERRORS } from \"./constants\";\n\nexport const handleDropRejected = fileRejections => {\n fileRejections.map(({ errors }) =>\n errors.map(({ code }) =>\n Toastr.error(\n FILE_ERRORS[code] || t(\"neetoImageUploader.imageUpload.genericError\")\n )\n )\n );\n};\n","import { useState } from \"react\";\n\nimport { useDropzone } from \"react-dropzone\";\n\nimport { handleDropRejected } from \"components/common/utils\";\n\nconst useUploadDropzone = ({\n uploadConfig = { allowedImageTypes: [], maxImageSize: 0 },\n onDrop,\n}) => {\n const [uploadProgress, setUploadProgress] = useState(0);\n\n const { getRootProps, getInputProps, isDragActive, inputRef } = useDropzone({\n onDrop: acceptedFiles => onDrop(acceptedFiles[0], setUploadProgress),\n accept: uploadConfig?.allowedImageTypes,\n multiple: false,\n maxSize: uploadConfig.maxImageSize * 1_048_576,\n onDropRejected: handleDropRejected,\n });\n\n return {\n getRootProps,\n getInputProps,\n isDragActive,\n uploadProgress,\n inputRef,\n };\n};\n\nexport default useUploadDropzone;\n","import i18next from \"i18next\";\nimport { noop } from \"neetocist\";\n\nimport { IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nexport const UNSPLASH_DEFAULT_NAME = \"Unsplash-asset\";\n\nexport const UNSPLASH_URL = \"https://unsplash.com/\";\n\nexport const IMAGES_PER_PAGE = 30;\n\nexport const UNSPLASH_DEFAULT_REQUEST_CONFIG = {\n headers: {\n \"Access-Control-Allow-Origin\": \"*\",\n \"Access-Control-Allow-Methods\": \"GET\",\n },\n responseType: \"blob\",\n};\n\nexport const TABS = [\n {\n label: i18next.t(\"neetoImageUploader.labels.myImages\"),\n key: \"images\",\n dataCy: \"neeto-image-uploader-my-images-tab\",\n },\n {\n label: i18next.t(\"neetoImageUploader.labels.searchTheWeb\"),\n key: \"unsplash\",\n dataCy: \"neeto-image-uploader-unsplash-tab\",\n },\n];\n\nexport const OPTIONS = [\n {\n key: \"local\",\n label: i18next.t(\"neetoImageUploader.labels.uploadNewImage\"),\n \"data-cy\": \"upload-new-asset\",\n style: \"primary\",\n onClick: noop,\n },\n];\n\nexport const DEFAULT_CROP_CONFIG = {\n unit: \"px\",\n height: 0,\n width: 0,\n x: 0,\n y: 0,\n};\n\nexport const URL_REGEXP =\n /[(http(s)?)://(www.)?a-zA-Z0-9@:%._+~#=]{2,256}\\.[a-z]{2,6}\\b([-a-zA-Z0-9@:%_+.~#?&//=]*)/;\n\nexport const INFINITE_SCROLLER_SIZES = [\n { columns: 2, gutter: 0 },\n { mq: \"768px\", columns: 4, gutter: 0 },\n { mq: \"1024px\", columns: 4, gutter: 0 },\n];\n\nexport const INFINITE_SCROLLER_STYLE = { width: \"100%\" };\n\nexport const ALLOWED_IMAGE_TYPES = {\n \"image/*\": [\".png\", \".jpg\", \".jpeg\", \".svg\", \".gif\"],\n};\n\nexport const ASSETS_FETCH_URL = IS_DEVELOPMENT_OR_HEROKU_ENV\n ? \"neeto_image_uploader_engine/development/fetch\"\n : \"neeto_image_uploader_engine/imagekit/fetch\";\n\nexport const ASSETS_DESTROY_URL = IS_DEVELOPMENT_OR_HEROKU_ENV\n ? \"neeto_image_uploader_engine/development/bulk_destroy\"\n : \"neeto_image_uploader_engine/imagekit/bulk_destroy\";\n\nexport const IMAGE_WRAPPER_CLASSNAME =\n \"neeto-ui-border-gray-300 neeto-ui-bg-gray-100 hover:neeto-ui-bg-gray-200 neeto-ui-rounded-lg relative flex h-full w-full flex-col items-center justify-center gap-5 border border-dashed p-2 transition-all duration-300 ease-in-out\";\n","import ImageKit from \"imagekit-javascript\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { isEmpty, isNil } from \"ramda\";\n\nexport const getCropValues = ({ crop, imageRef }) => ({\n x: imageRef.current.naturalWidth * (crop.x / imageRef.current.width),\n y: imageRef.current.naturalHeight * (crop.y / imageRef.current.height),\n height:\n imageRef.current.naturalHeight * (crop.height / imageRef.current.height),\n width: imageRef.current.naturalWidth * (crop.width / imageRef.current.width),\n});\n\nexport const getCroppedImageURL = ({ imageURL, crop, imageRef }) => {\n const imagekit = new ImageKit({\n urlEndpoint: globalProps.imagekit.urlEndpoint,\n });\n const { x, y, height, width } = getCropValues({ crop, imageRef });\n\n const transformation = [{ cropMode: \"extract\", x, y, height, width }];\n\n return imagekit.url({ src: imageURL, transformation });\n};\n\nexport const isNilOrEmpty = value => isNil(value) || isEmpty(value);\nexport const isNotNilOrEmpty = value => !isNilOrEmpty(value);\n\nexport const onImageLoaded = ({ image, setCrop, cropAspectRatio = 16 / 9 }) => {\n const { width, height } = image;\n const imageAspectRatio = width / height;\n const maxCropWidth = 250;\n const maxCropHeight = maxCropWidth / cropAspectRatio;\n\n let cropWidth, cropHeight;\n\n if (imageAspectRatio > cropAspectRatio) {\n cropWidth = Math.min(maxCropWidth, width);\n cropHeight = cropWidth / cropAspectRatio;\n } else if (height < maxCropHeight) {\n cropWidth = width;\n cropHeight = height;\n } else {\n cropHeight = Math.min(maxCropHeight, height);\n cropWidth = cropHeight * cropAspectRatio;\n }\n\n const cropX = (width - cropWidth) / 2;\n const cropY = (height - cropHeight) / 2;\n\n setCrop({\n unit: \"px\",\n width: cropWidth,\n height: cropHeight,\n x: cropX,\n y: cropY,\n });\n};\n\nexport const isItemsCenter = ({ imageRef, wrapperRef }) => {\n const { height: imageHeight, width: imageWidth } = imageRef.current || {};\n const wrapperHeight = (wrapperRef.current || {}).clientHeight;\n\n if (imageHeight < imageWidth && imageHeight < wrapperHeight - 1) {\n // Landscape images smaller than wrapper dimensions\n return true;\n }\n\n if (imageHeight === imageWidth && imageHeight < wrapperHeight - 1) {\n // Square images smaller than wrapper dimensions\n return true;\n }\n\n return imageHeight > imageWidth && imageHeight < wrapperHeight - 1;\n};\n"],"names":["objectWithoutPropertiesLoose","DEFAULT_ALLOWED_IMAGE_TYPES","DEFAULT_UPLOAD_CONFIG","maxImageSize","globalProps","endUserUploadedFileSizeLimitInMb","allowedImageTypes","OPTION_KEYS","asset","remove","DROPZONE_ROOT_DIV_CLASSNAME","FILE_ERRORS","t","handleDropRejected","fileRejections","map","_ref","errors","_ref2","code","Toastr","error","useUploadDropzone","_ref$uploadConfig","uploadConfig","onDrop","_useState","useState","_useState2","_slicedToArray","uploadProgress","setUploadProgress","_useDropzone","useDropzone","acceptedFiles","accept","multiple","maxSize","onDropRejected","getRootProps","getInputProps","isDragActive","inputRef","UNSPLASH_DEFAULT_NAME","UNSPLASH_URL","IMAGES_PER_PAGE","UNSPLASH_DEFAULT_REQUEST_CONFIG","headers","responseType","TABS","label","i18next","key","dataCy","OPTIONS","style","onClick","noop","DEFAULT_CROP_CONFIG","unit","height","width","x","y","INFINITE_SCROLLER_SIZES","columns","gutter","mq","INFINITE_SCROLLER_STYLE","ASSETS_FETCH_URL","IS_DEVELOPMENT_OR_HEROKU_ENV","ASSETS_DESTROY_URL","IMAGE_WRAPPER_CLASSNAME","getCropValues","crop","imageRef","current","naturalWidth","naturalHeight","getCroppedImageURL","imageURL","imagekit","ImageKit","urlEndpoint","_getCropValues","transformation","cropMode","url","src","isNilOrEmpty","value","isNil","isEmpty","isNotNilOrEmpty","onImageLoaded","_ref3","image","setCrop","_ref3$cropAspectRatio","cropAspectRatio","imageAspectRatio","maxCropWidth","maxCropHeight","cropWidth","cropHeight","Math","min","cropX","cropY","isItemsCenter","_ref4","wrapperRef","_ref5","imageHeight","imageWidth","wrapperHeight","clientHeight"],"mappings":"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"}