@uploadcare/file-uploader 1.17.3-alpha.1 → 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.
@@ -1 +1 @@
1
- {"version":3,"file":"UploaderBlock.d.ts","sourceRoot":"","sources":["UploaderBlock.js"],"names":[],"mappings":"AAmBA;IACE,iBAAiB;IACjB,mCAAwB;IAExB,eAAe;IACf,mBAAmB;IAEnB;;;;;;;;;;;;;;MAA+B;IAE/B,eAAe;IACf,0BAOC;IA2BD;;;OAGG;IACH,mCAHa,iBAAiB,CAQ7B;IAED,mCAAmC;IACnC,WADc,iBAAiB,CAM9B;IAED,4BAEC;IAED,2DAA2D;IAC3D,wBADc,eAAe,CAAC,OAAO,iBAAiB,CAAC,CAMtD;IAkBD,eAAe;IACf,qBAkBC;IAfC,eAAe;IACf,6BAAiG;IAEjG,eAAe;IACf,uCAEC;IAWH;;;OAGG;IACH,qBAkBC;IAED,eAAe;IACf,0BAYQ;IAER;;;OAGG;IACH,gCAkCE;IAEF;;;OAGG;IACH,0CA6FE;IAEF,eAAe;IACf,mCAsBE;IAEF,6BAiBC;IAED,eAAe;IACf,uBAkDC;IAED;;;OAGG;IACH,kCAHW,MAAM,qEAWhB;IAED;;;OAGG;IACH,oCAHa,OAAO,CAAC,OAAO,2BAA2B,EAAE,eAAe,CAAC,CA2BxE;IAED,kEAAkE;IAClE,iBADc,OAAO,sBAAsB,EAAE,eAAe,EAAE,CAK7D;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAvc6B,oBAAoB;qCAWb,2BAA2B;kCAG9B,wBAAwB;kCADxB,wBAAwB;gCAD1B,sBAAsB;kCAGpB,wBAAwB"}
1
+ {"version":3,"file":"UploaderBlock.d.ts","sourceRoot":"","sources":["UploaderBlock.js"],"names":[],"mappings":"AAmBA;IACE,iBAAiB;IACjB,mCAAwB;IAExB,eAAe;IACf,mBAAmB;IAEnB;;;;;;;;;;;;;;MAA+B;IAE/B,eAAe;IACf,0BAOC;IA2BD;;;OAGG;IACH,mCAHa,iBAAiB,CAQ7B;IAED,mCAAmC;IACnC,WADc,iBAAiB,CAM9B;IAED,4BAEC;IAED,2DAA2D;IAC3D,wBADc,eAAe,CAAC,OAAO,iBAAiB,CAAC,CAMtD;IAkBD,eAAe;IACf,qBAkBC;IAfC,eAAe;IACf,6BAAiG;IAEjG,eAAe;IACf,uCAEC;IAWH;;;OAGG;IACH,qBAkBC;IAED,eAAe;IACf,0BAYQ;IAER;;;OAGG;IACH,gCAkCE;IAEF;;;OAGG;IACH,0CA6FE;IAEF,eAAe;IACf,mCAsBE;IAEF,6BAiBC;IAED,eAAe;IACf,uBAkDC;IAED;;;OAGG;IACH,kCAHW,MAAM,qEAWhB;IAED;;;OAGG;IACH,oCAHa,OAAO,CAAC,OAAO,2BAA2B,EAAE,eAAe,CAAC,CA4BxE;IAED,kEAAkE;IAClE,iBADc,OAAO,sBAAsB,EAAE,eAAe,EAAE,CAK7D;CACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8BAxc6B,oBAAoB;qCAWb,2BAA2B;kCAG9B,wBAAwB;kCADxB,wBAAwB;gCAD1B,sBAAsB;kCAGpB,wBAAwB"}
@@ -437,6 +437,7 @@ export class UploaderBlock extends ActivityBlock {
437
437
  secureSignature: secureToken?.secureSignature,
438
438
  secureExpire: secureToken?.secureExpire,
439
439
  retryThrottledRequestMaxTimes: this.cfg.retryThrottledRequestMaxTimes,
440
+ retryNetworkErrorMaxTimes: this.cfg.retryNetworkErrorMaxTimes,
440
441
  multipartMinFileSize: this.cfg.multipartMinFileSize,
441
442
  multipartChunkSize: this.cfg.multipartChunkSize,
442
443
  maxConcurrentRequests: this.cfg.multipartMaxConcurrentRequests,
@@ -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;qBA8NY,OAAO,2BAA2B,EAAE,UAAU,CAAC,OAAO,WAAW,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC;AAAlH,6HAA6H;AAG7H,qBAAiC,MAAM,CAA4C;AApMnF;IAkBE;;;;OAIG;IACH,+BAYC;IAED;;;;OAIG;IACH,2BAQC;IAED;;;;OAIG;IACH,kBAwBC;IAED;;;OAGG;IACH,kBAIC;IAED;;;;OAIG;IACH,wCAJW,MAAM,iBACN,OAAO,aACP,OAAO,QAoBjB;IAgDD;;;;OAIG;IACH,+BAJW,MAAM,OAAO,gBAAgB,UAC7B,MAAM,UACN,MAAM,QAahB;CACF;sBAtPqB,yBAAyB;AAwD/C,0CAA0C;AAC1C,gCAAoC,MAAM,CAAC,MAAM,OAAO,aAAa,EAAE,oBAAoB,EAAE,MAAM,CAAC,CAGjG"}
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"}
@@ -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;AACvE,+CAAgD,qBAAqB,CAAC;AAEtE,wDAAwD;AACxD,4BADW,OAAO,sBAAsB,EAAE,UAAU,CA6ElD"}
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,13 +41,13 @@ 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: '',
49
47
  secureExpire: '',
50
48
  secureDeliveryProxy: '',
51
49
  retryThrottledRequestMaxTimes: 10,
50
+ retryNetworkErrorMaxTimes: 3,
52
51
  multipartMinFileSize: 26214400,
53
52
  multipartChunkSize: 5242880,
54
53
  maxConcurrentRequests: 10,
@@ -56,13 +56,13 @@ const mapping = {
56
56
 
57
57
  remoteTabSessionKey: asString,
58
58
  cdnCname: asString,
59
- cdnCnamePrefixed: asString,
60
59
  baseUrl: asString,
61
60
  socialBaseUrl: asString,
62
61
  secureSignature: asString,
63
62
  secureExpire: asString,
64
63
  secureDeliveryProxy: asString,
65
64
  retryThrottledRequestMaxTimes: asNumber,
65
+ retryNetworkErrorMaxTimes: asNumber,
66
66
  multipartMinFileSize: asNumber,
67
67
  multipartChunkSize: asNumber,
68
68
  maxConcurrentRequests: asNumber,
@@ -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
- setValue: <TSetValue extends keyof import("../../types").ConfigType>(key: TSetValue, value: import("../../types").ConfigType[TSetValue]) => void;
4
- getValue: <TGetValue extends keyof import("../../types").ConfigType>(key: TGetValue) => import("../../types").ConfigType[TGetValue];
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":"AAsFO,+BAZ+C,CAAC,SAA1C,MAAO,OAAO,aAAa,EAAE,UAAW,+BAC1C;IACN,GAAG,EAAE,CAAC,CAAC;IACP,QAAQ,EAAE,CAAC,SAAS,SAAS,MAAM,OAAO,aAAa,EAAE,UAAU,EACjE,GAAG,EAAE,SAAS,EACd,KAAK,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,KAC/C,IAAI,CAAC;IACV,QAAQ,EAAE,CAAC,SAAS,SAAS,MAAM,OAAO,aAAa,EAAE,UAAU,EACjE,GAAG,EAAE,SAAS,KACX,OAAO,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC;CAClD,QAiCH;wCA9GqD,IAAI,SAA7C,MAAO,OAAO,aAAa,EAAE,UAAW,EACkB,KAAK,SAA9D,OAAO,CAAC,MAAM,OAAO,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,EAAG;SAExD,IAAI;UACJ,KAAK;QACL,CACT,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC,GAAG,GAC1D,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,OAAO,aAAa,EAAE,UAAU,CAAC,CAAC,CAAC,GAC1D,KACE,OAAO,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,aAAa,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC"}
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,118 +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
- * setValue: <TSetValue extends keyof import('../../types').ConfigType>(
79
- * key: TSetValue,
80
- * value: import('../../types').ConfigType[TSetValue],
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
- for (const computed of COMPUTED_PROPERTIES) {
89
- if (computed.deps.includes(key)) {
90
- const args = {
91
- [computed.key]: getValue(computed.key),
92
- ...computed.deps.reduce(
93
- (acc, dep) => ({
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
- // There could be a race condition here if the value is changed too frequently,
107
- // but we assume that the async computed properties are not expected to change often
108
- result
109
- .then((resolvedValue) => setValue(computed.key, resolvedValue))
110
- .catch((error) => {
111
- console.error(`Failed to compute value for "${computed.key}"`, error);
112
- });
113
- } else {
114
- setValue(computed.key, result);
115
- }
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');
116
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));
117
31
  }
118
32
  };
package/env.d.ts CHANGED
@@ -1,4 +1,4 @@
1
1
  /** Do not edit this file manually. It's generated during build process. */
2
2
  export const PACKAGE_NAME: "blocks";
3
- export const PACKAGE_VERSION: "1.17.2";
3
+ export const PACKAGE_VERSION: "1.18.0";
4
4
  //# sourceMappingURL=env.d.ts.map
package/env.js CHANGED
@@ -1,3 +1,3 @@
1
1
  /** Do not edit this file manually. It's generated during build process. */
2
2
  export const PACKAGE_NAME = 'blocks';
3
- export const PACKAGE_VERSION = '1.17.2';
3
+ export const PACKAGE_VERSION = '1.18.0';
package/index.ssr.d.ts CHANGED
@@ -550,7 +550,7 @@ export namespace ModalEvents {
550
550
  let DESTROY: string;
551
551
  }
552
552
  export const PACKAGE_NAME: "blocks";
553
- export const PACKAGE_VERSION: "1.17.2";
553
+ export const PACKAGE_VERSION: "1.18.0";
554
554
  export const PresenceToggle: {
555
555
  new (): {};
556
556
  template: string;
package/index.ssr.js CHANGED
@@ -357,13 +357,13 @@ 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",
364
363
  "secure-expire",
365
364
  "secure-delivery-proxy",
366
365
  "retry-throttled-request-max-times",
366
+ "retry-network-error-max-times",
367
367
  "multipart-min-file-size",
368
368
  "multipart-chunk-size",
369
369
  "max-concurrent-requests",
@@ -409,13 +409,13 @@ export const Config = class {
409
409
  "sourcelistwrap",
410
410
  "remotetabsessionkey",
411
411
  "cdncname",
412
- "cdncnameprefixed",
413
412
  "baseurl",
414
413
  "socialbaseurl",
415
414
  "securesignature",
416
415
  "secureexpire",
417
416
  "securedeliveryproxy",
418
417
  "retrythrottledrequestmaxtimes",
418
+ "retrynetworkerrormaxtimes",
419
419
  "multipartminfilesize",
420
420
  "multipartchunksize",
421
421
  "maxconcurrentrequests",
@@ -1068,7 +1068,7 @@ export const ModalEvents = {
1068
1068
  DESTROY: "modal:destroy",
1069
1069
  };
1070
1070
  export const PACKAGE_NAME = `blocks`;
1071
- export const PACKAGE_VERSION = `1.17.2`;
1071
+ export const PACKAGE_VERSION = `1.18.0`;
1072
1072
  export const PresenceToggle = class {
1073
1073
  static template = `<slot></slot> `;
1074
1074
  static reg = () => {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@uploadcare/file-uploader",
3
- "version": "1.17.3-alpha.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"
@@ -142,11 +142,6 @@ export type ConfigType = {
142
142
  * Set custom CNAME.
143
143
  */
144
144
  cdnCname: string;
145
-
146
- /**
147
- * Set CNAME base domain for prefixed CDN URLs.
148
- */
149
- cdnCnamePrefixed: string;
150
145
  /**
151
146
  * Set a custom upload URL.
152
147
  */
@@ -171,6 +166,10 @@ export type ConfigType = {
171
166
  * Maximum number of retry attempts for throttled requests.
172
167
  */
173
168
  retryThrottledRequestMaxTimes: number;
169
+ /**
170
+ * Maximum number of retry attempts for network errors.
171
+ */
172
+ retryNetworkErrorMaxTimes: number;
174
173
  /**
175
174
  * Minimum file size for multipart uploads.
176
175
  */