@uploadcare/file-uploader 1.17.3-alpha.2 → 1.18.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/blocks/Config/Config.d.ts.map +1 -1
- package/blocks/Config/Config.js +1 -6
- package/blocks/Config/initialConfig.d.ts +0 -1
- package/blocks/Config/initialConfig.d.ts.map +1 -1
- package/blocks/Config/initialConfig.js +0 -2
- package/blocks/Config/normalizeConfigValue.d.ts.map +1 -1
- package/blocks/Config/normalizeConfigValue.js +0 -1
- package/blocks/Config/side-effects.d.ts +4 -8
- package/blocks/Config/side-effects.d.ts.map +1 -1
- package/blocks/Config/side-effects.js +21 -111
- package/index.ssr.d.ts.map +1 -1
- package/index.ssr.js +0 -2
- package/package.json +1 -2
- package/types/exported.d.ts +0 -5
- package/web/file-uploader.iife.min.js +4 -4
- package/web/file-uploader.min.js +4 -4
- package/web/uc-cloud-image-editor.min.js +4 -4
- package/web/uc-file-uploader-inline.min.js +4 -4
- package/web/uc-file-uploader-minimal.min.js +4 -4
- package/web/uc-file-uploader-regular.min.js +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["Config.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,gCAXU,CACT,UAAc,EACd,0BAA8B,EAC9B,gCAAoC,EACpC,gCAAoC,EACpC,kBAAsB,EACtB,gBAAoB,EACpB,sBAA0B,EAC1B,sBAA0B,CACvB,CAWF;
|
|
1
|
+
{"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["Config.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,gCAXU,CACT,UAAc,EACd,0BAA8B,EAC9B,gCAAoC,EACpC,gCAAoC,EACpC,kBAAsB,EACtB,gBAAoB,EACpB,sBAA0B,EAC1B,sBAA0B,CACvB,CAWF;qBAyNY,OAAO,2BAA2B,EAAE,UAAU,CAAC,OAAO,WAAW,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC;AAAlH,6HAA6H;AAG7H,qBAAiC,MAAM,CAA4C;AA/LnF;IAkBE;;;;OAIG;IACH,+BAYC;IAED;;;;OAIG;IACH,2BAQC;IAED;;;;OAIG;IACH,kBAyBC;IAED;;;OAGG;IACH,kBAIC;IAED;;;;OAIG;IACH,wCAJW,MAAM,iBACN,OAAO,aACP,OAAO,QAoBjB;IA0CD;;;;OAIG;IACH,+BAJW,MAAM,OAAO,gBAAgB,UAC7B,MAAM,UACN,MAAM,QAahB;CACF;sBAjPqB,yBAAyB;AAwD/C,0CAA0C;AAC1C,gCAAoC,MAAM,CAAC,MAAM,OAAO,aAAa,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAGjG"}
|
package/blocks/Config/Config.js
CHANGED
|
@@ -142,6 +142,7 @@ class ConfigClass extends Block {
|
|
|
142
142
|
runAssertions(this.cfg);
|
|
143
143
|
runSideEffects({
|
|
144
144
|
key,
|
|
145
|
+
value: normalizedValue ?? null,
|
|
145
146
|
setValue: this._setValue.bind(this),
|
|
146
147
|
getValue: this._getValue.bind(this),
|
|
147
148
|
});
|
|
@@ -219,12 +220,6 @@ class ConfigClass extends Block {
|
|
|
219
220
|
return this._getValue(key);
|
|
220
221
|
},
|
|
221
222
|
});
|
|
222
|
-
|
|
223
|
-
runSideEffects({
|
|
224
|
-
key,
|
|
225
|
-
setValue: this._setValue.bind(this),
|
|
226
|
-
getValue: this._getValue.bind(this),
|
|
227
|
-
});
|
|
228
223
|
}
|
|
229
224
|
}
|
|
230
225
|
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export const DEFAULT_CDN_CNAME: "https://ucarecdn.com";
|
|
2
2
|
export const DEFAULT_BASE_URL: "https://upload.uploadcare.com";
|
|
3
3
|
export const DEFAULT_SOCIAL_BASE_URL: "https://social.uploadcare.com";
|
|
4
|
-
export const DEFAULT_PREFIXED_CDN_BASE_DOMAIN: "https://ucarecd.net";
|
|
5
4
|
/** @type {import('../../types/exported').ConfigType} */
|
|
6
5
|
export const initialConfig: import("../../types/exported").ConfigType;
|
|
7
6
|
//# sourceMappingURL=initialConfig.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialConfig.d.ts","sourceRoot":"","sources":["initialConfig.js"],"names":[],"mappings":"AAKA,gCAAiC,sBAAsB,CAAC;AACxD,+BAAgC,+BAA+B,CAAC;AAChE,sCAAuC,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"initialConfig.d.ts","sourceRoot":"","sources":["initialConfig.js"],"names":[],"mappings":"AAKA,gCAAiC,sBAAsB,CAAC;AACxD,+BAAgC,+BAA+B,CAAC;AAChE,sCAAuC,+BAA+B,CAAC;AAEvE,wDAAwD;AACxD,4BADW,OAAO,sBAAsB,EAAE,UAAU,CA6ElD"}
|
|
@@ -6,7 +6,6 @@ import { serializeCsv } from '../utils/comma-separated.js';
|
|
|
6
6
|
export const DEFAULT_CDN_CNAME = 'https://ucarecdn.com';
|
|
7
7
|
export const DEFAULT_BASE_URL = 'https://upload.uploadcare.com';
|
|
8
8
|
export const DEFAULT_SOCIAL_BASE_URL = 'https://social.uploadcare.com';
|
|
9
|
-
export const DEFAULT_PREFIXED_CDN_BASE_DOMAIN = 'https://ucarecd.net';
|
|
10
9
|
|
|
11
10
|
/** @type {import('../../types/exported').ConfigType} */
|
|
12
11
|
export const initialConfig = {
|
|
@@ -42,7 +41,6 @@ export const initialConfig = {
|
|
|
42
41
|
|
|
43
42
|
remoteTabSessionKey: '',
|
|
44
43
|
cdnCname: DEFAULT_CDN_CNAME,
|
|
45
|
-
cdnCnamePrefixed: DEFAULT_PREFIXED_CDN_BASE_DOMAIN,
|
|
46
44
|
baseUrl: DEFAULT_BASE_URL,
|
|
47
45
|
socialBaseUrl: DEFAULT_SOCIAL_BASE_URL,
|
|
48
46
|
secureSignature: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalizeConfigValue.d.ts","sourceRoot":"","sources":["normalizeConfigValue.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"normalizeConfigValue.d.ts","sourceRoot":"","sources":["normalizeConfigValue.js"],"names":[],"mappings":"AAgHO,qCAL+C,CAAC,SAA1C,MAAO,OAAO,aAAa,EAAE,UAAW,OAC1C,CAAC,SACD,OAAO,GACL,OAAO,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,CAa3D"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
export function runSideEffects<T extends keyof import("../../types").ConfigType>({ key, setValue, getValue }: {
|
|
1
|
+
export function runSideEffects<T extends keyof import("../../types").ConfigType>({ key, value, setValue, getValue }: {
|
|
2
2
|
key: T;
|
|
3
|
-
|
|
4
|
-
|
|
3
|
+
value: import("../../types").ConfigType[T];
|
|
4
|
+
setValue: (key: T, value: import("../../types").ConfigType[T]) => void;
|
|
5
|
+
getValue: (key: T) => import("../../types").ConfigType[T];
|
|
5
6
|
}): void;
|
|
6
|
-
export type ComputedPropertyDeclaration<TKey extends keyof import("../../types").ConfigType, TDeps extends Exclude<keyof import("../../types").ConfigType, TKey>[]> = {
|
|
7
|
-
key: TKey;
|
|
8
|
-
deps: TDeps;
|
|
9
|
-
fn: (args: Record<TKey, import("../../types").ConfigType[TKey]> & { [K in TDeps[number]]: import("../../types").ConfigType[K]; }) => import("../../types").ConfigType[TKey] | Promise<import("../../types").ConfigType[TKey]>;
|
|
10
|
-
};
|
|
11
7
|
//# sourceMappingURL=side-effects.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"side-effects.d.ts","sourceRoot":"","sources":["side-effects.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"side-effects.d.ts","sourceRoot":"","sources":["side-effects.js"],"names":[],"mappings":"AAWO,+BAR+C,CAAC,SAA1C,MAAO,OAAO,aAAa,EAAE,UAAW,sCAC1C;IACN,GAAG,EAAE,CAAC,CAAC;IACP,KAAK,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IAC3C,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC;IACvE,QAAQ,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;CAC3D,QAsBH"}
|
|
@@ -1,122 +1,32 @@
|
|
|
1
|
-
// @ts-check
|
|
2
|
-
|
|
3
|
-
import { getPrefixedCdnBase } from '@uploadcare/cname-prefix';
|
|
4
1
|
import { deserializeCsv, serializeCsv } from '../utils/comma-separated.js';
|
|
5
|
-
import { DEFAULT_CDN_CNAME } from './initialConfig.js';
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* @template {keyof import('../../types').ConfigType} TKey
|
|
9
|
-
* @template {Exclude<keyof import('../../types').ConfigType, TKey>[]} TDeps
|
|
10
|
-
* @typedef {Object} ComputedPropertyDeclaration
|
|
11
|
-
* @property {TKey} key
|
|
12
|
-
* @property {TDeps} deps
|
|
13
|
-
* @property {(
|
|
14
|
-
* args: Record<TKey, import('../../types').ConfigType[TKey]> & {
|
|
15
|
-
* [K in TDeps[number]]: import('../../types').ConfigType[K];
|
|
16
|
-
* },
|
|
17
|
-
* ) => import('../../types').ConfigType[TKey] | Promise<import('../../types').ConfigType[TKey]>} fn
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* @template {keyof import('../../types').ConfigType} TKey
|
|
22
|
-
* @template {Exclude<keyof import('../../types').ConfigType, TKey>[]} TDeps
|
|
23
|
-
* @param {ComputedPropertyDeclaration<TKey, TDeps>} declaration
|
|
24
|
-
*/
|
|
25
|
-
function defineComputedProperty(declaration) {
|
|
26
|
-
return declaration;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
const COMPUTED_PROPERTIES = [
|
|
30
|
-
defineComputedProperty({
|
|
31
|
-
key: 'cameraModes',
|
|
32
|
-
deps: ['enableVideoRecording'],
|
|
33
|
-
fn: ({ cameraModes, enableVideoRecording }) => {
|
|
34
|
-
if (enableVideoRecording === null) {
|
|
35
|
-
return cameraModes;
|
|
36
|
-
}
|
|
37
|
-
let cameraModesCsv = deserializeCsv(cameraModes);
|
|
38
|
-
if (enableVideoRecording && !cameraModesCsv.includes('video')) {
|
|
39
|
-
cameraModesCsv = cameraModesCsv.concat('video');
|
|
40
|
-
} else if (!enableVideoRecording) {
|
|
41
|
-
cameraModesCsv = cameraModesCsv.filter((mode) => mode !== 'video');
|
|
42
|
-
}
|
|
43
|
-
return serializeCsv(cameraModesCsv);
|
|
44
|
-
},
|
|
45
|
-
}),
|
|
46
|
-
defineComputedProperty({
|
|
47
|
-
key: 'cameraModes',
|
|
48
|
-
deps: ['defaultCameraMode'],
|
|
49
|
-
fn: ({ cameraModes, defaultCameraMode }) => {
|
|
50
|
-
if (defaultCameraMode === null) {
|
|
51
|
-
return cameraModes;
|
|
52
|
-
}
|
|
53
|
-
let cameraModesCsv = deserializeCsv(cameraModes);
|
|
54
|
-
cameraModesCsv = cameraModesCsv.sort((a, b) => {
|
|
55
|
-
if (a === defaultCameraMode) return -1;
|
|
56
|
-
if (b === defaultCameraMode) return 1;
|
|
57
|
-
return 0;
|
|
58
|
-
});
|
|
59
|
-
return serializeCsv(cameraModesCsv);
|
|
60
|
-
},
|
|
61
|
-
}),
|
|
62
|
-
defineComputedProperty({
|
|
63
|
-
key: 'cdnCname',
|
|
64
|
-
deps: ['pubkey', 'cdnCnamePrefixed'],
|
|
65
|
-
fn: ({ pubkey, cdnCname, cdnCnamePrefixed }) => {
|
|
66
|
-
if (cdnCname !== DEFAULT_CDN_CNAME) {
|
|
67
|
-
return cdnCname;
|
|
68
|
-
}
|
|
69
|
-
return getPrefixedCdnBase(pubkey, cdnCnamePrefixed);
|
|
70
|
-
},
|
|
71
|
-
}),
|
|
72
|
-
];
|
|
73
2
|
|
|
74
3
|
/**
|
|
75
4
|
* @template {keyof import('../../types').ConfigType} T
|
|
76
5
|
* @param {{
|
|
77
6
|
* key: T;
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* ) => void;
|
|
82
|
-
* getValue: <TGetValue extends keyof import('../../types').ConfigType>(
|
|
83
|
-
* key: TGetValue,
|
|
84
|
-
* ) => import('../../types').ConfigType[TGetValue];
|
|
7
|
+
* value: import('../../types').ConfigType[T];
|
|
8
|
+
* setValue: (key: T, value: import('../../types').ConfigType[T]) => void;
|
|
9
|
+
* getValue: (key: T) => import('../../types').ConfigType[T];
|
|
85
10
|
* }} options
|
|
86
11
|
*/
|
|
87
|
-
export const runSideEffects = ({ key, setValue, getValue }) => {
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
...acc,
|
|
95
|
-
[dep]: getValue(dep),
|
|
96
|
-
}),
|
|
97
|
-
/**
|
|
98
|
-
* @type {Record<typeof computed.key, import('../../types').ConfigType[typeof computed.key]> & {
|
|
99
|
-
* [K in (typeof computed.deps)[number]]: import('../../types').ConfigType[K];
|
|
100
|
-
* }}
|
|
101
|
-
*/ ({}),
|
|
102
|
-
),
|
|
103
|
-
};
|
|
104
|
-
const result = computed.fn(args);
|
|
105
|
-
if (result instanceof Promise) {
|
|
106
|
-
const prevValue = getValue(computed.key);
|
|
107
|
-
result
|
|
108
|
-
.then((resolvedValue) => {
|
|
109
|
-
const currentValue = getValue(computed.key);
|
|
110
|
-
if (currentValue === prevValue) {
|
|
111
|
-
setValue(computed.key, resolvedValue);
|
|
112
|
-
}
|
|
113
|
-
})
|
|
114
|
-
.catch((error) => {
|
|
115
|
-
console.error(`Failed to compute value for "${computed.key}"`, error);
|
|
116
|
-
});
|
|
117
|
-
} else {
|
|
118
|
-
setValue(computed.key, result);
|
|
119
|
-
}
|
|
12
|
+
export const runSideEffects = ({ key, value, setValue, getValue }) => {
|
|
13
|
+
if (key === 'enableVideoRecording' && value !== null) {
|
|
14
|
+
let cameraModes = deserializeCsv(getValue('cameraModes'));
|
|
15
|
+
if (value && !cameraModes.includes('video')) {
|
|
16
|
+
cameraModes = cameraModes.concat('video');
|
|
17
|
+
} else if (!value) {
|
|
18
|
+
cameraModes = cameraModes.filter((mode) => mode !== 'video');
|
|
120
19
|
}
|
|
20
|
+
setValue('cameraModes', serializeCsv(cameraModes));
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
if (key === 'defaultCameraMode' && value !== null) {
|
|
24
|
+
let cameraModes = deserializeCsv(getValue('cameraModes'));
|
|
25
|
+
cameraModes = cameraModes.sort((a, b) => {
|
|
26
|
+
if (a === value) return -1;
|
|
27
|
+
if (b === value) return 1;
|
|
28
|
+
return 0;
|
|
29
|
+
});
|
|
30
|
+
setValue('cameraModes', serializeCsv(cameraModes));
|
|
121
31
|
}
|
|
122
32
|
};
|
package/index.ssr.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.ssr.d.ts","sourceRoot":"","sources":["index.ssr.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;EAcE;AACF;;;;;;;;;;;;;;;EAcE;AACF;;;;;EAIE;AACF;;;;;;EAKE;AACF;;;;;;;;EAgBE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6IE;AACF;;;;;;;;EAuCE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;EAuCE;AACF;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.ssr.d.ts","sourceRoot":"","sources":["index.ssr.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;EAcE;AACF;;;;;;;;;;;;;;;EAcE;AACF;;;;;EAIE;AACF;;;;;;EAKE;AACF;;;;;;;;EAgBE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6IE;AACF;;;;;;;;EAuCE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;EAuCE;AACF;;;;;;;EAoHE;AACF;;;;;;;EAaE;AACF;;;;;;;EAME;AACF;;;;;;;;;;;;;;;;EAeE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmEE;AACF;;;;;;;EAWE;AACF;;;;;;;EAWE;AACF;;;;;;;EASE;AACF;;;;;;EAKE;AACF;;;;;;;EAWE;AACF;;;;;;;EAME;AACF;;;;;;;EAWE;AACF;;;;;;;EA2IE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0EE;;;;;;;;;;;;;AAaF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqFE;AACF;;;;;;EAKE;AACF;;;;;;EAKE;AACF;;;;;;;EAME;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;EAWE;AACF;;;;;;EAwBE;AACF;;;;;;;EAUE;AACF;;;;;;;;EAWE;;;;;;;;;AASF,oCAAqC;AACrC,uCAAwC;AACxC;;;;;;;EAME;AACF;;;;;;;EASE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgDE;AACF;;;;;;;EAME;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0DE;AACF;;;;;;;EAeE;AACF;;;;;;EAKE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsDE;AACF;;;;;;EAKE;AACF;;;;;;EAKE;AACF;;;;;;;;;;;;;;;;EAeE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuDE;AACF;;;;;;;;;;;;EAWE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmEE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EE;AACK,yCAAiC;AACjC,qCAA6B;AAC7B,6CAAqC;AACrC,oCAA4B"}
|
package/index.ssr.js
CHANGED
|
@@ -357,7 +357,6 @@ export const Config = class {
|
|
|
357
357
|
"source-list-wrap",
|
|
358
358
|
"remote-tab-session-key",
|
|
359
359
|
"cdn-cname",
|
|
360
|
-
"cdn-cname-prefixed",
|
|
361
360
|
"base-url",
|
|
362
361
|
"social-base-url",
|
|
363
362
|
"secure-signature",
|
|
@@ -410,7 +409,6 @@ export const Config = class {
|
|
|
410
409
|
"sourcelistwrap",
|
|
411
410
|
"remotetabsessionkey",
|
|
412
411
|
"cdncname",
|
|
413
|
-
"cdncnameprefixed",
|
|
414
412
|
"baseurl",
|
|
415
413
|
"socialbaseurl",
|
|
416
414
|
"securesignature",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@uploadcare/file-uploader",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.18.0",
|
|
4
4
|
"description": "Building blocks for Uploadcare products integration",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"web components",
|
|
@@ -141,7 +141,6 @@
|
|
|
141
141
|
"license": "MIT",
|
|
142
142
|
"dependencies": {
|
|
143
143
|
"@symbiotejs/symbiote": "^1.11.7",
|
|
144
|
-
"@uploadcare/cname-prefix": "^6.15.2",
|
|
145
144
|
"@uploadcare/image-shrink": "^6.14.1",
|
|
146
145
|
"@uploadcare/upload-client": "^6.14.1",
|
|
147
146
|
"keyux": "^0.7.1"
|
package/types/exported.d.ts
CHANGED