@bigbinary/neeto-image-uploader-frontend 2.3.3 → 2.3.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/AssetLibrary.js +237 -8520
- package/dist/AssetLibrary.js.map +1 -1
- package/dist/BasicImageUploader.js +12 -9
- package/dist/BasicImageUploader.js.map +1 -1
- package/dist/ImageUploader.js +17 -57
- package/dist/ImageUploader.js.map +1 -1
- package/dist/{ImageWithFallback-1d3c6c16.js → ImageWithFallback-8d240931.js} +5 -3
- package/dist/{ImageWithFallback-1d3c6c16.js.map → ImageWithFallback-8d240931.js.map} +1 -1
- package/dist/{ImageWithFallback-da061171.js → ImageWithFallback-edf8eba8.js} +15 -10
- package/dist/{ImageWithFallback-da061171.js.map → ImageWithFallback-edf8eba8.js.map} +1 -1
- package/dist/cjs/AssetLibrary.js +277 -8608
- package/dist/cjs/AssetLibrary.js.map +1 -1
- package/dist/cjs/BasicImageUploader.js +17 -12
- package/dist/cjs/BasicImageUploader.js.map +1 -1
- package/dist/cjs/ImageUploader.js +24 -61
- package/dist/cjs/ImageUploader.js.map +1 -1
- package/dist/cjs/hooks.js +7 -3
- package/dist/cjs/hooks.js.map +1 -1
- package/dist/cjs/index.js +18 -57
- package/dist/cjs/index.js.map +1 -1
- package/dist/hooks.js +7 -3
- package/dist/hooks.js.map +1 -1
- package/dist/{index-c128d963.js → index-8605e11c.js} +2 -98
- package/dist/index-8605e11c.js.map +1 -0
- package/dist/{index-69559a7a.js → index-cf7e4b89.js} +1 -99
- package/dist/index-cf7e4b89.js.map +1 -0
- package/dist/index.js +18 -57
- package/dist/index.js.map +1 -1
- package/dist/useImageUploader-1c60ac64.js +252 -0
- package/dist/useImageUploader-1c60ac64.js.map +1 -0
- package/dist/useImageUploader-3de58fe2.js +265 -0
- package/dist/useImageUploader-3de58fe2.js.map +1 -0
- package/dist/{useProfileImageUpload-0861cfca.js → useProfileImageUpload-69bf6ee9.js} +21 -15
- package/dist/useProfileImageUpload-69bf6ee9.js.map +1 -0
- package/dist/{useProfileImageUpload-0fd0e56b.js → useProfileImageUpload-cad1ed36.js} +10 -7
- package/dist/useProfileImageUpload-cad1ed36.js.map +1 -0
- package/dist/{utils-2fc0a9dc.js → utils-ede1695e.js} +43 -35
- package/dist/utils-ede1695e.js.map +1 -0
- package/dist/{utils-46caa3d3.js → utils-fa0fa918.js} +40 -33
- package/dist/utils-fa0fa918.js.map +1 -0
- package/package.json +102 -83
- package/dist/index-69559a7a.js.map +0 -1
- package/dist/index-c128d963.js.map +0 -1
- package/dist/useImageUploader-9faaa8e5.js +0 -643
- package/dist/useImageUploader-9faaa8e5.js.map +0 -1
- package/dist/useImageUploader-a53cf673.js +0 -658
- package/dist/useImageUploader-a53cf673.js.map +0 -1
- package/dist/useProfileImageUpload-0861cfca.js.map +0 -1
- package/dist/useProfileImageUpload-0fd0e56b.js.map +0 -1
- package/dist/utils-2fc0a9dc.js.map +0 -1
- package/dist/utils-46caa3d3.js.map +0 -1
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
+
import { useMutation } from '@tanstack/react-query';
|
|
3
|
+
import { useMutationWithInvalidation } from '@bigbinary/neeto-commons-frontend/react-utils';
|
|
4
|
+
import { Q as QUERY_KEYS } from './query-dcc7b81b.js';
|
|
5
|
+
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
6
|
+
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
7
|
+
import { DirectUpload } from '@rails/activestorage';
|
|
8
|
+
import { I as IS_DEVELOPMENT_OR_HEROKU_ENV, C as CLOUD_FLARE, a as ImageKit } from './index-8605e11c.js';
|
|
9
|
+
import { keysToCamelCase, noop } from '@bigbinary/neeto-cist';
|
|
10
|
+
import { globalProps } from '@bigbinary/neeto-commons-frontend/initializers';
|
|
11
|
+
import Toastr from '@bigbinary/neetoui/Toastr';
|
|
12
|
+
import { isNil, equals, mergeRight } from 'ramda';
|
|
13
|
+
import axios from 'axios';
|
|
14
|
+
|
|
15
|
+
var create = function create(payload) {
|
|
16
|
+
return axios.post("/api/direct_uploads", {
|
|
17
|
+
blob: payload
|
|
18
|
+
}, {
|
|
19
|
+
transformRequestCase: false
|
|
20
|
+
});
|
|
21
|
+
};
|
|
22
|
+
var update = function update(_ref) {
|
|
23
|
+
var id = _ref.id,
|
|
24
|
+
payload = _ref.payload;
|
|
25
|
+
return axios.put("neeto_image_uploader_engine/api/direct_uploads/".concat(id), {
|
|
26
|
+
blob: payload
|
|
27
|
+
}, {
|
|
28
|
+
transformRequestCase: false
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
var directUploadsApi = {
|
|
32
|
+
create: create,
|
|
33
|
+
update: update
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
37
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
38
|
+
var useCreateBlob = function useCreateBlob(options) {
|
|
39
|
+
return useMutationWithInvalidation(directUploadsApi.create, _objectSpread$1({
|
|
40
|
+
keysToInvalidate: [QUERY_KEYS.ASSETS_LIST]
|
|
41
|
+
}, options));
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
var generate = function generate() {
|
|
45
|
+
return axios.post("neeto_image_uploader_engine/cloudflare_images");
|
|
46
|
+
};
|
|
47
|
+
var upload = function upload(_ref) {
|
|
48
|
+
var url = _ref.url,
|
|
49
|
+
formData = _ref.formData,
|
|
50
|
+
setUploadProgress = _ref.setUploadProgress;
|
|
51
|
+
return axios.post(url, formData, {
|
|
52
|
+
headers: {
|
|
53
|
+
"Content-Type": "multipart/form-data"
|
|
54
|
+
},
|
|
55
|
+
onUploadProgress: function onUploadProgress(event) {
|
|
56
|
+
var percentComplete = Math.round(event.loaded / event.total * 100);
|
|
57
|
+
setUploadProgress(percentComplete);
|
|
58
|
+
},
|
|
59
|
+
transformRequestCase: false
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
var cloudflareImageApi = {
|
|
63
|
+
generate: generate,
|
|
64
|
+
upload: upload
|
|
65
|
+
};
|
|
66
|
+
|
|
67
|
+
var useCloudFlareImageUpload = function useCloudFlareImageUpload() {
|
|
68
|
+
return useMutation({
|
|
69
|
+
mutationFn: cloudflareImageApi.upload
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
|
|
73
|
+
var generateASCIIFileName = function generateASCIIFileName(originalFileName) {
|
|
74
|
+
var sanitizedFileName = originalFileName.replace(/[\u00A0\u202F]/g, " ");
|
|
75
|
+
if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {
|
|
76
|
+
return originalFileName;
|
|
77
|
+
}
|
|
78
|
+
var extension = originalFileName.split(".").pop();
|
|
79
|
+
return "image.".concat(extension);
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
83
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
84
|
+
var useImageUploader = function useImageUploader(_ref) {
|
|
85
|
+
var _ref$onUploadComplete = _ref.onUploadComplete,
|
|
86
|
+
onUploadComplete = _ref$onUploadComplete === void 0 ? noop : _ref$onUploadComplete,
|
|
87
|
+
_ref$setIsUploading = _ref.setIsUploading,
|
|
88
|
+
setIsUploading = _ref$setIsUploading === void 0 ? noop : _ref$setIsUploading;
|
|
89
|
+
var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
|
|
90
|
+
var _useCloudFlareImageUp = useCloudFlareImageUpload(),
|
|
91
|
+
cloudFlareImage = _useCloudFlareImageUp.mutate;
|
|
92
|
+
var handleUploadProgress = function handleUploadProgress(e, fileSize, setUploadProgress) {
|
|
93
|
+
if (e.loaded <= fileSize) {
|
|
94
|
+
var percent = Math.round(e.loaded / fileSize * 100);
|
|
95
|
+
setUploadProgress(percent);
|
|
96
|
+
}
|
|
97
|
+
equals(e.loaded, e.total) && setUploadProgress(100);
|
|
98
|
+
};
|
|
99
|
+
var developmentUpload = function developmentUpload(file, setUploadProgress) {
|
|
100
|
+
try {
|
|
101
|
+
setIsUploading(true);
|
|
102
|
+
var upload = new DirectUpload(file, "/api/direct_uploads", {
|
|
103
|
+
directUploadWillStoreFileWithXHR: function directUploadWillStoreFileWithXHR(xhr) {
|
|
104
|
+
xhr.upload.addEventListener("progress", function (event) {
|
|
105
|
+
var percentComplete = Math.round(event.loaded / event.total * 100);
|
|
106
|
+
setUploadProgress(percentComplete);
|
|
107
|
+
});
|
|
108
|
+
}
|
|
109
|
+
});
|
|
110
|
+
upload.create(function (_, blob) {
|
|
111
|
+
var payload = {
|
|
112
|
+
id: blob.signed_id,
|
|
113
|
+
payload: {
|
|
114
|
+
metadata: {
|
|
115
|
+
organizationKey: globalProps.organization.publicApiKey,
|
|
116
|
+
url: blob.blob_url,
|
|
117
|
+
height: 200,
|
|
118
|
+
width: 200
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
};
|
|
122
|
+
directUploadsApi.update(payload);
|
|
123
|
+
var result = mergeRight(keysToCamelCase(blob), {
|
|
124
|
+
url: blob.blob_url
|
|
125
|
+
});
|
|
126
|
+
onUploadComplete(result);
|
|
127
|
+
});
|
|
128
|
+
} catch (error) {
|
|
129
|
+
Toastr.error(error);
|
|
130
|
+
} finally {
|
|
131
|
+
setIsUploading(false);
|
|
132
|
+
}
|
|
133
|
+
};
|
|
134
|
+
var imageKitUpload = /*#__PURE__*/function () {
|
|
135
|
+
var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(file, XHRProgress) {
|
|
136
|
+
var imagekit, result;
|
|
137
|
+
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
138
|
+
while (1) switch (_context.prev = _context.next) {
|
|
139
|
+
case 0:
|
|
140
|
+
_context.prev = 0;
|
|
141
|
+
imagekit = new ImageKit(mergeRight(globalProps.imagekit, {
|
|
142
|
+
authenticationEndpoint: authenticationEndpoint
|
|
143
|
+
}));
|
|
144
|
+
setIsUploading(true);
|
|
145
|
+
_context.next = 5;
|
|
146
|
+
return imagekit.upload({
|
|
147
|
+
xhr: XHRProgress,
|
|
148
|
+
file: file,
|
|
149
|
+
fileName: generateASCIIFileName(file.name),
|
|
150
|
+
folder: globalProps.imagekit.folder,
|
|
151
|
+
customMetadata: {
|
|
152
|
+
organizationKey: globalProps.organization.publicApiKey,
|
|
153
|
+
appName: globalProps.appName
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
case 5:
|
|
157
|
+
result = _context.sent;
|
|
158
|
+
onUploadComplete(result);
|
|
159
|
+
_context.next = 12;
|
|
160
|
+
break;
|
|
161
|
+
case 9:
|
|
162
|
+
_context.prev = 9;
|
|
163
|
+
_context.t0 = _context["catch"](0);
|
|
164
|
+
Toastr.error(_context.t0);
|
|
165
|
+
case 12:
|
|
166
|
+
_context.prev = 12;
|
|
167
|
+
setIsUploading(false);
|
|
168
|
+
return _context.finish(12);
|
|
169
|
+
case 15:
|
|
170
|
+
case "end":
|
|
171
|
+
return _context.stop();
|
|
172
|
+
}
|
|
173
|
+
}, _callee, null, [[0, 9, 12, 15]]);
|
|
174
|
+
}));
|
|
175
|
+
return function imageKitUpload(_x, _x2) {
|
|
176
|
+
return _ref2.apply(this, arguments);
|
|
177
|
+
};
|
|
178
|
+
}();
|
|
179
|
+
var cloudFlareImageUpload = function cloudFlareImageUpload(file, setUploadProgress) {
|
|
180
|
+
var img = new Image();
|
|
181
|
+
img.src = URL.createObjectURL(file);
|
|
182
|
+
var formData = new FormData();
|
|
183
|
+
formData.append("file", file);
|
|
184
|
+
img.onload = /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
185
|
+
var width, height, _yield$cloudflareImag, result;
|
|
186
|
+
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
187
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
188
|
+
case 0:
|
|
189
|
+
width = img.width, height = img.height;
|
|
190
|
+
URL.revokeObjectURL(img.src);
|
|
191
|
+
setIsUploading(true);
|
|
192
|
+
_context2.prev = 3;
|
|
193
|
+
_context2.next = 6;
|
|
194
|
+
return cloudflareImageApi.generate();
|
|
195
|
+
case 6:
|
|
196
|
+
_yield$cloudflareImag = _context2.sent;
|
|
197
|
+
result = _yield$cloudflareImag.result;
|
|
198
|
+
cloudFlareImage({
|
|
199
|
+
url: result.uploadURL,
|
|
200
|
+
formData: formData,
|
|
201
|
+
setUploadProgress: setUploadProgress
|
|
202
|
+
}, {
|
|
203
|
+
onSuccess: function onSuccess(_ref4) {
|
|
204
|
+
var result = _ref4.result;
|
|
205
|
+
var uploadData = _objectSpread(_objectSpread({}, result), {}, {
|
|
206
|
+
contentType: file.type,
|
|
207
|
+
metadata: _objectSpread(_objectSpread({}, result), {}, {
|
|
208
|
+
width: width,
|
|
209
|
+
height: height
|
|
210
|
+
}),
|
|
211
|
+
url: result.variants[0],
|
|
212
|
+
byteSize: file.size,
|
|
213
|
+
checksum: result.id
|
|
214
|
+
});
|
|
215
|
+
onUploadComplete(uploadData);
|
|
216
|
+
setIsUploading(false);
|
|
217
|
+
}
|
|
218
|
+
});
|
|
219
|
+
_context2.next = 15;
|
|
220
|
+
break;
|
|
221
|
+
case 11:
|
|
222
|
+
_context2.prev = 11;
|
|
223
|
+
_context2.t0 = _context2["catch"](3);
|
|
224
|
+
Toastr.error(_context2.t0);
|
|
225
|
+
setIsUploading(false);
|
|
226
|
+
case 15:
|
|
227
|
+
case "end":
|
|
228
|
+
return _context2.stop();
|
|
229
|
+
}
|
|
230
|
+
}, _callee2, null, [[3, 11]]);
|
|
231
|
+
}));
|
|
232
|
+
};
|
|
233
|
+
var uploadFile = function uploadFile(file) {
|
|
234
|
+
var setUploadProgress = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;
|
|
235
|
+
if (isNil(file)) return;
|
|
236
|
+
var fileSize = file.size;
|
|
237
|
+
var XHRProgress = new XMLHttpRequest();
|
|
238
|
+
XHRProgress.upload.addEventListener("progress", function (e) {
|
|
239
|
+
handleUploadProgress(e, fileSize, setUploadProgress);
|
|
240
|
+
});
|
|
241
|
+
var productionUpload = function productionUpload() {
|
|
242
|
+
return globalProps.assetsUploaderService === CLOUD_FLARE ? cloudFlareImageUpload(file, setUploadProgress) : imageKitUpload(file, XHRProgress);
|
|
243
|
+
};
|
|
244
|
+
IS_DEVELOPMENT_OR_HEROKU_ENV ? developmentUpload(file, setUploadProgress) : productionUpload();
|
|
245
|
+
};
|
|
246
|
+
return {
|
|
247
|
+
uploadFile: uploadFile
|
|
248
|
+
};
|
|
249
|
+
};
|
|
250
|
+
|
|
251
|
+
export { useImageUploader as a, directUploadsApi as d, generateASCIIFileName as g, useCreateBlob as u };
|
|
252
|
+
//# sourceMappingURL=useImageUploader-1c60ac64.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImageUploader-1c60ac64.js","sources":["../app/javascript/src/apis/direct_uploads.js","../app/javascript/src/hooks/useDirectUploads.js","../app/javascript/src/apis/cloudflare_image.js","../app/javascript/src/hooks/useCloudFlareImageApi.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/hooks/useImageUploader.js"],"sourcesContent":["import axios from \"axios\";\n\nconst create = payload =>\n axios.post(\n \"/api/direct_uploads\",\n { blob: payload },\n { transformRequestCase: false }\n );\n\nconst update = ({ id, payload }) =>\n axios.put(\n `neeto_image_uploader_engine/api/direct_uploads/${id}`,\n { blob: payload },\n { transformRequestCase: false }\n );\nconst directUploadsApi = { create, update };\n\nexport default directUploadsApi;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useCreateBlob = options =>\n useMutationWithInvalidation(directUploadsApi.create, {\n keysToInvalidate: [QUERY_KEYS.ASSETS_LIST],\n ...options,\n });\n\nconst useUpdateBlob = options =>\n useMutation({ mutationFn: directUploadsApi.update, ...options });\n\nexport { useCreateBlob, useUpdateBlob };\n","import axios from \"axios\";\n\nconst generate = () =>\n axios.post(\"neeto_image_uploader_engine/cloudflare_images\");\n\nconst upload = ({ url, formData, setUploadProgress }) =>\n axios.post(url, formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n onUploadProgress: event => {\n const percentComplete = Math.round((event.loaded / event.total) * 100);\n setUploadProgress(percentComplete);\n },\n transformRequestCase: false,\n });\n\nconst cloudflareImageApi = { generate, upload };\n\nexport default cloudflareImageApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\n\nexport const useCloudFlareImageUpload = () =>\n useMutation({ mutationFn: cloudflareImageApi.upload });\n","export const generateASCIIFileName = originalFileName => {\n const sanitizedFileName = originalFileName.replace(/[\\u00A0\\u202F]/g, \" \");\n\n if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {\n return originalFileName;\n }\n\n const extension = originalFileName.split(\".\").pop();\n\n return `image.${extension}`;\n};\n","import { DirectUpload } from \"@rails/activestorage\";\nimport ImageKit from \"imagekit-javascript\";\nimport { keysToCamelCase, noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, isNil, mergeRight } from \"ramda\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { CLOUD_FLARE, IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCloudFlareImageUpload } from \"./useCloudFlareImageApi\";\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useImageUploader = ({\n onUploadComplete = noop,\n setIsUploading = noop,\n}) => {\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const { mutate: cloudFlareImage } = useCloudFlareImageUpload();\n\n const handleUploadProgress = (e, fileSize, setUploadProgress) => {\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, setUploadProgress) => {\n try {\n setIsUploading(true);\n const upload = new DirectUpload(file, \"/api/direct_uploads\", {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(percentComplete);\n });\n },\n });\n\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 const result = mergeRight(keysToCamelCase(blob), {\n url: blob.blob_url,\n });\n\n onUploadComplete(result);\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const imageKitUpload = async (file, XHRProgress) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const result = 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 onUploadComplete(result);\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const cloudFlareImageUpload = (file, setUploadProgress) => {\n const img = new Image();\n img.src = URL.createObjectURL(file);\n\n const formData = new FormData();\n formData.append(\"file\", file);\n\n img.onload = async () => {\n const { width, height } = img;\n URL.revokeObjectURL(img.src);\n\n setIsUploading(true);\n try {\n // eslint-disable-next-line @bigbinary/neeto/use-react-query-for-managing-remote-data\n const { result } = await cloudflareImageApi.generate();\n\n cloudFlareImage(\n { url: result.uploadURL, formData, setUploadProgress },\n {\n onSuccess: ({ result }) => {\n const uploadData = {\n ...result,\n contentType: file.type,\n metadata: { ...result, width, height },\n url: result.variants[0],\n byteSize: file.size,\n checksum: result.id,\n };\n\n onUploadComplete(uploadData);\n setIsUploading(false);\n },\n }\n );\n } catch (error) {\n Toastr.error(error);\n setIsUploading(false);\n }\n };\n };\n\n const uploadFile = (file, setUploadProgress = noop) => {\n if (isNil(file)) return;\n\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize, setUploadProgress);\n });\n\n const productionUpload = () =>\n globalProps.assetsUploaderService === CLOUD_FLARE\n ? cloudFlareImageUpload(file, setUploadProgress)\n : imageKitUpload(file, XHRProgress);\n\n IS_DEVELOPMENT_OR_HEROKU_ENV\n ? developmentUpload(file, setUploadProgress)\n : productionUpload();\n };\n\n return { uploadFile };\n};\n\nexport default useImageUploader;\n"],"names":["create","payload","axios","post","blob","transformRequestCase","update","_ref","id","put","concat","directUploadsApi","useCreateBlob","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","QUERY_KEYS","ASSETS_LIST","generate","upload","url","formData","setUploadProgress","headers","onUploadProgress","event","percentComplete","Math","round","loaded","total","cloudflareImageApi","useCloudFlareImageUpload","useMutation","mutationFn","generateASCIIFileName","originalFileName","sanitizedFileName","replace","test","extension","split","pop","useImageUploader","_ref$onUploadComplete","onUploadComplete","noop","_ref$setIsUploading","setIsUploading","authenticationEndpoint","window","location","origin","_useCloudFlareImageUp","cloudFlareImage","mutate","handleUploadProgress","e","fileSize","percent","equals","developmentUpload","file","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","_","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","blob_url","height","width","result","mergeRight","keysToCamelCase","error","Toastr","imageKitUpload","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","XHRProgress","imagekit","wrap","_callee$","_context","prev","next","ImageKit","fileName","name","folder","customMetadata","appName","sent","t0","finish","stop","_x","_x2","apply","arguments","cloudFlareImageUpload","img","Image","src","URL","createObjectURL","FormData","append","onload","_callee2","_yield$cloudflareImag","_callee2$","_context2","revokeObjectURL","uploadURL","onSuccess","_ref4","uploadData","contentType","type","variants","byteSize","size","checksum","uploadFile","length","undefined","isNil","XMLHttpRequest","productionUpload","assetsUploaderService","CLOUD_FLARE","IS_DEVELOPMENT_OR_HEROKU_ENV"],"mappings":"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"}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
4
|
+
var reactQuery = require('@tanstack/react-query');
|
|
5
|
+
var reactUtils = require('@bigbinary/neeto-commons-frontend/react-utils');
|
|
6
|
+
var query = require('./query-3c31bf92.js');
|
|
7
|
+
var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
|
|
8
|
+
var _regeneratorRuntime = require('@babel/runtime/regenerator');
|
|
9
|
+
var activestorage = require('@rails/activestorage');
|
|
10
|
+
var index = require('./index-cf7e4b89.js');
|
|
11
|
+
var neetoCist = require('@bigbinary/neeto-cist');
|
|
12
|
+
var initializers = require('@bigbinary/neeto-commons-frontend/initializers');
|
|
13
|
+
var Toastr = require('@bigbinary/neetoui/Toastr');
|
|
14
|
+
var ramda = require('ramda');
|
|
15
|
+
var axios = require('axios');
|
|
16
|
+
|
|
17
|
+
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
18
|
+
|
|
19
|
+
var _defineProperty__default = /*#__PURE__*/_interopDefaultLegacy(_defineProperty);
|
|
20
|
+
var _asyncToGenerator__default = /*#__PURE__*/_interopDefaultLegacy(_asyncToGenerator);
|
|
21
|
+
var _regeneratorRuntime__default = /*#__PURE__*/_interopDefaultLegacy(_regeneratorRuntime);
|
|
22
|
+
var Toastr__default = /*#__PURE__*/_interopDefaultLegacy(Toastr);
|
|
23
|
+
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
24
|
+
|
|
25
|
+
var create = function create(payload) {
|
|
26
|
+
return axios__default["default"].post("/api/direct_uploads", {
|
|
27
|
+
blob: payload
|
|
28
|
+
}, {
|
|
29
|
+
transformRequestCase: false
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
var update = function update(_ref) {
|
|
33
|
+
var id = _ref.id,
|
|
34
|
+
payload = _ref.payload;
|
|
35
|
+
return axios__default["default"].put("neeto_image_uploader_engine/api/direct_uploads/".concat(id), {
|
|
36
|
+
blob: payload
|
|
37
|
+
}, {
|
|
38
|
+
transformRequestCase: false
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
var directUploadsApi = {
|
|
42
|
+
create: create,
|
|
43
|
+
update: update
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
47
|
+
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
48
|
+
var useCreateBlob = function useCreateBlob(options) {
|
|
49
|
+
return reactUtils.useMutationWithInvalidation(directUploadsApi.create, _objectSpread$1({
|
|
50
|
+
keysToInvalidate: [query.QUERY_KEYS.ASSETS_LIST]
|
|
51
|
+
}, options));
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var generate = function generate() {
|
|
55
|
+
return axios__default["default"].post("neeto_image_uploader_engine/cloudflare_images");
|
|
56
|
+
};
|
|
57
|
+
var upload = function upload(_ref) {
|
|
58
|
+
var url = _ref.url,
|
|
59
|
+
formData = _ref.formData,
|
|
60
|
+
setUploadProgress = _ref.setUploadProgress;
|
|
61
|
+
return axios__default["default"].post(url, formData, {
|
|
62
|
+
headers: {
|
|
63
|
+
"Content-Type": "multipart/form-data"
|
|
64
|
+
},
|
|
65
|
+
onUploadProgress: function onUploadProgress(event) {
|
|
66
|
+
var percentComplete = Math.round(event.loaded / event.total * 100);
|
|
67
|
+
setUploadProgress(percentComplete);
|
|
68
|
+
},
|
|
69
|
+
transformRequestCase: false
|
|
70
|
+
});
|
|
71
|
+
};
|
|
72
|
+
var cloudflareImageApi = {
|
|
73
|
+
generate: generate,
|
|
74
|
+
upload: upload
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
var useCloudFlareImageUpload = function useCloudFlareImageUpload() {
|
|
78
|
+
return reactQuery.useMutation({
|
|
79
|
+
mutationFn: cloudflareImageApi.upload
|
|
80
|
+
});
|
|
81
|
+
};
|
|
82
|
+
|
|
83
|
+
var generateASCIIFileName = function generateASCIIFileName(originalFileName) {
|
|
84
|
+
var sanitizedFileName = originalFileName.replace(/[\u00A0\u202F]/g, " ");
|
|
85
|
+
if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {
|
|
86
|
+
return originalFileName;
|
|
87
|
+
}
|
|
88
|
+
var extension = originalFileName.split(".").pop();
|
|
89
|
+
return "image.".concat(extension);
|
|
90
|
+
};
|
|
91
|
+
|
|
92
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
93
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty__default["default"](e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
94
|
+
var useImageUploader = function useImageUploader(_ref) {
|
|
95
|
+
var _ref$onUploadComplete = _ref.onUploadComplete,
|
|
96
|
+
onUploadComplete = _ref$onUploadComplete === void 0 ? neetoCist.noop : _ref$onUploadComplete,
|
|
97
|
+
_ref$setIsUploading = _ref.setIsUploading,
|
|
98
|
+
setIsUploading = _ref$setIsUploading === void 0 ? neetoCist.noop : _ref$setIsUploading;
|
|
99
|
+
var authenticationEndpoint = "".concat(window.location.origin, "/neeto_image_uploader_engine/imagekit/auth");
|
|
100
|
+
var _useCloudFlareImageUp = useCloudFlareImageUpload(),
|
|
101
|
+
cloudFlareImage = _useCloudFlareImageUp.mutate;
|
|
102
|
+
var handleUploadProgress = function handleUploadProgress(e, fileSize, setUploadProgress) {
|
|
103
|
+
if (e.loaded <= fileSize) {
|
|
104
|
+
var percent = Math.round(e.loaded / fileSize * 100);
|
|
105
|
+
setUploadProgress(percent);
|
|
106
|
+
}
|
|
107
|
+
ramda.equals(e.loaded, e.total) && setUploadProgress(100);
|
|
108
|
+
};
|
|
109
|
+
var developmentUpload = function developmentUpload(file, setUploadProgress) {
|
|
110
|
+
try {
|
|
111
|
+
setIsUploading(true);
|
|
112
|
+
var upload = new activestorage.DirectUpload(file, "/api/direct_uploads", {
|
|
113
|
+
directUploadWillStoreFileWithXHR: function directUploadWillStoreFileWithXHR(xhr) {
|
|
114
|
+
xhr.upload.addEventListener("progress", function (event) {
|
|
115
|
+
var percentComplete = Math.round(event.loaded / event.total * 100);
|
|
116
|
+
setUploadProgress(percentComplete);
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
upload.create(function (_, blob) {
|
|
121
|
+
var payload = {
|
|
122
|
+
id: blob.signed_id,
|
|
123
|
+
payload: {
|
|
124
|
+
metadata: {
|
|
125
|
+
organizationKey: initializers.globalProps.organization.publicApiKey,
|
|
126
|
+
url: blob.blob_url,
|
|
127
|
+
height: 200,
|
|
128
|
+
width: 200
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
directUploadsApi.update(payload);
|
|
133
|
+
var result = ramda.mergeRight(neetoCist.keysToCamelCase(blob), {
|
|
134
|
+
url: blob.blob_url
|
|
135
|
+
});
|
|
136
|
+
onUploadComplete(result);
|
|
137
|
+
});
|
|
138
|
+
} catch (error) {
|
|
139
|
+
Toastr__default["default"].error(error);
|
|
140
|
+
} finally {
|
|
141
|
+
setIsUploading(false);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
var imageKitUpload = /*#__PURE__*/function () {
|
|
145
|
+
var _ref2 = _asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee(file, XHRProgress) {
|
|
146
|
+
var imagekit, result;
|
|
147
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee$(_context) {
|
|
148
|
+
while (1) switch (_context.prev = _context.next) {
|
|
149
|
+
case 0:
|
|
150
|
+
_context.prev = 0;
|
|
151
|
+
imagekit = new index.ImageKit(ramda.mergeRight(initializers.globalProps.imagekit, {
|
|
152
|
+
authenticationEndpoint: authenticationEndpoint
|
|
153
|
+
}));
|
|
154
|
+
setIsUploading(true);
|
|
155
|
+
_context.next = 5;
|
|
156
|
+
return imagekit.upload({
|
|
157
|
+
xhr: XHRProgress,
|
|
158
|
+
file: file,
|
|
159
|
+
fileName: generateASCIIFileName(file.name),
|
|
160
|
+
folder: initializers.globalProps.imagekit.folder,
|
|
161
|
+
customMetadata: {
|
|
162
|
+
organizationKey: initializers.globalProps.organization.publicApiKey,
|
|
163
|
+
appName: initializers.globalProps.appName
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
case 5:
|
|
167
|
+
result = _context.sent;
|
|
168
|
+
onUploadComplete(result);
|
|
169
|
+
_context.next = 12;
|
|
170
|
+
break;
|
|
171
|
+
case 9:
|
|
172
|
+
_context.prev = 9;
|
|
173
|
+
_context.t0 = _context["catch"](0);
|
|
174
|
+
Toastr__default["default"].error(_context.t0);
|
|
175
|
+
case 12:
|
|
176
|
+
_context.prev = 12;
|
|
177
|
+
setIsUploading(false);
|
|
178
|
+
return _context.finish(12);
|
|
179
|
+
case 15:
|
|
180
|
+
case "end":
|
|
181
|
+
return _context.stop();
|
|
182
|
+
}
|
|
183
|
+
}, _callee, null, [[0, 9, 12, 15]]);
|
|
184
|
+
}));
|
|
185
|
+
return function imageKitUpload(_x, _x2) {
|
|
186
|
+
return _ref2.apply(this, arguments);
|
|
187
|
+
};
|
|
188
|
+
}();
|
|
189
|
+
var cloudFlareImageUpload = function cloudFlareImageUpload(file, setUploadProgress) {
|
|
190
|
+
var img = new Image();
|
|
191
|
+
img.src = URL.createObjectURL(file);
|
|
192
|
+
var formData = new FormData();
|
|
193
|
+
formData.append("file", file);
|
|
194
|
+
img.onload = /*#__PURE__*/_asyncToGenerator__default["default"](/*#__PURE__*/_regeneratorRuntime__default["default"].mark(function _callee2() {
|
|
195
|
+
var width, height, _yield$cloudflareImag, result;
|
|
196
|
+
return _regeneratorRuntime__default["default"].wrap(function _callee2$(_context2) {
|
|
197
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
198
|
+
case 0:
|
|
199
|
+
width = img.width, height = img.height;
|
|
200
|
+
URL.revokeObjectURL(img.src);
|
|
201
|
+
setIsUploading(true);
|
|
202
|
+
_context2.prev = 3;
|
|
203
|
+
_context2.next = 6;
|
|
204
|
+
return cloudflareImageApi.generate();
|
|
205
|
+
case 6:
|
|
206
|
+
_yield$cloudflareImag = _context2.sent;
|
|
207
|
+
result = _yield$cloudflareImag.result;
|
|
208
|
+
cloudFlareImage({
|
|
209
|
+
url: result.uploadURL,
|
|
210
|
+
formData: formData,
|
|
211
|
+
setUploadProgress: setUploadProgress
|
|
212
|
+
}, {
|
|
213
|
+
onSuccess: function onSuccess(_ref4) {
|
|
214
|
+
var result = _ref4.result;
|
|
215
|
+
var uploadData = _objectSpread(_objectSpread({}, result), {}, {
|
|
216
|
+
contentType: file.type,
|
|
217
|
+
metadata: _objectSpread(_objectSpread({}, result), {}, {
|
|
218
|
+
width: width,
|
|
219
|
+
height: height
|
|
220
|
+
}),
|
|
221
|
+
url: result.variants[0],
|
|
222
|
+
byteSize: file.size,
|
|
223
|
+
checksum: result.id
|
|
224
|
+
});
|
|
225
|
+
onUploadComplete(uploadData);
|
|
226
|
+
setIsUploading(false);
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
_context2.next = 15;
|
|
230
|
+
break;
|
|
231
|
+
case 11:
|
|
232
|
+
_context2.prev = 11;
|
|
233
|
+
_context2.t0 = _context2["catch"](3);
|
|
234
|
+
Toastr__default["default"].error(_context2.t0);
|
|
235
|
+
setIsUploading(false);
|
|
236
|
+
case 15:
|
|
237
|
+
case "end":
|
|
238
|
+
return _context2.stop();
|
|
239
|
+
}
|
|
240
|
+
}, _callee2, null, [[3, 11]]);
|
|
241
|
+
}));
|
|
242
|
+
};
|
|
243
|
+
var uploadFile = function uploadFile(file) {
|
|
244
|
+
var setUploadProgress = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : neetoCist.noop;
|
|
245
|
+
if (ramda.isNil(file)) return;
|
|
246
|
+
var fileSize = file.size;
|
|
247
|
+
var XHRProgress = new XMLHttpRequest();
|
|
248
|
+
XHRProgress.upload.addEventListener("progress", function (e) {
|
|
249
|
+
handleUploadProgress(e, fileSize, setUploadProgress);
|
|
250
|
+
});
|
|
251
|
+
var productionUpload = function productionUpload() {
|
|
252
|
+
return initializers.globalProps.assetsUploaderService === index.CLOUD_FLARE ? cloudFlareImageUpload(file, setUploadProgress) : imageKitUpload(file, XHRProgress);
|
|
253
|
+
};
|
|
254
|
+
index.IS_DEVELOPMENT_OR_HEROKU_ENV ? developmentUpload(file, setUploadProgress) : productionUpload();
|
|
255
|
+
};
|
|
256
|
+
return {
|
|
257
|
+
uploadFile: uploadFile
|
|
258
|
+
};
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
exports.directUploadsApi = directUploadsApi;
|
|
262
|
+
exports.generateASCIIFileName = generateASCIIFileName;
|
|
263
|
+
exports.useCreateBlob = useCreateBlob;
|
|
264
|
+
exports.useImageUploader = useImageUploader;
|
|
265
|
+
//# sourceMappingURL=useImageUploader-3de58fe2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useImageUploader-3de58fe2.js","sources":["../app/javascript/src/apis/direct_uploads.js","../app/javascript/src/hooks/useDirectUploads.js","../app/javascript/src/apis/cloudflare_image.js","../app/javascript/src/hooks/useCloudFlareImageApi.js","../app/javascript/src/hooks/utils.js","../app/javascript/src/hooks/useImageUploader.js"],"sourcesContent":["import axios from \"axios\";\n\nconst create = payload =>\n axios.post(\n \"/api/direct_uploads\",\n { blob: payload },\n { transformRequestCase: false }\n );\n\nconst update = ({ id, payload }) =>\n axios.put(\n `neeto_image_uploader_engine/api/direct_uploads/${id}`,\n { blob: payload },\n { transformRequestCase: false }\n );\nconst directUploadsApi = { create, update };\n\nexport default directUploadsApi;\n","import { useMutation } from \"@tanstack/react-query\";\nimport { useMutationWithInvalidation } from \"neetocommons/react-utils\";\n\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { QUERY_KEYS } from \"src/constants/query\";\n\nconst useCreateBlob = options =>\n useMutationWithInvalidation(directUploadsApi.create, {\n keysToInvalidate: [QUERY_KEYS.ASSETS_LIST],\n ...options,\n });\n\nconst useUpdateBlob = options =>\n useMutation({ mutationFn: directUploadsApi.update, ...options });\n\nexport { useCreateBlob, useUpdateBlob };\n","import axios from \"axios\";\n\nconst generate = () =>\n axios.post(\"neeto_image_uploader_engine/cloudflare_images\");\n\nconst upload = ({ url, formData, setUploadProgress }) =>\n axios.post(url, formData, {\n headers: { \"Content-Type\": \"multipart/form-data\" },\n onUploadProgress: event => {\n const percentComplete = Math.round((event.loaded / event.total) * 100);\n setUploadProgress(percentComplete);\n },\n transformRequestCase: false,\n });\n\nconst cloudflareImageApi = { generate, upload };\n\nexport default cloudflareImageApi;\n","import { useMutation } from \"@tanstack/react-query\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\n\nexport const useCloudFlareImageUpload = () =>\n useMutation({ mutationFn: cloudflareImageApi.upload });\n","export const generateASCIIFileName = originalFileName => {\n const sanitizedFileName = originalFileName.replace(/[\\u00A0\\u202F]/g, \" \");\n\n if (/^[A-Za-z0-9-_.~ ]*$/.test(sanitizedFileName)) {\n return originalFileName;\n }\n\n const extension = originalFileName.split(\".\").pop();\n\n return `image.${extension}`;\n};\n","import { DirectUpload } from \"@rails/activestorage\";\nimport ImageKit from \"imagekit-javascript\";\nimport { keysToCamelCase, noop } from \"neetocist\";\nimport { globalProps } from \"neetocommons/initializers\";\nimport { Toastr } from \"neetoui\";\nimport { equals, isNil, mergeRight } from \"ramda\";\n\nimport cloudflareImageApi from \"apis/cloudflare_image\";\nimport directUploadsApi from \"apis/direct_uploads\";\nimport { CLOUD_FLARE, IS_DEVELOPMENT_OR_HEROKU_ENV } from \"src/constants\";\n\nimport { useCloudFlareImageUpload } from \"./useCloudFlareImageApi\";\nimport { generateASCIIFileName } from \"./utils\";\n\nconst useImageUploader = ({\n onUploadComplete = noop,\n setIsUploading = noop,\n}) => {\n const authenticationEndpoint = `${window.location.origin}/neeto_image_uploader_engine/imagekit/auth`;\n\n const { mutate: cloudFlareImage } = useCloudFlareImageUpload();\n\n const handleUploadProgress = (e, fileSize, setUploadProgress) => {\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, setUploadProgress) => {\n try {\n setIsUploading(true);\n const upload = new DirectUpload(file, \"/api/direct_uploads\", {\n directUploadWillStoreFileWithXHR: xhr => {\n xhr.upload.addEventListener(\"progress\", event => {\n const percentComplete = Math.round(\n (event.loaded / event.total) * 100\n );\n setUploadProgress(percentComplete);\n });\n },\n });\n\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 const result = mergeRight(keysToCamelCase(blob), {\n url: blob.blob_url,\n });\n\n onUploadComplete(result);\n });\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const imageKitUpload = async (file, XHRProgress) => {\n try {\n const imagekit = new ImageKit(\n mergeRight(globalProps.imagekit, { authenticationEndpoint })\n );\n setIsUploading(true);\n const result = 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 onUploadComplete(result);\n } catch (error) {\n Toastr.error(error);\n } finally {\n setIsUploading(false);\n }\n };\n\n const cloudFlareImageUpload = (file, setUploadProgress) => {\n const img = new Image();\n img.src = URL.createObjectURL(file);\n\n const formData = new FormData();\n formData.append(\"file\", file);\n\n img.onload = async () => {\n const { width, height } = img;\n URL.revokeObjectURL(img.src);\n\n setIsUploading(true);\n try {\n // eslint-disable-next-line @bigbinary/neeto/use-react-query-for-managing-remote-data\n const { result } = await cloudflareImageApi.generate();\n\n cloudFlareImage(\n { url: result.uploadURL, formData, setUploadProgress },\n {\n onSuccess: ({ result }) => {\n const uploadData = {\n ...result,\n contentType: file.type,\n metadata: { ...result, width, height },\n url: result.variants[0],\n byteSize: file.size,\n checksum: result.id,\n };\n\n onUploadComplete(uploadData);\n setIsUploading(false);\n },\n }\n );\n } catch (error) {\n Toastr.error(error);\n setIsUploading(false);\n }\n };\n };\n\n const uploadFile = (file, setUploadProgress = noop) => {\n if (isNil(file)) return;\n\n const fileSize = file.size;\n const XHRProgress = new XMLHttpRequest();\n XHRProgress.upload.addEventListener(\"progress\", e => {\n handleUploadProgress(e, fileSize, setUploadProgress);\n });\n\n const productionUpload = () =>\n globalProps.assetsUploaderService === CLOUD_FLARE\n ? cloudFlareImageUpload(file, setUploadProgress)\n : imageKitUpload(file, XHRProgress);\n\n IS_DEVELOPMENT_OR_HEROKU_ENV\n ? developmentUpload(file, setUploadProgress)\n : productionUpload();\n };\n\n return { uploadFile };\n};\n\nexport default useImageUploader;\n"],"names":["create","payload","axios","post","blob","transformRequestCase","update","_ref","id","put","concat","directUploadsApi","useCreateBlob","options","useMutationWithInvalidation","_objectSpread","keysToInvalidate","QUERY_KEYS","ASSETS_LIST","generate","upload","url","formData","setUploadProgress","headers","onUploadProgress","event","percentComplete","Math","round","loaded","total","cloudflareImageApi","useCloudFlareImageUpload","useMutation","mutationFn","generateASCIIFileName","originalFileName","sanitizedFileName","replace","test","extension","split","pop","useImageUploader","_ref$onUploadComplete","onUploadComplete","noop","_ref$setIsUploading","setIsUploading","authenticationEndpoint","window","location","origin","_useCloudFlareImageUp","cloudFlareImage","mutate","handleUploadProgress","e","fileSize","percent","equals","developmentUpload","file","DirectUpload","directUploadWillStoreFileWithXHR","xhr","addEventListener","_","signed_id","metadata","organizationKey","globalProps","organization","publicApiKey","blob_url","height","width","result","mergeRight","keysToCamelCase","error","Toastr","imageKitUpload","_ref2","_asyncToGenerator","_regeneratorRuntime","mark","_callee","XHRProgress","imagekit","wrap","_callee$","_context","prev","next","ImageKit","fileName","name","folder","customMetadata","appName","sent","t0","finish","stop","_x","_x2","apply","arguments","cloudFlareImageUpload","img","Image","src","URL","createObjectURL","FormData","append","onload","_callee2","_yield$cloudflareImag","_callee2$","_context2","revokeObjectURL","uploadURL","onSuccess","_ref4","uploadData","contentType","type","variants","byteSize","size","checksum","uploadFile","length","undefined","isNil","XMLHttpRequest","productionUpload","assetsUploaderService","CLOUD_FLARE","IS_DEVELOPMENT_OR_HEROKU_ENV"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAMA,CAAGC,OAAO,EAAA;AAAA,EAAA,OACpBC,yBAAK,CAACC,IAAI,CACR,qBAAqB,EACrB;AAAEC,IAAAA,IAAI,EAAEH,OAAAA;AAAQ,GAAC,EACjB;AAAEI,IAAAA,oBAAoB,EAAE,KAAA;AAAM,GAChC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEH,IAAMC,MAAM,GAAG,SAATA,MAAMA,CAAAC,IAAA,EAAA;AAAA,EAAA,IAAMC,EAAE,GAAAD,IAAA,CAAFC,EAAE;IAAEP,OAAO,GAAAM,IAAA,CAAPN,OAAO,CAAA;AAAA,EAAA,OAC3BC,yBAAK,CAACO,GAAG,mDAAAC,MAAA,CAC2CF,EAAE,CACpD,EAAA;AAAEJ,IAAAA,IAAI,EAAEH,OAAAA;AAAQ,GAAC,EACjB;AAAEI,IAAAA,oBAAoB,EAAE,KAAA;AAAM,GAChC,CAAC,CAAA;AAAA,CAAA,CAAA;AACH,IAAMM,gBAAgB,GAAG;AAAEX,EAAAA,MAAM,EAANA,MAAM;AAAEM,EAAAA,MAAM,EAANA,MAAAA;AAAO;;;;ACT1C,IAAMM,aAAa,GAAG,SAAhBA,aAAaA,CAAGC,OAAO,EAAA;AAAA,EAAA,OAC3BC,sCAA2B,CAACH,gBAAgB,CAACX,MAAM,EAAAe,eAAA,CAAA;AACjDC,IAAAA,gBAAgB,EAAE,CAACC,gBAAU,CAACC,WAAW,CAAA;GACtCL,EAAAA,OAAO,CACX,CAAC,CAAA;AAAA;;ACRJ,IAAMM,QAAQ,GAAG,SAAXA,QAAQA,GAAA;AAAA,EAAA,OACZjB,yBAAK,CAACC,IAAI,CAAC,+CAA+C,CAAC,CAAA;AAAA,CAAA,CAAA;AAE7D,IAAMiB,MAAM,GAAG,SAATA,MAAMA,CAAAb,IAAA,EAAA;AAAA,EAAA,IAAMc,GAAG,GAAAd,IAAA,CAAHc,GAAG;IAAEC,QAAQ,GAAAf,IAAA,CAARe,QAAQ;IAAEC,iBAAiB,GAAAhB,IAAA,CAAjBgB,iBAAiB,CAAA;AAAA,EAAA,OAChDrB,yBAAK,CAACC,IAAI,CAACkB,GAAG,EAAEC,QAAQ,EAAE;AACxBE,IAAAA,OAAO,EAAE;AAAE,MAAA,cAAc,EAAE,qBAAA;KAAuB;AAClDC,IAAAA,gBAAgB,EAAE,SAAlBA,gBAAgBA,CAAEC,KAAK,EAAI;AACzB,MAAA,IAAMC,eAAe,GAAGC,IAAI,CAACC,KAAK,CAAEH,KAAK,CAACI,MAAM,GAAGJ,KAAK,CAACK,KAAK,GAAI,GAAG,CAAC,CAAA;MACtER,iBAAiB,CAACI,eAAe,CAAC,CAAA;KACnC;AACDtB,IAAAA,oBAAoB,EAAE,KAAA;AACxB,GAAC,CAAC,CAAA;AAAA,CAAA,CAAA;AAEJ,IAAM2B,kBAAkB,GAAG;AAAEb,EAAAA,QAAQ,EAARA,QAAQ;AAAEC,EAAAA,MAAM,EAANA,MAAAA;AAAO,CAAC;;ACXxC,IAAMa,wBAAwB,GAAG,SAA3BA,wBAAwBA,GAAA;AAAA,EAAA,OACnCC,sBAAW,CAAC;IAAEC,UAAU,EAAEH,kBAAkB,CAACZ,MAAAA;AAAO,GAAC,CAAC,CAAA;AAAA,CAAA;;ICL3CgB,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAGC,gBAAgB,EAAI;EACvD,IAAMC,iBAAiB,GAAGD,gBAAgB,CAACE,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAA;AAE1E,EAAA,IAAI,qBAAqB,CAACC,IAAI,CAACF,iBAAiB,CAAC,EAAE;AACjD,IAAA,OAAOD,gBAAgB,CAAA;AACzB,GAAA;EAEA,IAAMI,SAAS,GAAGJ,gBAAgB,CAACK,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,EAAE,CAAA;EAEnD,OAAAjC,QAAAA,CAAAA,MAAA,CAAgB+B,SAAS,CAAA,CAAA;AAC3B;;;;ACIA,IAAMG,gBAAgB,GAAG,SAAnBA,gBAAgBA,CAAArC,IAAA,EAGhB;AAAA,EAAA,IAAAsC,qBAAA,GAAAtC,IAAA,CAFJuC,gBAAgB;AAAhBA,IAAAA,gBAAgB,GAAAD,qBAAA,KAAGE,KAAAA,CAAAA,GAAAA,cAAI,GAAAF,qBAAA;IAAAG,mBAAA,GAAAzC,IAAA,CACvB0C,cAAc;AAAdA,IAAAA,cAAc,GAAAD,mBAAA,KAAGD,KAAAA,CAAAA,GAAAA,cAAI,GAAAC,mBAAA,CAAA;EAErB,IAAME,sBAAsB,MAAAxC,MAAA,CAAMyC,MAAM,CAACC,QAAQ,CAACC,MAAM,EAA4C,4CAAA,CAAA,CAAA;AAEpG,EAAA,IAAAC,qBAAA,GAAoCrB,wBAAwB,EAAE;IAA9CsB,eAAe,GAAAD,qBAAA,CAAvBE,MAAM,CAAA;EAEd,IAAMC,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAIC,CAAC,EAAEC,QAAQ,EAAEpC,iBAAiB,EAAK;AAC/D,IAAA,IAAImC,CAAC,CAAC5B,MAAM,IAAI6B,QAAQ,EAAE;AACxB,MAAA,IAAMC,OAAO,GAAGhC,IAAI,CAACC,KAAK,CAAE6B,CAAC,CAAC5B,MAAM,GAAG6B,QAAQ,GAAI,GAAG,CAAC,CAAA;MACvDpC,iBAAiB,CAACqC,OAAO,CAAC,CAAA;AAC5B,KAAA;AACAC,IAAAA,YAAM,CAACH,CAAC,CAAC5B,MAAM,EAAE4B,CAAC,CAAC3B,KAAK,CAAC,IAAIR,iBAAiB,CAAC,GAAG,CAAC,CAAA;GACpD,CAAA;EAED,IAAMuC,iBAAiB,GAAG,SAApBA,iBAAiBA,CAAIC,IAAI,EAAExC,iBAAiB,EAAK;IACrD,IAAI;MACF0B,cAAc,CAAC,IAAI,CAAC,CAAA;MACpB,IAAM7B,MAAM,GAAG,IAAI4C,0BAAY,CAACD,IAAI,EAAE,qBAAqB,EAAE;AAC3DE,QAAAA,gCAAgC,EAAE,SAAlCA,gCAAgCA,CAAEC,GAAG,EAAI;UACvCA,GAAG,CAAC9C,MAAM,CAAC+C,gBAAgB,CAAC,UAAU,EAAE,UAAAzC,KAAK,EAAI;AAC/C,YAAA,IAAMC,eAAe,GAAGC,IAAI,CAACC,KAAK,CAC/BH,KAAK,CAACI,MAAM,GAAGJ,KAAK,CAACK,KAAK,GAAI,GACjC,CAAC,CAAA;YACDR,iBAAiB,CAACI,eAAe,CAAC,CAAA;AACpC,WAAC,CAAC,CAAA;AACJ,SAAA;AACF,OAAC,CAAC,CAAA;AAEFP,MAAAA,MAAM,CAACpB,MAAM,CAAC,UAACoE,CAAC,EAAEhE,IAAI,EAAK;AACzB,QAAA,IAAMH,OAAO,GAAG;UACdO,EAAE,EAAEJ,IAAI,CAACiE,SAAS;AAClBpE,UAAAA,OAAO,EAAE;AACPqE,YAAAA,QAAQ,EAAE;AACRC,cAAAA,eAAe,EAAEC,wBAAW,CAACC,YAAY,CAACC,YAAY;cACtDrD,GAAG,EAAEjB,IAAI,CAACuE,QAAQ;AAClBC,cAAAA,MAAM,EAAE,GAAG;AACXC,cAAAA,KAAK,EAAE,GAAA;AACT,aAAA;AACF,WAAA;SACD,CAAA;AACDlE,QAAAA,gBAAgB,CAACL,MAAM,CAACL,OAAO,CAAC,CAAA;QAEhC,IAAM6E,MAAM,GAAGC,gBAAU,CAACC,yBAAe,CAAC5E,IAAI,CAAC,EAAE;UAC/CiB,GAAG,EAAEjB,IAAI,CAACuE,QAAAA;AACZ,SAAC,CAAC,CAAA;QAEF7B,gBAAgB,CAACgC,MAAM,CAAC,CAAA;AAC1B,OAAC,CAAC,CAAA;KACH,CAAC,OAAOG,KAAK,EAAE;AACdC,MAAAA,0BAAM,CAACD,KAAK,CAACA,KAAK,CAAC,CAAA;AACrB,KAAC,SAAS;MACRhC,cAAc,CAAC,KAAK,CAAC,CAAA;AACvB,KAAA;GACD,CAAA;AAED,EAAA,IAAMkC,cAAc,gBAAA,YAAA;AAAA,IAAA,IAAAC,KAAA,GAAAC,qCAAA,cAAAC,uCAAA,CAAAC,IAAA,CAAG,SAAAC,OAAAA,CAAOzB,IAAI,EAAE0B,WAAW,EAAA;MAAA,IAAAC,QAAA,EAAAZ,MAAA,CAAA;AAAA,MAAA,OAAAQ,uCAAA,CAAAK,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;YAErCJ,QAAQ,GAAG,IAAIM,cAAQ,CAC3BjB,gBAAU,CAACP,wBAAW,CAACkB,QAAQ,EAAE;AAAExC,cAAAA,sBAAsB,EAAtBA,sBAAAA;AAAuB,aAAC,CAC7D,CAAC,CAAA;YACDD,cAAc,CAAC,IAAI,CAAC,CAAA;AAAC4C,YAAAA,QAAA,CAAAE,IAAA,GAAA,CAAA,CAAA;YAAA,OACAL,QAAQ,CAACtE,MAAM,CAAC;AACnC8C,cAAAA,GAAG,EAAEuB,WAAW;AAChB1B,cAAAA,IAAI,EAAJA,IAAI;AACJkC,cAAAA,QAAQ,EAAE7D,qBAAqB,CAAC2B,IAAI,CAACmC,IAAI,CAAC;AAC1CC,cAAAA,MAAM,EAAE3B,wBAAW,CAACkB,QAAQ,CAACS,MAAM;AACnCC,cAAAA,cAAc,EAAE;AACd7B,gBAAAA,eAAe,EAAEC,wBAAW,CAACC,YAAY,CAACC,YAAY;gBACtD2B,OAAO,EAAE7B,wBAAW,CAAC6B,OAAAA;AACvB,eAAA;AACF,aAAC,CAAC,CAAA;AAAA,UAAA,KAAA,CAAA;YATIvB,MAAM,GAAAe,QAAA,CAAAS,IAAA,CAAA;YAWZxD,gBAAgB,CAACgC,MAAM,CAAC,CAAA;AAACe,YAAAA,QAAA,CAAAE,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,CAAA;AAAAF,YAAAA,QAAA,CAAAC,IAAA,GAAA,CAAA,CAAA;YAAAD,QAAA,CAAAU,EAAA,GAAAV,QAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEzBX,YAAAA,0BAAM,CAACD,KAAK,CAAAY,QAAA,CAAAU,EAAM,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA;AAAAV,YAAAA,QAAA,CAAAC,IAAA,GAAA,EAAA,CAAA;YAEpB7C,cAAc,CAAC,KAAK,CAAC,CAAA;YAAC,OAAA4C,QAAA,CAAAW,MAAA,CAAA,EAAA,CAAA,CAAA;AAAA,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAX,QAAA,CAAAY,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAjB,OAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,CAAA,EAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAEzB,CAAA,CAAA,CAAA;AAAA,IAAA,OAAA,SAvBKL,cAAcA,CAAAuB,EAAA,EAAAC,GAAA,EAAA;AAAA,MAAA,OAAAvB,KAAA,CAAAwB,KAAA,CAAA,IAAA,EAAAC,SAAA,CAAA,CAAA;AAAA,KAAA,CAAA;GAuBnB,EAAA,CAAA;EAED,IAAMC,qBAAqB,GAAG,SAAxBA,qBAAqBA,CAAI/C,IAAI,EAAExC,iBAAiB,EAAK;AACzD,IAAA,IAAMwF,GAAG,GAAG,IAAIC,KAAK,EAAE,CAAA;IACvBD,GAAG,CAACE,GAAG,GAAGC,GAAG,CAACC,eAAe,CAACpD,IAAI,CAAC,CAAA;AAEnC,IAAA,IAAMzC,QAAQ,GAAG,IAAI8F,QAAQ,EAAE,CAAA;AAC/B9F,IAAAA,QAAQ,CAAC+F,MAAM,CAAC,MAAM,EAAEtD,IAAI,CAAC,CAAA;IAE7BgD,GAAG,CAACO,MAAM,gBAAAjC,qCAAA,cAAAC,uCAAA,CAAAC,IAAA,CAAG,SAAAgC,QAAA,GAAA;AAAA,MAAA,IAAA1C,KAAA,EAAAD,MAAA,EAAA4C,qBAAA,EAAA1C,MAAA,CAAA;AAAA,MAAA,OAAAQ,uCAAA,CAAAK,IAAA,CAAA,SAAA8B,UAAAC,SAAA,EAAA;AAAA,QAAA,OAAA,CAAA,EAAA,QAAAA,SAAA,CAAA5B,IAAA,GAAA4B,SAAA,CAAA3B,IAAA;AAAA,UAAA,KAAA,CAAA;YACHlB,KAAK,GAAakC,GAAG,CAArBlC,KAAK,EAAED,MAAM,GAAKmC,GAAG,CAAdnC,MAAM,CAAA;AACrBsC,YAAAA,GAAG,CAACS,eAAe,CAACZ,GAAG,CAACE,GAAG,CAAC,CAAA;YAE5BhE,cAAc,CAAC,IAAI,CAAC,CAAA;AAACyE,YAAAA,SAAA,CAAA5B,IAAA,GAAA,CAAA,CAAA;AAAA4B,YAAAA,SAAA,CAAA3B,IAAA,GAAA,CAAA,CAAA;AAAA,YAAA,OAGM/D,kBAAkB,CAACb,QAAQ,EAAE,CAAA;AAAA,UAAA,KAAA,CAAA;YAAAqG,qBAAA,GAAAE,SAAA,CAAApB,IAAA,CAAA;YAA9CxB,MAAM,GAAA0C,qBAAA,CAAN1C,MAAM,CAAA;AAEdvB,YAAAA,eAAe,CACb;cAAElC,GAAG,EAAEyD,MAAM,CAAC8C,SAAS;AAAEtG,cAAAA,QAAQ,EAARA,QAAQ;AAAEC,cAAAA,iBAAiB,EAAjBA,iBAAAA;AAAkB,aAAC,EACtD;AACEsG,cAAAA,SAAS,EAAE,SAAXA,SAASA,CAAAC,KAAA,EAAkB;AAAA,gBAAA,IAAbhD,MAAM,GAAAgD,KAAA,CAANhD,MAAM,CAAA;AAClB,gBAAA,IAAMiD,UAAU,GAAAhH,aAAA,CAAAA,aAAA,KACX+D,MAAM,CAAA,EAAA,EAAA,EAAA;kBACTkD,WAAW,EAAEjE,IAAI,CAACkE,IAAI;AACtB3D,kBAAAA,QAAQ,EAAAvD,aAAA,CAAAA,aAAA,KAAO+D,MAAM,CAAA,EAAA,EAAA,EAAA;AAAED,oBAAAA,KAAK,EAALA,KAAK;AAAED,oBAAAA,MAAM,EAANA,MAAAA;mBAAQ,CAAA;AACtCvD,kBAAAA,GAAG,EAAEyD,MAAM,CAACoD,QAAQ,CAAC,CAAC,CAAC;kBACvBC,QAAQ,EAAEpE,IAAI,CAACqE,IAAI;kBACnBC,QAAQ,EAAEvD,MAAM,CAACtE,EAAAA;iBAClB,CAAA,CAAA;gBAEDsC,gBAAgB,CAACiF,UAAU,CAAC,CAAA;gBAC5B9E,cAAc,CAAC,KAAK,CAAC,CAAA;AACvB,eAAA;AACF,aACF,CAAC,CAAA;AAACyE,YAAAA,SAAA,CAAA3B,IAAA,GAAA,EAAA,CAAA;AAAA,YAAA,MAAA;AAAA,UAAA,KAAA,EAAA;AAAA2B,YAAAA,SAAA,CAAA5B,IAAA,GAAA,EAAA,CAAA;YAAA4B,SAAA,CAAAnB,EAAA,GAAAmB,SAAA,CAAA,OAAA,CAAA,CAAA,CAAA,CAAA,CAAA;AAEFxC,YAAAA,0BAAM,CAACD,KAAK,CAAAyC,SAAA,CAAAnB,EAAM,CAAC,CAAA;YACnBtD,cAAc,CAAC,KAAK,CAAC,CAAA;AAAC,UAAA,KAAA,EAAA,CAAA;AAAA,UAAA,KAAA,KAAA;YAAA,OAAAyE,SAAA,CAAAjB,IAAA,EAAA,CAAA;AAAA,SAAA;AAAA,OAAA,EAAAc,QAAA,EAAA,IAAA,EAAA,CAAA,CAAA,CAAA,EAAA,EAAA,CAAA,CAAA,CAAA,CAAA;KAEzB,CAAA,CAAA,CAAA;GACF,CAAA;AAED,EAAA,IAAMe,UAAU,GAAG,SAAbA,UAAUA,CAAIvE,IAAI,EAA+B;AAAA,IAAA,IAA7BxC,iBAAiB,GAAAsF,SAAA,CAAA0B,MAAA,GAAA,CAAA,IAAA1B,SAAA,CAAA,CAAA,CAAA,KAAA2B,SAAA,GAAA3B,SAAA,CAAA,CAAA,CAAA,GAAG9D,cAAI,CAAA;AAChD,IAAA,IAAI0F,WAAK,CAAC1E,IAAI,CAAC,EAAE,OAAA;AAEjB,IAAA,IAAMJ,QAAQ,GAAGI,IAAI,CAACqE,IAAI,CAAA;AAC1B,IAAA,IAAM3C,WAAW,GAAG,IAAIiD,cAAc,EAAE,CAAA;IACxCjD,WAAW,CAACrE,MAAM,CAAC+C,gBAAgB,CAAC,UAAU,EAAE,UAAAT,CAAC,EAAI;AACnDD,MAAAA,oBAAoB,CAACC,CAAC,EAAEC,QAAQ,EAAEpC,iBAAiB,CAAC,CAAA;AACtD,KAAC,CAAC,CAAA;AAEF,IAAA,IAAMoH,gBAAgB,GAAG,SAAnBA,gBAAgBA,GAAA;AAAA,MAAA,OACpBnE,wBAAW,CAACoE,qBAAqB,KAAKC,iBAAW,GAC7C/B,qBAAqB,CAAC/C,IAAI,EAAExC,iBAAiB,CAAC,GAC9C4D,cAAc,CAACpB,IAAI,EAAE0B,WAAW,CAAC,CAAA;AAAA,KAAA,CAAA;IAEvCqD,kCAA4B,GACxBhF,iBAAiB,CAACC,IAAI,EAAExC,iBAAiB,CAAC,GAC1CoH,gBAAgB,EAAE,CAAA;GACvB,CAAA;EAED,OAAO;AAAEL,IAAAA,UAAU,EAAVA,UAAAA;GAAY,CAAA;AACvB;;;;;;;"}
|