@bigbinary/neeto-image-uploader-frontend 2.0.1 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/javascript/src/translations/en.json +5 -0
- package/dist/AssetLibrary.js +10231 -0
- package/dist/AssetLibrary.js.map +1 -0
- package/dist/BasicImageUploader.js +66 -0
- package/dist/BasicImageUploader.js.map +1 -0
- package/dist/ImageUploader.js +228 -0
- package/dist/ImageUploader.js.map +1 -0
- package/dist/ImageWithFallback-7492935f.js +167 -0
- package/dist/ImageWithFallback-7492935f.js.map +1 -0
- package/dist/ImageWithFallback-e6b44c73.js +158 -0
- package/dist/ImageWithFallback-e6b44c73.js.map +1 -0
- package/dist/cjs/AssetLibrary.js +10303 -0
- package/dist/cjs/AssetLibrary.js.map +1 -0
- package/dist/cjs/BasicImageUploader.js +74 -0
- package/dist/cjs/BasicImageUploader.js.map +1 -0
- package/dist/cjs/ImageUploader.js +237 -0
- package/dist/cjs/ImageUploader.js.map +1 -0
- package/dist/cjs/hooks.js +24 -0
- package/dist/cjs/hooks.js.map +1 -0
- package/dist/cjs/index.js +95 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/hooks.js +14 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index-7f064861.js +663 -0
- package/dist/index-7f064861.js.map +1 -0
- package/dist/index-b9963255.js +658 -0
- package/dist/index-b9963255.js.map +1 -0
- package/dist/index.js +81 -3908
- package/dist/index.js.map +1 -1
- package/dist/useImageUploader-36a03350.js +598 -0
- package/dist/useImageUploader-36a03350.js.map +1 -0
- package/dist/useImageUploader-550a5fdc.js +616 -0
- package/dist/useImageUploader-550a5fdc.js.map +1 -0
- package/dist/useProfileImageUpload-837e76b8.js +256 -0
- package/dist/useProfileImageUpload-837e76b8.js.map +1 -0
- package/dist/useProfileImageUpload-f0088c2a.js +263 -0
- package/dist/useProfileImageUpload-f0088c2a.js.map +1 -0
- package/dist/utils-88cce499.js +277 -0
- package/dist/utils-88cce499.js.map +1 -0
- package/dist/utils-96eacd77.js +248 -0
- package/dist/utils-96eacd77.js.map +1 -0
- package/package.json +45 -31
- package/dist/index.cjs.js +0 -3934
- package/dist/index.cjs.js.map +0 -1
|
@@ -0,0 +1,663 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
function _typeof$1(o) {
|
|
4
|
+
"@babel/helpers - typeof";
|
|
5
|
+
|
|
6
|
+
return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) {
|
|
7
|
+
return typeof o;
|
|
8
|
+
} : function (o) {
|
|
9
|
+
return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o;
|
|
10
|
+
}, _typeof$1(o);
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
function _toPrimitive(input, hint) {
|
|
14
|
+
if (_typeof$1(input) !== "object" || input === null) return input;
|
|
15
|
+
var prim = input[Symbol.toPrimitive];
|
|
16
|
+
if (prim !== undefined) {
|
|
17
|
+
var res = prim.call(input, hint || "default");
|
|
18
|
+
if (_typeof$1(res) !== "object") return res;
|
|
19
|
+
throw new TypeError("@@toPrimitive must return a primitive value.");
|
|
20
|
+
}
|
|
21
|
+
return (hint === "string" ? String : Number)(input);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function _toPropertyKey(arg) {
|
|
25
|
+
var key = _toPrimitive(arg, "string");
|
|
26
|
+
return _typeof$1(key) === "symbol" ? key : String(key);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
function _defineProperty$1(obj, key, value) {
|
|
30
|
+
key = _toPropertyKey(key);
|
|
31
|
+
if (key in obj) {
|
|
32
|
+
Object.defineProperty(obj, key, {
|
|
33
|
+
value: value,
|
|
34
|
+
enumerable: true,
|
|
35
|
+
configurable: true,
|
|
36
|
+
writable: true
|
|
37
|
+
});
|
|
38
|
+
} else {
|
|
39
|
+
obj[key] = value;
|
|
40
|
+
}
|
|
41
|
+
return obj;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function _arrayWithHoles(arr) {
|
|
45
|
+
if (Array.isArray(arr)) return arr;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
function _iterableToArrayLimit(r, l) {
|
|
49
|
+
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
|
|
50
|
+
if (null != t) {
|
|
51
|
+
var e,
|
|
52
|
+
n,
|
|
53
|
+
i,
|
|
54
|
+
u,
|
|
55
|
+
a = [],
|
|
56
|
+
f = !0,
|
|
57
|
+
o = !1;
|
|
58
|
+
try {
|
|
59
|
+
if (i = (t = t.call(r)).next, 0 === l) {
|
|
60
|
+
if (Object(t) !== t) return;
|
|
61
|
+
f = !1;
|
|
62
|
+
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
|
|
63
|
+
} catch (r) {
|
|
64
|
+
o = !0, n = r;
|
|
65
|
+
} finally {
|
|
66
|
+
try {
|
|
67
|
+
if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return;
|
|
68
|
+
} finally {
|
|
69
|
+
if (o) throw n;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
return a;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
function _arrayLikeToArray(arr, len) {
|
|
77
|
+
if (len == null || len > arr.length) len = arr.length;
|
|
78
|
+
for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];
|
|
79
|
+
return arr2;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
function _unsupportedIterableToArray(o, minLen) {
|
|
83
|
+
if (!o) return;
|
|
84
|
+
if (typeof o === "string") return _arrayLikeToArray(o, minLen);
|
|
85
|
+
var n = Object.prototype.toString.call(o).slice(8, -1);
|
|
86
|
+
if (n === "Object" && o.constructor) n = o.constructor.name;
|
|
87
|
+
if (n === "Map" || n === "Set") return Array.from(o);
|
|
88
|
+
if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen);
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
function _nonIterableRest() {
|
|
92
|
+
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
function _slicedToArray(arr, i) {
|
|
96
|
+
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
function _typeof(obj) {
|
|
100
|
+
"@babel/helpers - typeof";
|
|
101
|
+
|
|
102
|
+
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
|
|
103
|
+
_typeof = function (obj) {
|
|
104
|
+
return typeof obj;
|
|
105
|
+
};
|
|
106
|
+
} else {
|
|
107
|
+
_typeof = function (obj) {
|
|
108
|
+
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
return _typeof(obj);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
function _classCallCheck(instance, Constructor) {
|
|
116
|
+
if (!(instance instanceof Constructor)) {
|
|
117
|
+
throw new TypeError("Cannot call a class as a function");
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
function _defineProperties(target, props) {
|
|
122
|
+
for (var i = 0; i < props.length; i++) {
|
|
123
|
+
var descriptor = props[i];
|
|
124
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
|
125
|
+
descriptor.configurable = true;
|
|
126
|
+
if ("value" in descriptor) descriptor.writable = true;
|
|
127
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
|
132
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
|
133
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
|
134
|
+
return Constructor;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
function _defineProperty(obj, key, value) {
|
|
138
|
+
if (key in obj) {
|
|
139
|
+
Object.defineProperty(obj, key, {
|
|
140
|
+
value: value,
|
|
141
|
+
enumerable: true,
|
|
142
|
+
configurable: true,
|
|
143
|
+
writable: true
|
|
144
|
+
});
|
|
145
|
+
} else {
|
|
146
|
+
obj[key] = value;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
return obj;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
function ownKeys(object, enumerableOnly) {
|
|
153
|
+
var keys = Object.keys(object);
|
|
154
|
+
|
|
155
|
+
if (Object.getOwnPropertySymbols) {
|
|
156
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
157
|
+
if (enumerableOnly) symbols = symbols.filter(function (sym) {
|
|
158
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
159
|
+
});
|
|
160
|
+
keys.push.apply(keys, symbols);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
return keys;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
function _objectSpread2(target) {
|
|
167
|
+
for (var i = 1; i < arguments.length; i++) {
|
|
168
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
169
|
+
|
|
170
|
+
if (i % 2) {
|
|
171
|
+
ownKeys(Object(source), true).forEach(function (key) {
|
|
172
|
+
_defineProperty(target, key, source[key]);
|
|
173
|
+
});
|
|
174
|
+
} else if (Object.getOwnPropertyDescriptors) {
|
|
175
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
176
|
+
} else {
|
|
177
|
+
ownKeys(Object(source)).forEach(function (key) {
|
|
178
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
179
|
+
});
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
return target;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
var version = "1.5.5";
|
|
187
|
+
|
|
188
|
+
var errorMessages = {
|
|
189
|
+
MANDATORY_INITIALIZATION_MISSING: {
|
|
190
|
+
message: "Missing urlEndpoint during SDK initialization",
|
|
191
|
+
help: ""
|
|
192
|
+
},
|
|
193
|
+
INVALID_TRANSFORMATION_POSITION: {
|
|
194
|
+
message: "Invalid transformationPosition parameter",
|
|
195
|
+
help: ""
|
|
196
|
+
},
|
|
197
|
+
PRIVATE_KEY_CLIENT_SIDE: {
|
|
198
|
+
message: "privateKey should not be passed on the client side",
|
|
199
|
+
help: ""
|
|
200
|
+
},
|
|
201
|
+
MISSING_UPLOAD_DATA: {
|
|
202
|
+
message: "Missing data for upload",
|
|
203
|
+
help: ""
|
|
204
|
+
},
|
|
205
|
+
MISSING_UPLOAD_FILE_PARAMETER: {
|
|
206
|
+
message: "Missing file parameter for upload",
|
|
207
|
+
help: ""
|
|
208
|
+
},
|
|
209
|
+
MISSING_UPLOAD_FILENAME_PARAMETER: {
|
|
210
|
+
message: "Missing fileName parameter for upload",
|
|
211
|
+
help: ""
|
|
212
|
+
},
|
|
213
|
+
MISSING_AUTHENTICATION_ENDPOINT: {
|
|
214
|
+
message: "Missing authentication endpoint for upload",
|
|
215
|
+
help: ""
|
|
216
|
+
},
|
|
217
|
+
MISSING_PUBLIC_KEY: {
|
|
218
|
+
message: "Missing public key for upload",
|
|
219
|
+
help: ""
|
|
220
|
+
},
|
|
221
|
+
AUTH_ENDPOINT_TIMEOUT: {
|
|
222
|
+
message: "The authenticationEndpoint you provided timed out in 60 seconds",
|
|
223
|
+
help: ""
|
|
224
|
+
},
|
|
225
|
+
AUTH_ENDPOINT_NETWORK_ERROR: {
|
|
226
|
+
message: "Request to authenticationEndpoint failed due to network error",
|
|
227
|
+
help: ""
|
|
228
|
+
},
|
|
229
|
+
AUTH_INVALID_RESPONSE: {
|
|
230
|
+
message: "Invalid response from authenticationEndpoint. The SDK expects a JSON response with three fields i.e. signature, token and expire.",
|
|
231
|
+
help: ""
|
|
232
|
+
},
|
|
233
|
+
UPLOAD_ENDPOINT_NETWORK_ERROR: {
|
|
234
|
+
message: "Request to ImageKit upload endpoint failed due to network error",
|
|
235
|
+
help: ""
|
|
236
|
+
},
|
|
237
|
+
INVALID_UPLOAD_OPTIONS: {
|
|
238
|
+
message: "Invalid uploadOptions parameter",
|
|
239
|
+
help: ""
|
|
240
|
+
}
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
function respond (isError, response, callback) {
|
|
244
|
+
if (typeof callback == "function") {
|
|
245
|
+
if (isError) {
|
|
246
|
+
callback(response, null);
|
|
247
|
+
} else {
|
|
248
|
+
callback(null, response);
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
function getResponseHeaderMap(xhr) {
|
|
254
|
+
var headers = {};
|
|
255
|
+
var responseHeaders = xhr.getAllResponseHeaders();
|
|
256
|
+
if (Object.keys(responseHeaders).length) {
|
|
257
|
+
responseHeaders.trim().split(/[\r\n]+/).map(function (value) {
|
|
258
|
+
return value.split(/: /);
|
|
259
|
+
}).forEach(function (keyValue) {
|
|
260
|
+
headers[keyValue[0].trim()] = keyValue[1].trim();
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
return headers;
|
|
264
|
+
}
|
|
265
|
+
var addResponseHeadersAndBody = function addResponseHeadersAndBody(body, xhr) {
|
|
266
|
+
var response = _objectSpread2({}, body);
|
|
267
|
+
var responseMetadata = {
|
|
268
|
+
statusCode: xhr.status,
|
|
269
|
+
headers: getResponseHeaderMap(xhr)
|
|
270
|
+
};
|
|
271
|
+
Object.defineProperty(response, "$ResponseMetadata", {
|
|
272
|
+
value: responseMetadata,
|
|
273
|
+
enumerable: false,
|
|
274
|
+
writable: false
|
|
275
|
+
});
|
|
276
|
+
return response;
|
|
277
|
+
};
|
|
278
|
+
var request = function request(uploadFileXHR, formData, options, callback) {
|
|
279
|
+
generateSignatureToken(options.authenticationEndpoint).then(function (signaturObj) {
|
|
280
|
+
formData.append("signature", signaturObj.signature);
|
|
281
|
+
formData.append("expire", String(signaturObj.expire));
|
|
282
|
+
formData.append("token", signaturObj.token);
|
|
283
|
+
uploadFile(uploadFileXHR, formData).then(function (result) {
|
|
284
|
+
return respond(false, result, callback);
|
|
285
|
+
}, function (ex) {
|
|
286
|
+
return respond(true, ex, callback);
|
|
287
|
+
});
|
|
288
|
+
}, function (ex) {
|
|
289
|
+
return respond(true, ex, callback);
|
|
290
|
+
});
|
|
291
|
+
};
|
|
292
|
+
var generateSignatureToken = function generateSignatureToken(authenticationEndpoint) {
|
|
293
|
+
return new Promise(function (resolve, reject) {
|
|
294
|
+
var xhr = new XMLHttpRequest();
|
|
295
|
+
xhr.timeout = 60000;
|
|
296
|
+
var urlObj = new URL(authenticationEndpoint);
|
|
297
|
+
urlObj.searchParams.append("t", Math.random().toString());
|
|
298
|
+
xhr.open('GET', urlObj.toString());
|
|
299
|
+
xhr.ontimeout = function (e) {
|
|
300
|
+
return reject(errorMessages.AUTH_ENDPOINT_TIMEOUT);
|
|
301
|
+
};
|
|
302
|
+
xhr.onerror = function () {
|
|
303
|
+
return reject(errorMessages.AUTH_ENDPOINT_NETWORK_ERROR);
|
|
304
|
+
};
|
|
305
|
+
xhr.onload = function () {
|
|
306
|
+
if (xhr.status === 200) {
|
|
307
|
+
try {
|
|
308
|
+
var body = JSON.parse(xhr.responseText);
|
|
309
|
+
var obj = {
|
|
310
|
+
signature: body.signature,
|
|
311
|
+
expire: body.expire,
|
|
312
|
+
token: body.token
|
|
313
|
+
};
|
|
314
|
+
if (!obj.signature || !obj.expire || !obj.token) {
|
|
315
|
+
return reject(errorMessages.AUTH_INVALID_RESPONSE);
|
|
316
|
+
}
|
|
317
|
+
return resolve(obj);
|
|
318
|
+
} catch (ex) {
|
|
319
|
+
return reject(errorMessages.AUTH_INVALID_RESPONSE);
|
|
320
|
+
}
|
|
321
|
+
} else {
|
|
322
|
+
return reject(errorMessages.AUTH_INVALID_RESPONSE);
|
|
323
|
+
}
|
|
324
|
+
};
|
|
325
|
+
xhr.send();
|
|
326
|
+
});
|
|
327
|
+
};
|
|
328
|
+
var uploadFile = function uploadFile(uploadFileXHR, formData) {
|
|
329
|
+
return new Promise(function (resolve, reject) {
|
|
330
|
+
uploadFileXHR.open('POST', 'https://upload.imagekit.io/api/v1/files/upload');
|
|
331
|
+
uploadFileXHR.onerror = function (e) {
|
|
332
|
+
return reject(errorMessages.UPLOAD_ENDPOINT_NETWORK_ERROR);
|
|
333
|
+
};
|
|
334
|
+
uploadFileXHR.onload = function () {
|
|
335
|
+
if (uploadFileXHR.status === 200) {
|
|
336
|
+
try {
|
|
337
|
+
var body = JSON.parse(uploadFileXHR.responseText);
|
|
338
|
+
var uploadResponse = addResponseHeadersAndBody(body, uploadFileXHR);
|
|
339
|
+
return resolve(uploadResponse);
|
|
340
|
+
} catch (ex) {
|
|
341
|
+
return reject(ex);
|
|
342
|
+
}
|
|
343
|
+
} else {
|
|
344
|
+
try {
|
|
345
|
+
var body = JSON.parse(uploadFileXHR.responseText);
|
|
346
|
+
var uploadError = addResponseHeadersAndBody(body, uploadFileXHR);
|
|
347
|
+
return reject(uploadError);
|
|
348
|
+
} catch (ex) {
|
|
349
|
+
return reject(ex);
|
|
350
|
+
}
|
|
351
|
+
}
|
|
352
|
+
};
|
|
353
|
+
uploadFileXHR.send(formData);
|
|
354
|
+
});
|
|
355
|
+
};
|
|
356
|
+
|
|
357
|
+
var upload = function upload(xhr, uploadOptions, options, callback) {
|
|
358
|
+
if (!uploadOptions.file) {
|
|
359
|
+
respond(true, errorMessages.MISSING_UPLOAD_FILE_PARAMETER, callback);
|
|
360
|
+
return;
|
|
361
|
+
}
|
|
362
|
+
if (!uploadOptions.fileName) {
|
|
363
|
+
respond(true, errorMessages.MISSING_UPLOAD_FILENAME_PARAMETER, callback);
|
|
364
|
+
return;
|
|
365
|
+
}
|
|
366
|
+
if (!options.authenticationEndpoint) {
|
|
367
|
+
respond(true, errorMessages.MISSING_AUTHENTICATION_ENDPOINT, callback);
|
|
368
|
+
return;
|
|
369
|
+
}
|
|
370
|
+
if (!options.publicKey) {
|
|
371
|
+
respond(true, errorMessages.MISSING_PUBLIC_KEY, callback);
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
var formData = new FormData();
|
|
375
|
+
var key;
|
|
376
|
+
for (key in uploadOptions) {
|
|
377
|
+
if (key) {
|
|
378
|
+
if (key === "file" && typeof uploadOptions.file != "string") {
|
|
379
|
+
formData.append('file', uploadOptions.file, String(uploadOptions.fileName));
|
|
380
|
+
} else if (key === "tags" && Array.isArray(uploadOptions.tags)) {
|
|
381
|
+
formData.append('tags', uploadOptions.tags.join(","));
|
|
382
|
+
} else if (key === "responseFields" && Array.isArray(uploadOptions.responseFields)) {
|
|
383
|
+
formData.append('responseFields', uploadOptions.responseFields.join(","));
|
|
384
|
+
} else if (key === "extensions" && Array.isArray(uploadOptions.extensions)) {
|
|
385
|
+
formData.append('extensions', JSON.stringify(uploadOptions.extensions));
|
|
386
|
+
} else if (key === "customMetadata" && _typeof(uploadOptions.customMetadata) === "object" && !Array.isArray(uploadOptions.customMetadata) && uploadOptions.customMetadata !== null) {
|
|
387
|
+
formData.append('customMetadata', JSON.stringify(uploadOptions.customMetadata));
|
|
388
|
+
} else if (uploadOptions[key] !== undefined) {
|
|
389
|
+
formData.append(key, String(uploadOptions[key]));
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
}
|
|
393
|
+
formData.append("publicKey", options.publicKey);
|
|
394
|
+
request(xhr, formData, _objectSpread2(_objectSpread2({}, options), {}, {
|
|
395
|
+
authenticationEndpoint: options.authenticationEndpoint
|
|
396
|
+
}), callback);
|
|
397
|
+
};
|
|
398
|
+
|
|
399
|
+
var supportedTransforms = {
|
|
400
|
+
width: "w",
|
|
401
|
+
height: "h",
|
|
402
|
+
aspectRatio: "ar",
|
|
403
|
+
quality: "q",
|
|
404
|
+
crop: "c",
|
|
405
|
+
cropMode: "cm",
|
|
406
|
+
focus: "fo",
|
|
407
|
+
x: "x",
|
|
408
|
+
y: "y",
|
|
409
|
+
format: "f",
|
|
410
|
+
radius: "r",
|
|
411
|
+
background: "bg",
|
|
412
|
+
border: "b",
|
|
413
|
+
rotation: "rt",
|
|
414
|
+
rotate: "rt",
|
|
415
|
+
blur: "bl",
|
|
416
|
+
named: "n",
|
|
417
|
+
overlayImage: "oi",
|
|
418
|
+
overlayImageAspectRatio: "oiar",
|
|
419
|
+
overlayImageBackground: "oibg",
|
|
420
|
+
overlayImageBorder: "oib",
|
|
421
|
+
overlayImageDPR: "oidpr",
|
|
422
|
+
overlayImageQuality: "oiq",
|
|
423
|
+
overlayImageCropping: "oic",
|
|
424
|
+
overlayImageTrim: "oit",
|
|
425
|
+
overlayX: "ox",
|
|
426
|
+
overlayY: "oy",
|
|
427
|
+
overlayFocus: "ofo",
|
|
428
|
+
overlayHeight: "oh",
|
|
429
|
+
overlayWidth: "ow",
|
|
430
|
+
overlayText: "ot",
|
|
431
|
+
overlayTextFontSize: "ots",
|
|
432
|
+
overlayTextFontFamily: "otf",
|
|
433
|
+
overlayTextColor: "otc",
|
|
434
|
+
overlayTextTransparency: "oa",
|
|
435
|
+
overlayAlpha: "oa",
|
|
436
|
+
overlayTextTypography: "ott",
|
|
437
|
+
overlayBackground: "obg",
|
|
438
|
+
overlayTextEncoded: "ote",
|
|
439
|
+
overlayTextWidth: "otw",
|
|
440
|
+
overlayTextBackground: "otbg",
|
|
441
|
+
overlayTextPadding: "otp",
|
|
442
|
+
overlayTextInnerAlignment: "otia",
|
|
443
|
+
overlayRadius: "or",
|
|
444
|
+
progressive: "pr",
|
|
445
|
+
lossless: "lo",
|
|
446
|
+
trim: "t",
|
|
447
|
+
metadata: "md",
|
|
448
|
+
colorProfile: "cp",
|
|
449
|
+
defaultImage: "di",
|
|
450
|
+
dpr: "dpr",
|
|
451
|
+
effectSharpen: "e-sharpen",
|
|
452
|
+
effectUSM: "e-usm",
|
|
453
|
+
effectContrast: "e-contrast",
|
|
454
|
+
effectGray: "e-grayscale",
|
|
455
|
+
original: "orig",
|
|
456
|
+
raw: "raw"
|
|
457
|
+
};
|
|
458
|
+
|
|
459
|
+
var DEFAULT_TRANSFORMATION_POSITION = "path";
|
|
460
|
+
var QUERY_TRANSFORMATION_POSITION = "query";
|
|
461
|
+
var VALID_TRANSFORMATION_POSITIONS = [DEFAULT_TRANSFORMATION_POSITION, QUERY_TRANSFORMATION_POSITION];
|
|
462
|
+
var CHAIN_TRANSFORM_DELIMITER = ":";
|
|
463
|
+
var TRANSFORM_DELIMITER = ",";
|
|
464
|
+
var TRANSFORM_KEY_VALUE_DELIMITER = "-";
|
|
465
|
+
var transformationUtils = {
|
|
466
|
+
getDefault: function getDefault() {
|
|
467
|
+
return DEFAULT_TRANSFORMATION_POSITION;
|
|
468
|
+
},
|
|
469
|
+
addAsQueryParameter: function addAsQueryParameter(options) {
|
|
470
|
+
return options.transformationPosition === QUERY_TRANSFORMATION_POSITION;
|
|
471
|
+
},
|
|
472
|
+
validParameters: function validParameters(options) {
|
|
473
|
+
if (typeof options.transformationPosition == "undefined") return false;
|
|
474
|
+
return VALID_TRANSFORMATION_POSITIONS.indexOf(options.transformationPosition) != -1;
|
|
475
|
+
},
|
|
476
|
+
getTransformKey: function getTransformKey(transform) {
|
|
477
|
+
if (!transform) {
|
|
478
|
+
return "";
|
|
479
|
+
}
|
|
480
|
+
return supportedTransforms[transform] || supportedTransforms[transform.toLowerCase()] || "";
|
|
481
|
+
},
|
|
482
|
+
getChainTransformDelimiter: function getChainTransformDelimiter() {
|
|
483
|
+
return CHAIN_TRANSFORM_DELIMITER;
|
|
484
|
+
},
|
|
485
|
+
getTransformDelimiter: function getTransformDelimiter() {
|
|
486
|
+
return TRANSFORM_DELIMITER;
|
|
487
|
+
},
|
|
488
|
+
getTransformKeyValueDelimiter: function getTransformKeyValueDelimiter() {
|
|
489
|
+
return TRANSFORM_KEY_VALUE_DELIMITER;
|
|
490
|
+
}
|
|
491
|
+
};
|
|
492
|
+
|
|
493
|
+
var TRANSFORMATION_PARAMETER = "tr";
|
|
494
|
+
function removeTrailingSlash(str) {
|
|
495
|
+
if (typeof str == "string" && str[str.length - 1] == "/") {
|
|
496
|
+
str = str.substring(0, str.length - 1);
|
|
497
|
+
}
|
|
498
|
+
return str;
|
|
499
|
+
}
|
|
500
|
+
function removeLeadingSlash(str) {
|
|
501
|
+
if (typeof str == "string" && str[0] == "/") {
|
|
502
|
+
str = str.slice(1);
|
|
503
|
+
}
|
|
504
|
+
return str;
|
|
505
|
+
}
|
|
506
|
+
function pathJoin(parts, sep) {
|
|
507
|
+
var separator = sep || "/";
|
|
508
|
+
var replace = new RegExp(separator + "{1,}", "g");
|
|
509
|
+
return parts.join(separator).replace(replace, separator);
|
|
510
|
+
}
|
|
511
|
+
var buildURL = function buildURL(opts) {
|
|
512
|
+
if (!opts.path && !opts.src) {
|
|
513
|
+
return "";
|
|
514
|
+
}
|
|
515
|
+
var urlObj, isSrcParameterUsedForURL, urlEndpointPattern;
|
|
516
|
+
try {
|
|
517
|
+
if (opts.path) {
|
|
518
|
+
urlEndpointPattern = new URL(opts.urlEndpoint).pathname;
|
|
519
|
+
urlObj = new URL(pathJoin([opts.urlEndpoint.replace(urlEndpointPattern, ""), opts.path]));
|
|
520
|
+
} else {
|
|
521
|
+
urlObj = new URL(opts.src);
|
|
522
|
+
isSrcParameterUsedForURL = true;
|
|
523
|
+
}
|
|
524
|
+
} catch (e) {
|
|
525
|
+
console.error(e);
|
|
526
|
+
return "";
|
|
527
|
+
}
|
|
528
|
+
for (var i in opts.queryParameters) {
|
|
529
|
+
urlObj.searchParams.append(i, String(opts.queryParameters[i]));
|
|
530
|
+
}
|
|
531
|
+
var transformationString = constructTransformationString(opts.transformation);
|
|
532
|
+
if (transformationString && transformationString.length) {
|
|
533
|
+
if (transformationUtils.addAsQueryParameter(opts) || isSrcParameterUsedForURL) {
|
|
534
|
+
urlObj.searchParams.append(TRANSFORMATION_PARAMETER, transformationString);
|
|
535
|
+
} else {
|
|
536
|
+
urlObj.pathname = pathJoin([TRANSFORMATION_PARAMETER + transformationUtils.getChainTransformDelimiter() + transformationString, urlObj.pathname]);
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
if (urlEndpointPattern) {
|
|
540
|
+
urlObj.pathname = pathJoin([urlEndpointPattern, urlObj.pathname]);
|
|
541
|
+
} else {
|
|
542
|
+
urlObj.pathname = pathJoin([urlObj.pathname]);
|
|
543
|
+
}
|
|
544
|
+
return urlObj.href;
|
|
545
|
+
};
|
|
546
|
+
function constructTransformationString(transformation) {
|
|
547
|
+
if (!Array.isArray(transformation)) {
|
|
548
|
+
return "";
|
|
549
|
+
}
|
|
550
|
+
var parsedTransforms = [];
|
|
551
|
+
for (var i = 0, l = transformation.length; i < l; i++) {
|
|
552
|
+
var parsedTransformStep = [];
|
|
553
|
+
for (var key in transformation[i]) {
|
|
554
|
+
var transformKey = transformationUtils.getTransformKey(key);
|
|
555
|
+
if (!transformKey) {
|
|
556
|
+
transformKey = key;
|
|
557
|
+
}
|
|
558
|
+
if (transformation[i][key] === "-") {
|
|
559
|
+
parsedTransformStep.push(transformKey);
|
|
560
|
+
} else if (key === "raw") {
|
|
561
|
+
parsedTransformStep.push(transformation[i][key]);
|
|
562
|
+
} else {
|
|
563
|
+
var value = transformation[i][key];
|
|
564
|
+
if (transformKey === "oi" || transformKey === "di") {
|
|
565
|
+
value = removeTrailingSlash(removeLeadingSlash(value || ""));
|
|
566
|
+
value = value.replace(/\//g, "@@");
|
|
567
|
+
}
|
|
568
|
+
parsedTransformStep.push([transformKey, value].join(transformationUtils.getTransformKeyValueDelimiter()));
|
|
569
|
+
}
|
|
570
|
+
}
|
|
571
|
+
parsedTransforms.push(parsedTransformStep.join(transformationUtils.getTransformDelimiter()));
|
|
572
|
+
}
|
|
573
|
+
return parsedTransforms.join(transformationUtils.getChainTransformDelimiter());
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
var url = function url(urlOpts, defaultOptions) {
|
|
577
|
+
return buildURL(_objectSpread2(_objectSpread2({}, defaultOptions), urlOpts));
|
|
578
|
+
};
|
|
579
|
+
|
|
580
|
+
function mandatoryParametersAvailable(options) {
|
|
581
|
+
return options.urlEndpoint;
|
|
582
|
+
}
|
|
583
|
+
var promisify = function promisify(thisContext, fn) {
|
|
584
|
+
return function () {
|
|
585
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
586
|
+
args[_key] = arguments[_key];
|
|
587
|
+
}
|
|
588
|
+
if (args.length === fn.length && typeof args[args.length - 1] !== "undefined") {
|
|
589
|
+
if (typeof args[args.length - 1] !== "function") {
|
|
590
|
+
throw new Error("Callback must be a function.");
|
|
591
|
+
}
|
|
592
|
+
fn.call.apply(fn, [thisContext].concat(args));
|
|
593
|
+
} else {
|
|
594
|
+
return new Promise(function (resolve, reject) {
|
|
595
|
+
var callback = function callback(err) {
|
|
596
|
+
if (err) {
|
|
597
|
+
return reject(err);
|
|
598
|
+
} else {
|
|
599
|
+
for (var _len2 = arguments.length, results = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {
|
|
600
|
+
results[_key2 - 1] = arguments[_key2];
|
|
601
|
+
}
|
|
602
|
+
resolve(results.length > 1 ? results : results[0]);
|
|
603
|
+
}
|
|
604
|
+
};
|
|
605
|
+
args.pop();
|
|
606
|
+
args.push(callback);
|
|
607
|
+
fn.call.apply(fn, [thisContext].concat(args));
|
|
608
|
+
});
|
|
609
|
+
}
|
|
610
|
+
};
|
|
611
|
+
};
|
|
612
|
+
var ImageKit = function () {
|
|
613
|
+
function ImageKit(opts) {
|
|
614
|
+
_classCallCheck(this, ImageKit);
|
|
615
|
+
_defineProperty(this, "options", {
|
|
616
|
+
sdkVersion: "javascript-".concat(version),
|
|
617
|
+
publicKey: "",
|
|
618
|
+
urlEndpoint: "",
|
|
619
|
+
transformationPosition: transformationUtils.getDefault()
|
|
620
|
+
});
|
|
621
|
+
this.options = _objectSpread2(_objectSpread2({}, this.options), opts || {});
|
|
622
|
+
if (!mandatoryParametersAvailable(this.options)) {
|
|
623
|
+
throw errorMessages.MANDATORY_INITIALIZATION_MISSING;
|
|
624
|
+
}
|
|
625
|
+
if (!transformationUtils.validParameters(this.options)) {
|
|
626
|
+
throw errorMessages.INVALID_TRANSFORMATION_POSITION;
|
|
627
|
+
}
|
|
628
|
+
}
|
|
629
|
+
_createClass(ImageKit, [{
|
|
630
|
+
key: "url",
|
|
631
|
+
value: function url$1(urlOptions) {
|
|
632
|
+
return url(urlOptions, this.options);
|
|
633
|
+
}
|
|
634
|
+
}, {
|
|
635
|
+
key: "upload",
|
|
636
|
+
value: function upload$1(uploadOptions, callbackOrOptions, options) {
|
|
637
|
+
var callback;
|
|
638
|
+
if (typeof callbackOrOptions === 'function') {
|
|
639
|
+
callback = callbackOrOptions;
|
|
640
|
+
} else {
|
|
641
|
+
options = callbackOrOptions || {};
|
|
642
|
+
}
|
|
643
|
+
if (!uploadOptions || _typeof(uploadOptions) !== "object") {
|
|
644
|
+
return respond(true, errorMessages.INVALID_UPLOAD_OPTIONS, callback);
|
|
645
|
+
}
|
|
646
|
+
var mergedOptions = _objectSpread2(_objectSpread2({}, this.options), options);
|
|
647
|
+
var _ref = uploadOptions || {},
|
|
648
|
+
userProvidedXHR = _ref.xhr;
|
|
649
|
+
delete uploadOptions.xhr;
|
|
650
|
+
var xhr = userProvidedXHR || new XMLHttpRequest();
|
|
651
|
+
return promisify(this, upload)(xhr, uploadOptions, mergedOptions, callback);
|
|
652
|
+
}
|
|
653
|
+
}]);
|
|
654
|
+
return ImageKit;
|
|
655
|
+
}();
|
|
656
|
+
|
|
657
|
+
var IS_DEVELOPMENT_OR_HEROKU_ENV = process.env.RAILS_ENV === "development" || process.env.RAILS_ENV === "heroku";
|
|
658
|
+
|
|
659
|
+
exports.IS_DEVELOPMENT_OR_HEROKU_ENV = IS_DEVELOPMENT_OR_HEROKU_ENV;
|
|
660
|
+
exports.ImageKit = ImageKit;
|
|
661
|
+
exports._defineProperty = _defineProperty$1;
|
|
662
|
+
exports._slicedToArray = _slicedToArray;
|
|
663
|
+
//# sourceMappingURL=index-7f064861.js.map
|