@bigbinary/neeto-image-uploader-frontend 4.0.10 → 4.0.12

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 (108) hide show
  1. package/dist/.ready +1 -1
  2. package/dist/AssetLibrary.js +10 -9
  3. package/dist/AssetLibrary.js.map +1 -1
  4. package/dist/BasicImageUploader.js +4 -4
  5. package/dist/ImageForm.js +9 -8
  6. package/dist/ImageForm.js.map +1 -1
  7. package/dist/ImageUploader.js +8 -7
  8. package/dist/ImageUploader.js.map +1 -1
  9. package/dist/cjs/AssetLibrary.js +10 -9
  10. package/dist/cjs/AssetLibrary.js.map +1 -1
  11. package/dist/cjs/BasicImageUploader.js +4 -4
  12. package/dist/cjs/ImageForm.js +9 -8
  13. package/dist/cjs/ImageForm.js.map +1 -1
  14. package/dist/cjs/ImageUploader.js +19 -18
  15. package/dist/cjs/ImageUploader.js.map +1 -1
  16. package/dist/cjs/hooks.js +6 -4
  17. package/dist/cjs/hooks.js.map +1 -1
  18. package/dist/cjs/index.js +12 -11
  19. package/dist/cjs/index.js.map +1 -1
  20. package/dist/cjs/v2/AssetLibrary.js +10 -10
  21. package/dist/cjs/v2/BasicImageUploader.js +2 -4
  22. package/dist/cjs/v2/BasicImageUploader.js.map +1 -1
  23. package/dist/cjs/v2/ImageForm.js +9 -9
  24. package/dist/cjs/v2/ImageUploader.js +21 -21
  25. package/dist/cjs/v2/ImageUploader.js.map +1 -1
  26. package/dist/cjs/v2/hooks.js +7 -5
  27. package/dist/cjs/v2/hooks.js.map +1 -1
  28. package/dist/cjs/v2/index.js +11 -11
  29. package/dist/constants-BF4SgnWe.js +12 -0
  30. package/dist/constants-BF4SgnWe.js.map +1 -0
  31. package/dist/{constants-BVxeajuh.js → constants-D8YY7aVx.js} +2 -2
  32. package/dist/{constants-BVxeajuh.js.map → constants-D8YY7aVx.js.map} +1 -1
  33. package/dist/constants-Dos-Y7GC.js +15 -0
  34. package/dist/constants-Dos-Y7GC.js.map +1 -0
  35. package/dist/{constants-BJsrtAQc.js → constants-rSdnoUWv.js} +2 -2
  36. package/dist/{constants-BJsrtAQc.js.map → constants-rSdnoUWv.js.map} +1 -1
  37. package/dist/hooks.js +6 -4
  38. package/dist/hooks.js.map +1 -1
  39. package/dist/{imagekit.esm-Bps9lPzh.js → imagekit.esm-Wbu4ABaW.js} +2 -12
  40. package/dist/imagekit.esm-Wbu4ABaW.js.map +1 -0
  41. package/dist/{imagekit.esm-BOkeWsyX.js → imagekit.esm-ZYrS-YIL.js} +1 -13
  42. package/dist/imagekit.esm-ZYrS-YIL.js.map +1 -0
  43. package/dist/{index-B3bL1hlA.js → index-BFPek9ek.js} +7 -7
  44. package/dist/{index-B3bL1hlA.js.map → index-BFPek9ek.js.map} +1 -1
  45. package/dist/{index-BlS6h8bb.js → index-CbRMVeis.js} +13 -13
  46. package/dist/{index-BlS6h8bb.js.map → index-CbRMVeis.js.map} +1 -1
  47. package/dist/{index-Du4TAq_l.js → index-e471xvRu.js} +6 -6
  48. package/dist/index-e471xvRu.js.map +1 -0
  49. package/dist/{index-B4yVQ26h.js → index-q56JLh5J.js} +12 -12
  50. package/dist/index-q56JLh5J.js.map +1 -0
  51. package/dist/index.js +12 -11
  52. package/dist/index.js.map +1 -1
  53. package/dist/{useImageUploader-DIqLxKPF.js → useImageUploader-BsSpqUky.js} +6 -71
  54. package/dist/useImageUploader-BsSpqUky.js.map +1 -0
  55. package/dist/{useImageUploader-CxdkRzC5.js → useImageUploader-J3bippyP.js} +12 -81
  56. package/dist/useImageUploader-J3bippyP.js.map +1 -0
  57. package/dist/useImageUploader-TOt_v6Rn.js +225 -0
  58. package/dist/useImageUploader-TOt_v6Rn.js.map +1 -0
  59. package/dist/useImageUploader-uFdwIcWA.js +223 -0
  60. package/dist/useImageUploader-uFdwIcWA.js.map +1 -0
  61. package/dist/useProfileImageUpload-BZb8Cttj.js +272 -0
  62. package/dist/useProfileImageUpload-BZb8Cttj.js.map +1 -0
  63. package/dist/{useProfileImageUpload-Di-WJhMw.js → useProfileImageUpload-CeIh1MMh.js} +3 -3
  64. package/dist/{useProfileImageUpload-Di-WJhMw.js.map → useProfileImageUpload-CeIh1MMh.js.map} +1 -1
  65. package/dist/{useProfileImageUpload-DV6UHKni.js → useProfileImageUpload-D5doE-yM.js} +8 -8
  66. package/dist/{useProfileImageUpload-DV6UHKni.js.map → useProfileImageUpload-D5doE-yM.js.map} +1 -1
  67. package/dist/useProfileImageUpload-YeoM7k6I.js +269 -0
  68. package/dist/useProfileImageUpload-YeoM7k6I.js.map +1 -0
  69. package/dist/{useUnsplashApi-2sRCzI6B.js → useUnsplashApi-BLygxRcf.js} +3 -3
  70. package/dist/{useUnsplashApi-2sRCzI6B.js.map → useUnsplashApi-BLygxRcf.js.map} +1 -1
  71. package/dist/{useUnsplashApi-okMiRC9G.js → useUnsplashApi-Dl6ZdUSP.js} +3 -3
  72. package/dist/{useUnsplashApi-okMiRC9G.js.map → useUnsplashApi-Dl6ZdUSP.js.map} +1 -1
  73. package/dist/{utils-adgVs86v.js → utils-BkIHGr19.js} +57 -5
  74. package/dist/utils-BkIHGr19.js.map +1 -0
  75. package/dist/{utils-CDFlFfgu.js → utils-BuYOlqCV.js} +62 -13
  76. package/dist/utils-BuYOlqCV.js.map +1 -0
  77. package/dist/{utils-kGoo6Gnk.js → utils-C-_hvapN.js} +57 -6
  78. package/dist/utils-C-_hvapN.js.map +1 -0
  79. package/dist/utils-DQSN1LLd.js +73 -0
  80. package/dist/utils-DQSN1LLd.js.map +1 -0
  81. package/dist/utils-Dshsishe.js +79 -0
  82. package/dist/utils-Dshsishe.js.map +1 -0
  83. package/dist/{utils-B9Wu-jti.js → utils-gOguzq7u.js} +64 -16
  84. package/dist/utils-gOguzq7u.js.map +1 -0
  85. package/dist/v2/AssetLibrary.js +10 -10
  86. package/dist/v2/BasicImageUploader.js +2 -4
  87. package/dist/v2/BasicImageUploader.js.map +1 -1
  88. package/dist/v2/ImageForm.js +9 -9
  89. package/dist/v2/ImageUploader.js +9 -9
  90. package/dist/v2/ImageUploader.js.map +1 -1
  91. package/dist/v2/hooks.js +7 -5
  92. package/dist/v2/hooks.js.map +1 -1
  93. package/dist/v2/index.js +11 -11
  94. package/package.json +14 -14
  95. package/dist/imagekit.esm-BOkeWsyX.js.map +0 -1
  96. package/dist/imagekit.esm-Bps9lPzh.js.map +0 -1
  97. package/dist/index-B4yVQ26h.js.map +0 -1
  98. package/dist/index-Du4TAq_l.js.map +0 -1
  99. package/dist/useImageUploader-CxdkRzC5.js.map +0 -1
  100. package/dist/useImageUploader-DIqLxKPF.js.map +0 -1
  101. package/dist/useUploadDropzone-CTwUeaY1.js +0 -57
  102. package/dist/useUploadDropzone-CTwUeaY1.js.map +0 -1
  103. package/dist/useUploadDropzone-I7mlv7Zx.js +0 -59
  104. package/dist/useUploadDropzone-I7mlv7Zx.js.map +0 -1
  105. package/dist/utils-B9Wu-jti.js.map +0 -1
  106. package/dist/utils-CDFlFfgu.js.map +0 -1
  107. package/dist/utils-adgVs86v.js.map +0 -1
  108. package/dist/utils-kGoo6Gnk.js.map +0 -1
@@ -0,0 +1,272 @@
1
+ 'use strict';
2
+
3
+ var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
4
+ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
5
+ var _regeneratorRuntime = require('@babel/runtime/regenerator');
6
+ var require$$0 = require('react');
7
+ var neetoAtoms = require('@bigbinary/neeto-atoms');
8
+ var activestorage = require('@rails/activestorage');
9
+ var i18next = require('i18next');
10
+ var imagekit_esm = require('./imagekit.esm-ZYrS-YIL.js');
11
+ var neetoCist = require('@bigbinary/neeto-cist');
12
+ var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
13
+ var ramda = require('ramda');
14
+ var utils = require('./utils-Dshsishe.js');
15
+
16
+ var useImageUpload = function useImageUpload() {
17
+ var _useState = require$$0.useState(0),
18
+ _useState2 = _slicedToArray(_useState, 2),
19
+ uploadProgress = _useState2[0],
20
+ setUploadProgress = _useState2[1];
21
+ var _useState3 = require$$0.useState(false),
22
+ _useState4 = _slicedToArray(_useState3, 2),
23
+ isUploading = _useState4[0],
24
+ setIsUploading = _useState4[1];
25
+ var authenticationEndpoint = "".concat(window.location.origin, "/").concat(imagekit_esm.IMAGE_UPLOADER_BASE_URL, "/imagekit/auth");
26
+ var _useCreateBlob = utils.useCreateBlob(),
27
+ createBlob = _useCreateBlob.mutate;
28
+ var handleUploadProgress = function handleUploadProgress(e, fileSize) {
29
+ if (e.loaded <= fileSize) {
30
+ var percent = Math.round(e.loaded / fileSize * 100);
31
+ setUploadProgress(percent);
32
+ }
33
+ ramda.equals(e.loaded, e.total) && setUploadProgress(100);
34
+ };
35
+ var developmentUpload = function developmentUpload(file, onUploadComplete) {
36
+ try {
37
+ setIsUploading(true);
38
+ var upload = new activestorage.DirectUpload(file, "/api/direct_uploads");
39
+ upload.create(function (error, blob) {
40
+ if (error) {
41
+ neetoAtoms.Toastr.error((error === null || error === void 0 ? void 0 : error.message) || i18next.t("neetoImageUploader.imageUpload.fileUploadFailed"));
42
+ setIsUploading(false);
43
+ return;
44
+ }
45
+ if (!blob) {
46
+ neetoAtoms.Toastr.error(i18next.t("neetoImageUploader.imageUpload.noBlobReturned"));
47
+ setIsUploading(false);
48
+ return;
49
+ }
50
+ var payload = {
51
+ id: blob.signed_id,
52
+ payload: {
53
+ metadata: {
54
+ organizationKey: initializers.globalProps.organization.publicApiKey,
55
+ url: blob.blob_url,
56
+ height: 200,
57
+ width: 200
58
+ }
59
+ }
60
+ };
61
+ utils.directUploadsApi.update(payload);
62
+ onUploadComplete(ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
63
+ url: blob.blob_url
64
+ }));
65
+ });
66
+ } catch (error) {
67
+ neetoAtoms.Toastr.error(error);
68
+ } finally {
69
+ setIsUploading(false);
70
+ }
71
+ };
72
+ var productionUpload = /*#__PURE__*/function () {
73
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
74
+ var imagekit, image, payload;
75
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
76
+ while (1) switch (_context.prev = _context.next) {
77
+ case 0:
78
+ _context.prev = 0;
79
+ imagekit = new imagekit_esm.ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
80
+ authenticationEndpoint: authenticationEndpoint
81
+ }));
82
+ setIsUploading(true);
83
+ _context.next = 5;
84
+ return imagekit.upload({
85
+ xhr: XHRProgress,
86
+ file: file,
87
+ fileName: utils.generateASCIIFileName(file.name),
88
+ folder: initializers.globalProps.imagekit.folder,
89
+ customMetadata: {
90
+ organizationKey: initializers.globalProps.organization.publicApiKey,
91
+ appName: initializers.globalProps.appName
92
+ }
93
+ });
94
+ case 5:
95
+ image = _context.sent;
96
+ payload = {
97
+ filename: utils.generateASCIIFileName(image.name),
98
+ byte_size: image.size,
99
+ content_type: image.fileType,
100
+ checksum: image.fileId,
101
+ metadata: image,
102
+ service_name: "imagekitio"
103
+ };
104
+ createBlob(payload, {
105
+ onSuccess: onUploadComplete,
106
+ onError: neetoAtoms.Toastr.error
107
+ });
108
+ _context.next = 13;
109
+ break;
110
+ case 10:
111
+ _context.prev = 10;
112
+ _context.t0 = _context["catch"](0);
113
+ neetoAtoms.Toastr.error(_context.t0);
114
+ case 13:
115
+ _context.prev = 13;
116
+ setIsUploading(false);
117
+ return _context.finish(13);
118
+ case 16:
119
+ case "end":
120
+ return _context.stop();
121
+ }
122
+ }, _callee, null, [[0, 10, 13, 16]]);
123
+ }));
124
+ return function productionUpload(_x, _x2, _x3) {
125
+ return _ref.apply(this, arguments);
126
+ };
127
+ }();
128
+ var uploadImage = /*#__PURE__*/function () {
129
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
130
+ var fileSize, XHRProgress;
131
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
132
+ while (1) switch (_context2.prev = _context2.next) {
133
+ case 0:
134
+ setUploadProgress(0);
135
+ fileSize = file.size;
136
+ XHRProgress = new XMLHttpRequest();
137
+ XHRProgress.upload.addEventListener("progress", function (e) {
138
+ handleUploadProgress(e, fileSize);
139
+ });
140
+ if (!imagekit_esm.IS_DEVELOPMENT_OR_HEROKU_ENV) {
141
+ _context2.next = 9;
142
+ break;
143
+ }
144
+ _context2.next = 7;
145
+ return developmentUpload(file, onUploadComplete);
146
+ case 7:
147
+ _context2.next = 11;
148
+ break;
149
+ case 9:
150
+ _context2.next = 11;
151
+ return productionUpload(file, XHRProgress, onUploadComplete);
152
+ case 11:
153
+ case "end":
154
+ return _context2.stop();
155
+ }
156
+ }, _callee2);
157
+ }));
158
+ return function uploadImage(_x4, _x5) {
159
+ return _ref2.apply(this, arguments);
160
+ };
161
+ }();
162
+ return {
163
+ uploadImage: uploadImage,
164
+ uploadProgress: uploadProgress,
165
+ isUploading: isUploading
166
+ };
167
+ };
168
+
169
+ var useProfileImageUpload = function useProfileImageUpload(_ref) {
170
+ var _ref$uploadConfig = _ref.uploadConfig,
171
+ uploadConfig = _ref$uploadConfig === void 0 ? {} : _ref$uploadConfig;
172
+ var _useState = require$$0.useState(0),
173
+ _useState2 = _slicedToArray(_useState, 2),
174
+ uploadProgress = _useState2[0],
175
+ setUploadProgress = _useState2[1];
176
+ var _useState3 = require$$0.useState(false),
177
+ _useState4 = _slicedToArray(_useState3, 2),
178
+ isUploading = _useState4[0],
179
+ setIsUploading = _useState4[1];
180
+ var authenticationEndpoint = "".concat(window.location.origin, "/").concat(imagekit_esm.IMAGE_UPLOADER_BASE_URL, "/imagekit/auth");
181
+ var defaultImageKitConfig = {
182
+ folder: initializers.globalProps.imagekit.folder,
183
+ customMetadata: {
184
+ organizationKey: initializers.globalProps.organization.publicApiKey,
185
+ appName: initializers.globalProps.appName
186
+ }
187
+ };
188
+ var imagekitConfig = ramda.mergeDeepRight(defaultImageKitConfig, uploadConfig);
189
+ var handleUploadProgress = function handleUploadProgress(e, fileSize) {
190
+ if (e.loaded <= fileSize) {
191
+ var percent = Math.round(e.loaded / fileSize * 100);
192
+ setUploadProgress(percent);
193
+ }
194
+ ramda.equals(e.loaded, e.total) && setUploadProgress(100);
195
+ };
196
+ var uploadToImagekit = /*#__PURE__*/function () {
197
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress, onUploadComplete) {
198
+ var imagekit, image, errorMessage;
199
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
200
+ while (1) switch (_context.prev = _context.next) {
201
+ case 0:
202
+ _context.prev = 0;
203
+ imagekit = new imagekit_esm.ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
204
+ authenticationEndpoint: authenticationEndpoint
205
+ }));
206
+ setIsUploading(true);
207
+ _context.next = 5;
208
+ return imagekit.upload({
209
+ xhr: XHRProgress,
210
+ file: file,
211
+ fileName: utils.generateASCIIFileName(file.name),
212
+ folder: imagekitConfig.folder,
213
+ customMetadata: imagekitConfig.customMetadata
214
+ });
215
+ case 5:
216
+ image = _context.sent;
217
+ onUploadComplete(image);
218
+ _context.next = 13;
219
+ break;
220
+ case 9:
221
+ _context.prev = 9;
222
+ _context.t0 = _context["catch"](0);
223
+ errorMessage = ramda.equals(_context.t0.message, i18next.t("neetoImageUploader.errors.sdkKeysMissing")) ? i18next.t("neetoImageUploader.errors.imagekitKeysMissing") : _context.t0.message;
224
+ neetoAtoms.Toastr.error(errorMessage);
225
+ case 13:
226
+ _context.prev = 13;
227
+ setIsUploading(false);
228
+ return _context.finish(13);
229
+ case 16:
230
+ case "end":
231
+ return _context.stop();
232
+ }
233
+ }, _callee, null, [[0, 9, 13, 16]]);
234
+ }));
235
+ return function uploadToImagekit(_x, _x2, _x3) {
236
+ return _ref2.apply(this, arguments);
237
+ };
238
+ }();
239
+ var uploadImage = /*#__PURE__*/function () {
240
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(file, onUploadComplete) {
241
+ var fileSize, XHRProgress;
242
+ return _regeneratorRuntime.wrap(function _callee2$(_context2) {
243
+ while (1) switch (_context2.prev = _context2.next) {
244
+ case 0:
245
+ setUploadProgress(0);
246
+ fileSize = file.size;
247
+ XHRProgress = new XMLHttpRequest();
248
+ XHRProgress.upload.addEventListener("progress", function (e) {
249
+ handleUploadProgress(e, fileSize);
250
+ });
251
+ _context2.next = 6;
252
+ return uploadToImagekit(file, XHRProgress, onUploadComplete);
253
+ case 6:
254
+ case "end":
255
+ return _context2.stop();
256
+ }
257
+ }, _callee2);
258
+ }));
259
+ return function uploadImage(_x4, _x5) {
260
+ return _ref3.apply(this, arguments);
261
+ };
262
+ }();
263
+ return {
264
+ uploadImage: uploadImage,
265
+ uploadProgress: uploadProgress,
266
+ isUploading: isUploading
267
+ };
268
+ };
269
+
270
+ exports.useImageUpload = useImageUpload;
271
+ exports.useProfileImageUpload = useProfileImageUpload;
272
+ //# sourceMappingURL=useProfileImageUpload-BZb8Cttj.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useProfileImageUpload-BZb8Cttj.js","sources":["../app/javascript/src/v2/hooks/useImageUpload.js","../app/javascript/src/v2/hooks/useProfileImageUpload.js"],"sourcesContent":["import { useState } from \"react\";\n\nimport { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { DirectUpload } from \"@rails/activestorage\";\nimport { t } from \"i18next\";\nimport ImageKit from \"imagekit-javascript\";\nimport { keysToCamelCase } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { equals, mergeRight } from \"ramda\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { useCreateBlob } from \"hooks/useDirectUploads\";\nimport { generateASCIIFileName } from \"hooks/utils\";\nimport {\n IS_DEVELOPMENT_OR_HEROKU_ENV,\n IMAGE_UPLOADER_BASE_URL,\n} from \"src/constants\";\n\nconst useImageUpload = () => {\n const [uploadProgress, setUploadProgress] = useState(0);\n const [isUploading, setIsUploading] = useState(false);\n const authenticationEndpoint = `${window.location.origin}/${IMAGE_UPLOADER_BASE_URL}/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((error, blob) => {\n if (error) {\n Toastr.error(\n error?.message ||\n t(\"neetoImageUploader.imageUpload.fileUploadFailed\")\n );\n setIsUploading(false);\n\n return;\n }\n\n if (!blob) {\n Toastr.error(t(\"neetoImageUploader.imageUpload.noBlobReturned\"));\n setIsUploading(false);\n\n return;\n }\n\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: generateASCIIFileName(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 { Toastr } from \"@bigbinary/neeto-atoms\";\nimport { t } from \"i18next\";\nimport ImageKit from \"imagekit-javascript\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { equals, mergeDeepRight, mergeRight } from \"ramda\";\n\nimport { generateASCIIFileName } from \"hooks/utils\";\nimport { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\n\nconst useProfileImageUpload = ({ uploadConfig = {} }) => {\n const [uploadProgress, setUploadProgress] = useState(0);\n const [isUploading, setIsUploading] = useState(false);\n const authenticationEndpoint = `${window.location.origin}/${IMAGE_UPLOADER_BASE_URL}/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","IMAGE_UPLOADER_BASE_URL","_useCreateBlob","useCreateBlob","createBlob","mutate","handleUploadProgress","e","fileSize","loaded","percent","Math","round","equals","total","developmentUpload","file","onUploadComplete","upload","DirectUpload","create","error","blob","Toastr","message","t","payload","id","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","url","blob_url","height","width","directUploadsApi","update","mergeRight","keysToCamelCase","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","_ref3"],"mappings":"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"}
@@ -4,12 +4,12 @@ import _regeneratorRuntime from '@babel/runtime/regenerator';
4
4
  import { useState } from 'react';
5
5
  import { DirectUpload } from '@rails/activestorage';
6
6
  import { t } from 'i18next';
7
- import { I as IS_DEVELOPMENT_OR_HEROKU_ENV, b as ImageKit, a as IMAGE_UPLOADER_BASE_URL } from './imagekit.esm-Bps9lPzh.js';
7
+ import { I as IS_DEVELOPMENT_OR_HEROKU_ENV, a as ImageKit, b as IMAGE_UPLOADER_BASE_URL } from './imagekit.esm-Wbu4ABaW.js';
8
8
  import { keysToCamelCase } from '@bigbinary/neeto-cist';
9
9
  import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
10
10
  import Toastr from '@bigbinary/neetoui/Toastr';
11
11
  import { equals, mergeRight, mergeDeepRight } from 'ramda';
12
- import { a as useCreateBlob, d as directUploadsApi, g as generateASCIIFileName } from './useImageUploader-DIqLxKPF.js';
12
+ import { u as useCreateBlob, d as directUploadsApi, g as generateASCIIFileName } from './utils-DQSN1LLd.js';
13
13
 
14
14
  var useImageUpload = function useImageUpload() {
15
15
  var _useState = useState(0),
@@ -266,4 +266,4 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
266
266
  };
267
267
 
268
268
  export { useProfileImageUpload as a, useImageUpload as u };
269
- //# sourceMappingURL=useProfileImageUpload-Di-WJhMw.js.map
269
+ //# sourceMappingURL=useProfileImageUpload-CeIh1MMh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProfileImageUpload-Di-WJhMw.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 { t } from \"i18next\";\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 {\n IS_DEVELOPMENT_OR_HEROKU_ENV,\n IMAGE_UPLOADER_BASE_URL,\n} 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}/${IMAGE_UPLOADER_BASE_URL}/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((error, blob) => {\n if (error) {\n Toastr.error(\n error?.message ||\n t(\"neetoImageUploader.imageUpload.fileUploadFailed\")\n );\n setIsUploading(false);\n\n return;\n }\n\n if (!blob) {\n Toastr.error(t(\"neetoImageUploader.imageUpload.noBlobReturned\"));\n setIsUploading(false);\n\n return;\n }\n\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: generateASCIIFileName(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 { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\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}/${IMAGE_UPLOADER_BASE_URL}/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","IMAGE_UPLOADER_BASE_URL","_useCreateBlob","useCreateBlob","createBlob","mutate","handleUploadProgress","e","fileSize","loaded","percent","Math","round","equals","total","developmentUpload","file","onUploadComplete","upload","DirectUpload","create","error","blob","Toastr","message","t","payload","id","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","url","blob_url","height","width","directUploadsApi","update","mergeRight","keysToCamelCase","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","_ref3"],"mappings":"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"}
1
+ {"version":3,"file":"useProfileImageUpload-CeIh1MMh.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 { t } from \"i18next\";\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 {\n IS_DEVELOPMENT_OR_HEROKU_ENV,\n IMAGE_UPLOADER_BASE_URL,\n} 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}/${IMAGE_UPLOADER_BASE_URL}/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((error, blob) => {\n if (error) {\n Toastr.error(\n error?.message ||\n t(\"neetoImageUploader.imageUpload.fileUploadFailed\")\n );\n setIsUploading(false);\n\n return;\n }\n\n if (!blob) {\n Toastr.error(t(\"neetoImageUploader.imageUpload.noBlobReturned\"));\n setIsUploading(false);\n\n return;\n }\n\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: generateASCIIFileName(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 { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\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}/${IMAGE_UPLOADER_BASE_URL}/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","IMAGE_UPLOADER_BASE_URL","_useCreateBlob","useCreateBlob","createBlob","mutate","handleUploadProgress","e","fileSize","loaded","percent","Math","round","equals","total","developmentUpload","file","onUploadComplete","upload","DirectUpload","create","error","blob","Toastr","message","t","payload","id","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","url","blob_url","height","width","directUploadsApi","update","mergeRight","keysToCamelCase","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","_ref3"],"mappings":"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"}
@@ -6,12 +6,12 @@ var _regeneratorRuntime = require('@babel/runtime/regenerator');
6
6
  var require$$0 = require('react');
7
7
  var activestorage = require('@rails/activestorage');
8
8
  var i18next = require('i18next');
9
- var imagekit_esm = require('./imagekit.esm-BOkeWsyX.js');
9
+ var imagekit_esm = require('./imagekit.esm-ZYrS-YIL.js');
10
10
  var neetoCist = require('@bigbinary/neeto-cist');
11
11
  var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
12
12
  var Toastr = require('@bigbinary/neetoui/Toastr');
13
13
  var ramda = require('ramda');
14
- var useImageUploader = require('./useImageUploader-CxdkRzC5.js');
14
+ var utils = require('./utils-Dshsishe.js');
15
15
 
16
16
  var useImageUpload = function useImageUpload() {
17
17
  var _useState = require$$0.useState(0),
@@ -23,7 +23,7 @@ var useImageUpload = function useImageUpload() {
23
23
  isUploading = _useState4[0],
24
24
  setIsUploading = _useState4[1];
25
25
  var authenticationEndpoint = "".concat(window.location.origin, "/").concat(imagekit_esm.IMAGE_UPLOADER_BASE_URL, "/imagekit/auth");
26
- var _useCreateBlob = useImageUploader.useCreateBlob(),
26
+ var _useCreateBlob = utils.useCreateBlob(),
27
27
  createBlob = _useCreateBlob.mutate;
28
28
  var handleUploadProgress = function handleUploadProgress(e, fileSize) {
29
29
  if (e.loaded <= fileSize) {
@@ -58,7 +58,7 @@ var useImageUpload = function useImageUpload() {
58
58
  }
59
59
  }
60
60
  };
61
- useImageUploader.directUploadsApi.update(payload);
61
+ utils.directUploadsApi.update(payload);
62
62
  onUploadComplete(ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
63
63
  url: blob.blob_url
64
64
  }));
@@ -84,7 +84,7 @@ var useImageUpload = function useImageUpload() {
84
84
  return imagekit.upload({
85
85
  xhr: XHRProgress,
86
86
  file: file,
87
- fileName: useImageUploader.generateASCIIFileName(file.name),
87
+ fileName: utils.generateASCIIFileName(file.name),
88
88
  folder: initializers.globalProps.imagekit.folder,
89
89
  customMetadata: {
90
90
  organizationKey: initializers.globalProps.organization.publicApiKey,
@@ -94,7 +94,7 @@ var useImageUpload = function useImageUpload() {
94
94
  case 5:
95
95
  image = _context.sent;
96
96
  payload = {
97
- filename: useImageUploader.generateASCIIFileName(image.name),
97
+ filename: utils.generateASCIIFileName(image.name),
98
98
  byte_size: image.size,
99
99
  content_type: image.fileType,
100
100
  checksum: image.fileId,
@@ -208,7 +208,7 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
208
208
  return imagekit.upload({
209
209
  xhr: XHRProgress,
210
210
  file: file,
211
- fileName: useImageUploader.generateASCIIFileName(file.name),
211
+ fileName: utils.generateASCIIFileName(file.name),
212
212
  folder: imagekitConfig.folder,
213
213
  customMetadata: imagekitConfig.customMetadata
214
214
  });
@@ -269,4 +269,4 @@ var useProfileImageUpload = function useProfileImageUpload(_ref) {
269
269
 
270
270
  exports.useImageUpload = useImageUpload;
271
271
  exports.useProfileImageUpload = useProfileImageUpload;
272
- //# sourceMappingURL=useProfileImageUpload-DV6UHKni.js.map
272
+ //# sourceMappingURL=useProfileImageUpload-D5doE-yM.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useProfileImageUpload-DV6UHKni.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 { t } from \"i18next\";\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 {\n IS_DEVELOPMENT_OR_HEROKU_ENV,\n IMAGE_UPLOADER_BASE_URL,\n} 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}/${IMAGE_UPLOADER_BASE_URL}/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((error, blob) => {\n if (error) {\n Toastr.error(\n error?.message ||\n t(\"neetoImageUploader.imageUpload.fileUploadFailed\")\n );\n setIsUploading(false);\n\n return;\n }\n\n if (!blob) {\n Toastr.error(t(\"neetoImageUploader.imageUpload.noBlobReturned\"));\n setIsUploading(false);\n\n return;\n }\n\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: generateASCIIFileName(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 { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\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}/${IMAGE_UPLOADER_BASE_URL}/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","IMAGE_UPLOADER_BASE_URL","_useCreateBlob","useCreateBlob","createBlob","mutate","handleUploadProgress","e","fileSize","loaded","percent","Math","round","equals","total","developmentUpload","file","onUploadComplete","upload","DirectUpload","create","error","blob","Toastr","message","t","payload","id","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","url","blob_url","height","width","directUploadsApi","update","mergeRight","keysToCamelCase","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","_ref3"],"mappings":"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"}
1
+ {"version":3,"file":"useProfileImageUpload-D5doE-yM.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 { t } from \"i18next\";\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 {\n IS_DEVELOPMENT_OR_HEROKU_ENV,\n IMAGE_UPLOADER_BASE_URL,\n} 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}/${IMAGE_UPLOADER_BASE_URL}/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((error, blob) => {\n if (error) {\n Toastr.error(\n error?.message ||\n t(\"neetoImageUploader.imageUpload.fileUploadFailed\")\n );\n setIsUploading(false);\n\n return;\n }\n\n if (!blob) {\n Toastr.error(t(\"neetoImageUploader.imageUpload.noBlobReturned\"));\n setIsUploading(false);\n\n return;\n }\n\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: generateASCIIFileName(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 { IMAGE_UPLOADER_BASE_URL } from \"src/constants\";\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}/${IMAGE_UPLOADER_BASE_URL}/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","IMAGE_UPLOADER_BASE_URL","_useCreateBlob","useCreateBlob","createBlob","mutate","handleUploadProgress","e","fileSize","loaded","percent","Math","round","equals","total","developmentUpload","file","onUploadComplete","upload","DirectUpload","create","error","blob","Toastr","message","t","payload","id","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","url","blob_url","height","width","directUploadsApi","update","mergeRight","keysToCamelCase","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","_ref3"],"mappings":"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"}