@uploadcare/file-uploader 1.15.0-alpha.2 → 1.15.0-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/abstract/ActivityBlock.d.ts.map +1 -1
  2. package/abstract/ActivityBlock.js +3 -0
  3. package/abstract/ModalManager.d.ts.map +1 -1
  4. package/abstract/ModalManager.js +1 -0
  5. package/abstract/UploaderBlock.js +1 -1
  6. package/blocks/Config/Config.d.ts +1 -1
  7. package/blocks/Config/Config.d.ts.map +1 -1
  8. package/blocks/Config/initialConfig.js +3 -3
  9. package/blocks/Config/normalizeConfigValue.d.ts +2 -1
  10. package/blocks/Config/normalizeConfigValue.d.ts.map +1 -1
  11. package/blocks/Config/normalizeConfigValue.js +18 -109
  12. package/blocks/Config/validatorsType.d.ts +37 -0
  13. package/blocks/Config/validatorsType.d.ts.map +1 -0
  14. package/blocks/Config/validatorsType.js +134 -0
  15. package/blocks/DropArea/DropArea.d.ts +1 -0
  16. package/blocks/DropArea/DropArea.d.ts.map +1 -1
  17. package/blocks/DropArea/DropArea.js +20 -2
  18. package/blocks/ExternalSource/ExternalSource.d.ts.map +1 -1
  19. package/blocks/ExternalSource/ExternalSource.js +0 -1
  20. package/blocks/FileItem/FileItem.d.ts.map +1 -1
  21. package/blocks/FileItem/FileItem.js +9 -3
  22. package/blocks/FileItem/file-item.css +24 -0
  23. package/blocks/ProgressBar/progress-bar.css +1 -0
  24. package/blocks/SimpleBtn/SimpleBtn.js +1 -1
  25. package/blocks/UploadList/UploadList.d.ts +2 -0
  26. package/blocks/UploadList/UploadList.d.ts.map +1 -1
  27. package/blocks/UploadList/UploadList.js +3 -1
  28. package/index.ssr.d.ts.map +1 -1
  29. package/index.ssr.js +12 -7
  30. package/package.json +1 -1
  31. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts +1 -1
  32. package/solutions/file-uploader/minimal/FileUploaderMinimal.d.ts.map +1 -1
  33. package/solutions/file-uploader/minimal/FileUploaderMinimal.js +30 -8
  34. package/solutions/file-uploader/minimal/index.css +15 -14
  35. package/solutions/file-uploader/minimal/index.d.ts +1 -16
  36. package/solutions/file-uploader/minimal/index.js +1 -18
  37. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts +1 -3
  38. package/solutions/file-uploader/regular/FileUploaderRegular.d.ts.map +1 -1
  39. package/solutions/file-uploader/regular/FileUploaderRegular.js +1 -15
  40. package/types/exported.d.ts +4 -3
  41. package/web/file-uploader.iife.min.js +4 -4
  42. package/web/file-uploader.min.js +4 -4
  43. package/web/uc-basic.min.css +1 -1
  44. package/web/uc-cloud-image-editor.min.js +4 -4
  45. package/web/uc-file-uploader-inline.min.css +1 -1
  46. package/web/uc-file-uploader-inline.min.js +4 -4
  47. package/web/uc-file-uploader-minimal.min.css +1 -1
  48. package/web/uc-file-uploader-minimal.min.js +4 -4
  49. package/web/uc-file-uploader-regular.min.css +1 -1
  50. package/web/uc-file-uploader-regular.min.js +4 -4
@@ -1 +1 @@
1
- {"version":3,"file":"ActivityBlock.d.ts","sourceRoot":"","sources":["ActivityBlock.js"],"names":[],"mappings":"AASA;;;;;GAKG;AAEH;IA+EE;;;;;;OAMG;IACH,kCAAsC;IArFtC,iBAAiB;IACjB,kCAAuB;IAEvB;;;;;;MAA+B;IAE/B;;MAAqE;IAErE,eAAe;IACf,oBAKC;IAED,eAAe;IACf,kBAaC;IA8BD,eAAe;IACf,sBAWC;IAED,eAAe;IACf,8BAEC;IAWD,4CAEC;IAED,iCAEC;IAED;;;;;;;OAOG;IACH;4BAHiB,IAAI;8BACJ,IAAI;yBAQpB;IAED,2BAKC;IAoBD,0BAEC;IAED,yDAAyD;IACzD,oLAEC;IAED,qBAAqB;IACrB,2BAEC;IAED,qBAAqB;IACrB,2BAEC;IAED,oBA4BC;IA7KC,8CAAyB;CA8K5B;;;;;;;;;;;;gCA/LY;IACZ,kBAAsB,EAAE,OAAO,gEAAgE,EAAE,cAAc,CAAC;IAChH,UAAc,OAAO,4CAA4C,EAAE,cAAc,CAAC;CAC/E;qCAwMU,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC;2BAChF,sBAAsB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI;sBAnNrC,YAAY"}
1
+ {"version":3,"file":"ActivityBlock.d.ts","sourceRoot":"","sources":["ActivityBlock.js"],"names":[],"mappings":"AASA;;;;;GAKG;AAEH;IA+EE;;;;;;OAMG;IACH,kCAAsC;IArFtC,iBAAiB;IACjB,kCAAuB;IAEvB;;;;;;MAA+B;IAE/B;;MAAqE;IAErE,eAAe;IACf,oBAKC;IAED,eAAe;IACf,kBAaC;IA8BD,eAAe;IACf,sBAWC;IAED,eAAe;IACf,8BAEC;IAWD,4CAEC;IAED,iCAEC;IAED;;;;;;;OAOG;IACH;4BAHiB,IAAI;8BACJ,IAAI;yBAQpB;IAED,2BAKC;IAoBD,0BAEC;IAED,yDAAyD;IACzD,oLAEC;IAED,qBAAqB;IACrB,2BAEC;IAED,qBAAqB;IACrB,2BAEC;IAED,oBA+BC;IAhLC,8CAAyB;CAiL5B;;;;;;;;;;;;gCAlMY;IACZ,kBAAsB,EAAE,OAAO,gEAAgE,EAAE,cAAc,CAAC;IAChH,UAAc,OAAO,4CAA4C,EAAE,cAAc,CAAC;CAC/E;qCA2MU,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,YAAY,CAAC,CAAC;2BAChF,sBAAsB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,GAAG,IAAI;sBAtNrC,YAAY"}
@@ -187,6 +187,9 @@ export class ActivityBlock extends Block {
187
187
  couldOpenActivity = /** @type {ActivityBlock} */ (nextActivityBlock)?.couldOpenActivity ?? false;
188
188
  }
189
189
 
190
+ // TODO: Возможно стоит обработать поведение activity start-from для minimal mode
191
+ console.log({ nextActivity });
192
+
190
193
  nextActivity = couldOpenActivity ? nextActivity : undefined;
191
194
 
192
195
  if (nextActivity) this.modalManager.open(nextActivity);
@@ -1 +1 @@
1
- {"version":3,"file":"ModalManager.d.ts","sourceRoot":"","sources":["ModalManager.js"],"names":[],"mappings":"AAEA,gCAAgC;AAEhC,oEAAoE;AAEpE;;;;;;;GAOG;AAEH;IAeE,gDAAgD;IAChD,mBADY,OAAO,YAAY,EAAE,KAAK,EAGrC;IAjBD;;;OAGG;IACH,gBAAoB;IAEpB;;;OAGG;IACH,sBAA0B;IAE1B,4BAAyB;IAIvB,mCAAmB;IAGrB;;;OAGG;IACH,oBAEC;IAED;;;;;OAKG;IACH,kBAHW,OAAO,SACP,SAAS,QAInB;IAED,4DAA4D;IAC5D,gBADY,OAAO,WASlB;IAED;;;;;OAKG;IACH,SAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;;OAKG;IACH,UAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;;OAKG;IACH,WAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;OAIG;IACH,+BAEC;IAED;;;;OAIG;IACH,QAFa,OAAO,CAWnB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAQlB;IAED;;;;;;OAMG;IACH,iBAJW,MAAM,YACN,MAAM,IAAI,GACR,MAAM,IAAI,CAStB;IAED;;;;;OAKG;IACH,mBAHW,MAAM,YACN,MAAM,IAAI,QAMpB;IAED;;;;;;;;;;;;OAYG;IACH,gBAUC;IAED,oDAAoD;IACpD,gBAKC;CACF;sBAzNa,MAAM;wBAEN,OAAO,0BAA0B,EAAE,KAAK"}
1
+ {"version":3,"file":"ModalManager.d.ts","sourceRoot":"","sources":["ModalManager.js"],"names":[],"mappings":"AAEA,gCAAgC;AAEhC,oEAAoE;AAEpE;;;;;;;GAOG;AAEH;IAeE,gDAAgD;IAChD,mBADY,OAAO,YAAY,EAAE,KAAK,EAGrC;IAjBD;;;OAGG;IACH,gBAAoB;IAEpB;;;OAGG;IACH,sBAA0B;IAE1B,4BAAyB;IAIvB,mCAAmB;IAGrB;;;OAGG;IACH,oBAEC;IAED;;;;;OAKG;IACH,kBAHW,OAAO,SACP,SAAS,QAKnB;IAED,4DAA4D;IAC5D,gBADY,OAAO,WASlB;IAED;;;;;OAKG;IACH,SAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;;OAKG;IACH,UAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;;OAKG;IACH,WAHW,OAAO,GACL,OAAO,CAanB;IAED;;;;OAIG;IACH,+BAEC;IAED;;;;OAIG;IACH,QAFa,OAAO,CAWnB;IAED;;;;OAIG;IACH,YAFa,MAAM,CAQlB;IAED;;;;;;OAMG;IACH,iBAJW,MAAM,YACN,MAAM,IAAI,GACR,MAAM,IAAI,CAStB;IAED;;;;;OAKG;IACH,mBAHW,MAAM,YACN,MAAM,IAAI,QAMpB;IAED;;;;;;;;;;;;OAYG;IACH,gBAUC;IAED,oDAAoD;IACpD,gBAKC;CACF;sBA1Na,MAAM;wBAEN,OAAO,0BAA0B,EAAE,KAAK"}
@@ -49,6 +49,7 @@ export class ModalManager {
49
49
  */
50
50
  registerModal(id, modal) {
51
51
  this._modals.set(id, modal);
52
+ this._notify(ModalEvents.ADD, { id, modal });
52
53
  }
53
54
 
54
55
  /** @param {ModalId} id - Unique identifier for the modal */
@@ -254,7 +254,7 @@ export class UploaderBlock extends ActivityBlock {
254
254
  this.setInitialCrop();
255
255
  }
256
256
 
257
- if (this.cfg.usePreviewImage) {
257
+ if (this.cfg.cloudImageEditorAutoOpen) {
258
258
  this.openCloudImageEditor();
259
259
  }
260
260
  }
@@ -64,6 +64,6 @@ declare class ConfigClass extends Block {
64
64
  }
65
65
  import { Block } from '../../abstract/Block.js';
66
66
  /** Mapping of attribute names to state */
67
- declare const attrStateMapping: Record<"accept" | "pubkey" | "multiple" | "store" | "debug" | "crop-preset" | "secure-expire" | "max-local-file-size-bytes" | "multiple-min" | "multiple-max" | "confirm-upload" | "img-only" | "external-sources-preferred-types" | "external-sources-embed-css" | "camera-mirror" | "camera-capture" | "source-list" | "thumb-size" | "show-empty-list" | "use-local-image-editor" | "use-cloud-image-editor" | "cloud-image-editor-tabs" | "remove-copyright" | "image-shrink" | "modal-scroll-lock" | "modal-backdrop-strokes" | "source-list-wrap" | "remote-tab-session-key" | "cdn-cname" | "base-url" | "social-base-url" | "secure-signature" | "secure-delivery-proxy" | "retry-throttled-request-max-times" | "multipart-min-file-size" | "multipart-chunk-size" | "max-concurrent-requests" | "multipart-max-concurrent-requests" | "multipart-max-attempts" | "check-for-url-duplicates" | "save-url-for-recurrent-uploads" | "group-output" | "user-agent-integration" | "locale-name" | "secure-uploads-expire-threshold" | "camera-modes" | "default-camera-mode" | "enable-audio-recording" | "enable-video-recording" | "max-video-recording-duration" | "display-upload-list" | "enable-file-name" | "use-preview-image" | "secureexpire" | "croppreset" | "maxlocalfilesizebytes" | "multiplemin" | "multiplemax" | "confirmupload" | "imgonly" | "externalsourcespreferredtypes" | "externalsourcesembedcss" | "cameramirror" | "cameracapture" | "sourcelist" | "thumbsize" | "showemptylist" | "uselocalimageeditor" | "usecloudimageeditor" | "cloudimageeditortabs" | "removecopyright" | "imageshrink" | "modalscrolllock" | "modalbackdropstrokes" | "sourcelistwrap" | "remotetabsessionkey" | "cdncname" | "baseurl" | "socialbaseurl" | "securesignature" | "securedeliveryproxy" | "retrythrottledrequestmaxtimes" | "multipartminfilesize" | "multipartchunksize" | "maxconcurrentrequests" | "multipartmaxconcurrentrequests" | "multipartmaxattempts" | "checkforurlduplicates" | "saveurlforrecurrentuploads" | "groupoutput" | "useragentintegration" | "localename" | "secureuploadsexpirethreshold" | "cameramodes" | "defaultcameramode" | "enableaudiorecording" | "enablevideorecording" | "maxvideorecordingduration" | "displayuploadlist" | "enablefilename" | "usepreviewimage", string>;
67
+ declare const attrStateMapping: Record<"accept" | "pubkey" | "multiple" | "store" | "debug" | "crop-preset" | "secure-expire" | "max-local-file-size-bytes" | "multiple-min" | "multiple-max" | "confirm-upload" | "img-only" | "external-sources-preferred-types" | "external-sources-embed-css" | "camera-mirror" | "camera-capture" | "source-list" | "thumb-size" | "show-empty-list" | "use-local-image-editor" | "use-cloud-image-editor" | "cloud-image-editor-tabs" | "remove-copyright" | "image-shrink" | "modal-scroll-lock" | "modal-backdrop-strokes" | "source-list-wrap" | "remote-tab-session-key" | "cdn-cname" | "base-url" | "social-base-url" | "secure-signature" | "secure-delivery-proxy" | "retry-throttled-request-max-times" | "multipart-min-file-size" | "multipart-chunk-size" | "max-concurrent-requests" | "multipart-max-concurrent-requests" | "multipart-max-attempts" | "check-for-url-duplicates" | "save-url-for-recurrent-uploads" | "group-output" | "user-agent-integration" | "locale-name" | "secure-uploads-expire-threshold" | "camera-modes" | "default-camera-mode" | "enable-audio-recording" | "enable-video-recording" | "max-video-recording-duration" | "files-view-mode" | "grid-show-file-names" | "cloud-image-editor-auto-open" | "secureexpire" | "croppreset" | "maxlocalfilesizebytes" | "multiplemin" | "multiplemax" | "confirmupload" | "imgonly" | "externalsourcespreferredtypes" | "externalsourcesembedcss" | "cameramirror" | "cameracapture" | "sourcelist" | "thumbsize" | "showemptylist" | "uselocalimageeditor" | "usecloudimageeditor" | "cloudimageeditortabs" | "removecopyright" | "imageshrink" | "modalscrolllock" | "modalbackdropstrokes" | "sourcelistwrap" | "remotetabsessionkey" | "cdncname" | "baseurl" | "socialbaseurl" | "securesignature" | "securedeliveryproxy" | "retrythrottledrequestmaxtimes" | "multipartminfilesize" | "multipartchunksize" | "maxconcurrentrequests" | "multipartmaxconcurrentrequests" | "multipartmaxattempts" | "checkforurlduplicates" | "saveurlforrecurrentuploads" | "groupoutput" | "useragentintegration" | "localename" | "secureuploadsexpirethreshold" | "cameramodes" | "defaultcameramode" | "enableaudiorecording" | "enablevideorecording" | "maxvideorecordingduration" | "filesviewmode" | "gridshowfilenames" | "cloudimageeditorautoopen", string>;
68
68
  export {};
69
69
  //# sourceMappingURL=Config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["Config.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,gCAXU;IACT,UAAc;IACd,0BAA8B;IAC9B,gCAAoC;IACpC,gCAAoC;IACpC,kBAAsB;IACtB,gBAAoB;IACpB,sBAA0B;IAC1B,sBAA0B;CACvB,CAWF;qBAyNY,OAAO,2BAA2B,EAAE,UAAU,CAAC,kBAAkB,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC;AAAlH,6HAA6H;AAG7H,4BAAmF;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,uBAAuB,UAC7B,MAAM,UACN,MAAM,QAahB;CACF;sBAjPqB,yBAAyB;AAwD/C,0CAA0C;AAC1C,suEAGG"}
1
+ {"version":3,"file":"Config.d.ts","sourceRoot":"","sources":["Config.js"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,gCAXU;IACT,UAAc;IACd,0BAA8B;IAC9B,gCAAoC;IACpC,gCAAoC;IACpC,kBAAsB;IACtB,gBAAoB;IACpB,sBAA0B;IAC1B,sBAA0B;CACvB,CAWF;qBAyNY,OAAO,2BAA2B,EAAE,UAAU,CAAC,kBAAkB,EAAE,OAAO,aAAa,EAAE,UAAU,CAAC;AAAlH,6HAA6H;AAG7H,4BAAmF;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,uBAAuB,UAC7B,MAAM,UACN,MAAM,QAahB;CACF;sBAjPqB,yBAAyB;AAwD/C,0CAA0C;AAC1C,yvEAGG"}
@@ -75,7 +75,7 @@ export const initialConfig = {
75
75
  maxVideoRecordingDuration: null,
76
76
  mediaRecorderOptions: null,
77
77
 
78
- displayUploadList: 'grid',
79
- enableFileName: false,
80
- usePreviewImage: false,
78
+ filesViewMode: 'grid',
79
+ gridShowFileNames: false,
80
+ cloudImageEditorAutoOpen: false,
81
81
  };
@@ -1,3 +1,4 @@
1
- export function asBoolean(value: unknown): boolean;
2
1
  export function normalizeConfigValue<T extends keyof import("../../types").ConfigType>(key: T, value: unknown): import("../../types").ConfigType[T] | undefined;
2
+ export { asBoolean };
3
+ import { asBoolean } from './validatorsType.js';
3
4
  //# sourceMappingURL=normalizeConfigValue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeConfigValue.d.ts","sourceRoot":"","sources":["normalizeConfigValue.js"],"names":[],"mappings":"AAiBO,iCADK,OAAO,WAWlB;AA4KM,sGAHI,OAAO,mDAcjB"}
1
+ {"version":3,"file":"normalizeConfigValue.d.ts","sourceRoot":"","sources":["normalizeConfigValue.js"],"names":[],"mappings":"AA2GO,sGAHI,OAAO,mDAcjB;;0BAtGM,qBAAqB"}
@@ -1,112 +1,20 @@
1
1
  // @ts-check
2
2
 
3
- import { CameraSourceTypes } from '../CameraSource/constants.js';
4
- import { deserializeCsv } from '../utils/comma-separated.js';
5
3
  import { initialConfig } from './initialConfig.js';
6
-
7
- /** @param {unknown} value */
8
- const asString = (value) => String(value);
9
- /** @param {unknown} value */
10
- const asNumber = (value) => {
11
- const number = Number(value);
12
- if (Number.isNaN(number)) {
13
- throw new Error(`Invalid number: "${value}"`);
14
- }
15
- return number;
16
- };
17
- /** @param {unknown} value */
18
- export const asBoolean = (value) => {
19
- if (typeof value === 'undefined' || value === null) return false;
20
- if (typeof value === 'boolean') return value;
21
- // for attr like multiple="true" (react will pass it as string)
22
- if (value === 'true') return true;
23
- // for attr flags like multiple="" (some other libs will pass it as empty string)
24
- if (value === '') return true;
25
- // for attr like multiple="false" (react will pass it as string)
26
- if (value === 'false') return false;
27
- throw new Error(`Invalid boolean: "${value}"`);
28
- };
29
- /** @param {unknown} value */
30
- const asStore = (value) => (value === 'auto' ? value : asBoolean(value));
31
-
32
- /** @param {unknown} value */
33
- const asCameraCapture = (value) => {
34
- const strValue = asString(value);
35
- if (strValue !== 'user' && strValue !== 'environment' && strValue !== '') {
36
- throw new Error(`Invalid value: "${strValue}"`);
37
- }
38
- return strValue;
39
- };
40
-
41
- /** @param {unknown} value */
42
- const asCameraMode = (value) => {
43
- const strValue = asString(value);
44
- if (!Object.values(CameraSourceTypes).includes(strValue)) {
45
- throw new Error(`Invalid value: "${strValue}"`);
46
- }
47
- return /** @type {import('../CameraSource/CameraSource.js').CameraMode} */ (strValue);
48
- };
49
-
50
- /** @param {unknown} value */
51
- const asCameraModes = (value) => {
52
- const str = asString(value);
53
- const array = deserializeCsv(str);
54
- if (array.some((item) => !Object.values(CameraSourceTypes).includes(item))) {
55
- throw new Error(`Invalid value: "${JSON.stringify(array)}"`);
56
- }
57
- return str;
58
- };
59
-
60
- /** @param {unknown} value */
61
- const asMetadata = (value) => {
62
- if (typeof value === 'object' && !Array.isArray(value)) {
63
- return /** @type {import('../../types').Metadata} */ (value);
64
- }
65
- if (typeof value === 'function') {
66
- return /** @type {import('../../types').MetadataCallback} */ (value);
67
- }
68
-
69
- throw new Error('Invalid metadata value. Must be an object or function.');
70
- };
71
-
72
- /**
73
- * @template {{}} T
74
- * @param {unknown} value
75
- * @returns {T}
76
- */
77
- const asObject = (value) => {
78
- if (typeof value === 'object') {
79
- return /** @type {T} */ (value);
80
- }
81
-
82
- throw new Error('Invalid value. Must be an object.');
83
- };
84
-
85
- /**
86
- * @template {Function} T
87
- * @param {unknown} value
88
- * @returns {T}
89
- */
90
- const asFunction = (value) => {
91
- if (typeof value === 'function') {
92
- return /** @type {T} */ (value);
93
- }
94
-
95
- throw new Error('Invalid value. Must be a function.');
96
- };
97
-
98
- /**
99
- * @template {Function[] | string | {}} T
100
- * @param {unknown} value
101
- * @returns {T}
102
- */
103
- const asArray = (value) => {
104
- if (Array.isArray(value)) {
105
- return /** @type {T} */ (value);
106
- }
107
-
108
- throw new Error('Must be an array.');
109
- };
4
+ import {
5
+ asString,
6
+ asNumber,
7
+ asFunction,
8
+ asBoolean,
9
+ asObject,
10
+ asArray,
11
+ asMetadata,
12
+ asCameraCapture,
13
+ asCameraMode,
14
+ asCameraModes,
15
+ asStore,
16
+ asFilesViewMode,
17
+ } from './validatorsType.js';
110
18
 
111
19
  /**
112
20
  * @type {{
@@ -186,9 +94,9 @@ const mapping = {
186
94
 
187
95
  maxVideoRecordingDuration: asNumber,
188
96
 
189
- displayUploadList: asString,
190
- enableFileName: asBoolean,
191
- usePreviewImage: asBoolean,
97
+ filesViewMode: asFilesViewMode,
98
+ gridShowFileNames: asBoolean,
99
+ cloudImageEditorAutoOpen: asBoolean,
192
100
  };
193
101
 
194
102
  /**
@@ -209,3 +117,4 @@ export const normalizeConfigValue = (key, value) => {
209
117
  return initialConfig[key];
210
118
  }
211
119
  };
120
+ export { asBoolean };
@@ -0,0 +1,37 @@
1
+ /** @param {unknown} value */
2
+ export function asString(value: unknown): string;
3
+ /** @param {unknown} value */
4
+ export function asNumber(value: unknown): number;
5
+ /** @param {unknown} value */
6
+ export function asBoolean(value: unknown): boolean;
7
+ /** @param {unknown} value */
8
+ export function asStore(value: unknown): boolean | "auto";
9
+ /** @param {unknown} value */
10
+ export function asCameraCapture(value: unknown): "" | "user" | "environment";
11
+ /** @param {unknown} value */
12
+ export function asCameraMode(value: unknown): import("../CameraSource/CameraSource.js").CameraMode;
13
+ /** @param {unknown} value */
14
+ export function asCameraModes(value: unknown): string;
15
+ /** @param {unknown} value */
16
+ export function asMetadata(value: unknown): import("@uploadcare/upload-client").Metadata | import("../../types").MetadataCallback;
17
+ /**
18
+ * @template {{}} T
19
+ * @param {unknown} value
20
+ * @returns {T}
21
+ */
22
+ export function asObject<T extends {}>(value: unknown): T;
23
+ /**
24
+ * @template {Function} T
25
+ * @param {unknown} value
26
+ * @returns {T}
27
+ */
28
+ export function asFunction<T extends Function>(value: unknown): T;
29
+ /**
30
+ * @template {Function[] | string | {}} T
31
+ * @param {unknown} value
32
+ * @returns {T}
33
+ */
34
+ export function asArray<T extends string | {} | Function[]>(value: unknown): T;
35
+ /** @param {unknown} value */
36
+ export function asFilesViewMode(value: unknown): import("../UploadList/UploadList.js").FilesViewMode;
37
+ //# sourceMappingURL=validatorsType.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validatorsType.d.ts","sourceRoot":"","sources":["validatorsType.js"],"names":[],"mappings":"AAIA,6BAA6B;AAC7B,gCADY,OAAO,UACsB;AAEzC,6BAA6B;AAC7B,gCADY,OAAO,UAOlB;AACD,6BAA6B;AAC7B,iCADY,OAAO,WAWlB;AACD,6BAA6B;AAC7B,+BADY,OAAO,oBACqD;AAExE,6BAA6B;AAC7B,uCADY,OAAO,+BAOlB;AAED,6BAA6B;AAC7B,oCADY,OAAO,wDAOlB;AAED,6BAA6B;AAC7B,qCADY,OAAO,UAQlB;AAED,6BAA6B;AAC7B,kCADY,OAAO,yFAUlB;AAED;;;;GAIG;AACH,8CAHW,OAAO,KASjB;AAED;;;;GAIG;AACH,sDAHW,OAAO,KASjB;AAED;;;;GAIG;AACH,mEAHW,OAAO,KASjB;AAED,6BAA6B;AAC7B,uCADY,OAAO,uDASlB"}
@@ -0,0 +1,134 @@
1
+ // @ts-check
2
+ import { CameraSourceTypes } from '../CameraSource/constants.js';
3
+ import { deserializeCsv } from '../utils/comma-separated.js';
4
+
5
+ /** @param {unknown} value */
6
+ const asString = (value) => String(value);
7
+
8
+ /** @param {unknown} value */
9
+ const asNumber = (value) => {
10
+ const number = Number(value);
11
+ if (Number.isNaN(number)) {
12
+ throw new Error(`Invalid number: "${value}"`);
13
+ }
14
+ return number;
15
+ };
16
+ /** @param {unknown} value */
17
+ const asBoolean = (value) => {
18
+ if (typeof value === 'undefined' || value === null) return false;
19
+ if (typeof value === 'boolean') return value;
20
+ // for attr like multiple="true" (react will pass it as string)
21
+ if (value === 'true') return true;
22
+ // for attr flags like multiple="" (some other libs will pass it as empty string)
23
+ if (value === '') return true;
24
+ // for attr like multiple="false" (react will pass it as string)
25
+ if (value === 'false') return false;
26
+ throw new Error(`Invalid boolean: "${value}"`);
27
+ };
28
+ /** @param {unknown} value */
29
+ const asStore = (value) => (value === 'auto' ? value : asBoolean(value));
30
+
31
+ /** @param {unknown} value */
32
+ const asCameraCapture = (value) => {
33
+ const strValue = asString(value);
34
+ if (strValue !== 'user' && strValue !== 'environment' && strValue !== '') {
35
+ throw new Error(`Invalid value: "${strValue}"`);
36
+ }
37
+ return strValue;
38
+ };
39
+
40
+ /** @param {unknown} value */
41
+ const asCameraMode = (value) => {
42
+ const strValue = asString(value);
43
+ if (!Object.values(CameraSourceTypes).includes(strValue)) {
44
+ throw new Error(`Invalid value: "${strValue}"`);
45
+ }
46
+ return /** @type {import('../CameraSource/CameraSource.js').CameraMode} */ (strValue);
47
+ };
48
+
49
+ /** @param {unknown} value */
50
+ const asCameraModes = (value) => {
51
+ const str = asString(value);
52
+ const array = deserializeCsv(str);
53
+ if (array.some((item) => !Object.values(CameraSourceTypes).includes(item))) {
54
+ throw new Error(`Invalid value: "${JSON.stringify(array)}"`);
55
+ }
56
+ return str;
57
+ };
58
+
59
+ /** @param {unknown} value */
60
+ const asMetadata = (value) => {
61
+ if (typeof value === 'object' && !Array.isArray(value)) {
62
+ return /** @type {import('../../types').Metadata} */ (value);
63
+ }
64
+ if (typeof value === 'function') {
65
+ return /** @type {import('../../types').MetadataCallback} */ (value);
66
+ }
67
+
68
+ throw new Error('Invalid metadata value. Must be an object or function.');
69
+ };
70
+
71
+ /**
72
+ * @template {{}} T
73
+ * @param {unknown} value
74
+ * @returns {T}
75
+ */
76
+ const asObject = (value) => {
77
+ if (typeof value === 'object') {
78
+ return /** @type {T} */ (value);
79
+ }
80
+
81
+ throw new Error('Invalid value. Must be an object.');
82
+ };
83
+
84
+ /**
85
+ * @template {Function} T
86
+ * @param {unknown} value
87
+ * @returns {T}
88
+ */
89
+ const asFunction = (value) => {
90
+ if (typeof value === 'function') {
91
+ return /** @type {T} */ (value);
92
+ }
93
+
94
+ throw new Error('Invalid value. Must be a function.');
95
+ };
96
+
97
+ /**
98
+ * @template {Function[] | string | {}} T
99
+ * @param {unknown} value
100
+ * @returns {T}
101
+ */
102
+ const asArray = (value) => {
103
+ if (Array.isArray(value)) {
104
+ return /** @type {T} */ (value);
105
+ }
106
+
107
+ throw new Error('Must be an array.');
108
+ };
109
+
110
+ /** @param {unknown} value */
111
+ const asFilesViewMode = (value) => {
112
+ const strValue = asString(value);
113
+
114
+ if (['grid', 'list'].includes(strValue)) {
115
+ return /** @type {import('../UploadList/UploadList.js').FilesViewMode} */ (strValue);
116
+ }
117
+
118
+ throw new Error(`Invalid value: "${strValue}"`);
119
+ };
120
+
121
+ export {
122
+ asString,
123
+ asNumber,
124
+ asBoolean,
125
+ asStore,
126
+ asCameraCapture,
127
+ asCameraMode,
128
+ asCameraModes,
129
+ asMetadata,
130
+ asObject,
131
+ asFunction,
132
+ asArray,
133
+ asFilesViewMode,
134
+ };
@@ -6,6 +6,7 @@ export class DropArea extends UploaderBlock {
6
6
  isFullscreen: boolean;
7
7
  isEnabled: boolean;
8
8
  isVisible: boolean;
9
+ isInitFlow: boolean;
9
10
  text: string;
10
11
  "uc-drop-area/registry": null;
11
12
  '*commonProgress': number;
@@ -1 +1 @@
1
- {"version":3,"file":"DropArea.d.ts","sourceRoot":"","sources":["DropArea.js"],"names":[],"mappings":"AAaA;IAKI;;;;;;;;;;;;;;;;;;;;;;MAUC;IAGH,oBAgBC;IAgDC,eAAe;IACf,yBA4BE;IAIA,yDAWE;IA6BF;;;OAGG;IACH,uBASC;IAOL;;;;;OAKG;IACH,sBAeC;IAED,eAAe;IACf,0BAcC;CAqBF;;;;8BAnP6B,iCAAiC"}
1
+ {"version":3,"file":"DropArea.d.ts","sourceRoot":"","sources":["DropArea.js"],"names":[],"mappings":"AAaA;IAKI;;;;;;;;;;;;;;;;;;;;;;;MAWC;IAGH,oBAgBC;IAsDC,eAAe;IACf,yBA2BE;IAIA,yDAWE;IA6BF;;;OAGG;IACH,uBAmBC;IAOL;;;;;OAKG;IACH,sBAeC;IAED,eAAe;IACf,0BAcC;CAqBF;;;;8BAnQ6B,iCAAiC"}
@@ -4,7 +4,7 @@ import { Data } from '@symbiotejs/symbiote';
4
4
  import { ActivityBlock } from '../../abstract/ActivityBlock.js';
5
5
  import { UploaderBlock } from '../../abstract/UploaderBlock.js';
6
6
  import { stringToArray } from '../../utils/stringToArray.js';
7
- import { asBoolean } from '../Config/normalizeConfigValue.js';
7
+ import { asBoolean } from '../Config/validatorsType.js';
8
8
  import { UploadSource } from '../utils/UploadSource.js';
9
9
  import { DropzoneState, addDropzone } from './addDropzone.js';
10
10
 
@@ -24,6 +24,7 @@ export class DropArea extends UploaderBlock {
24
24
  isFullscreen: false,
25
25
  isEnabled: true,
26
26
  isVisible: true,
27
+ isInitFlow: false,
27
28
  text: '',
28
29
  [REGISTRY_KEY]: null,
29
30
  };
@@ -69,6 +70,12 @@ export class DropArea extends UploaderBlock {
69
70
  this.set$({ isClickable: asBoolean(value) });
70
71
  },
71
72
  );
73
+ this.defineAccessor(
74
+ 'initflow',
75
+ /** @param {unknown} value */ (value) => {
76
+ this.set$({ isInitFlow: asBoolean(value) });
77
+ },
78
+ );
72
79
  this.defineAccessor(
73
80
  'with-icon',
74
81
  /** @param {unknown} value */ (value) => {
@@ -119,7 +126,6 @@ export class DropArea extends UploaderBlock {
119
126
  this.set$({
120
127
  '*currentActivity': ActivityBlock.activities.UPLOAD_LIST,
121
128
  });
122
- // this.setOrAddState('*modalActive', true);
123
129
  }
124
130
  },
125
131
  });
@@ -174,9 +180,19 @@ export class DropArea extends UploaderBlock {
174
180
  if (event.type === 'keydown') {
175
181
  // @ts-ignore
176
182
  if (event.code === 'Space' || event.code === 'Enter') {
183
+ if (this.$.isInitFlow) {
184
+ this.api.initFlow();
185
+ return;
186
+ }
187
+
177
188
  this.api.openSystemDialog();
178
189
  }
179
190
  } else if (event.type === 'click') {
191
+ if (this.$.isInitFlow) {
192
+ this.api.initFlow();
193
+ return;
194
+ }
195
+
180
196
  this.api.openSystemDialog();
181
197
  }
182
198
  };
@@ -271,4 +287,6 @@ DropArea.bindAttributes({
271
287
  fullscreen: null,
272
288
  // @ts-expect-error TODO: fix types inside symbiote
273
289
  disabled: null,
290
+ // @ts-expect-error TODO: fix types inside symbiote
291
+ initflow: null,
274
292
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ExternalSource.d.ts","sourceRoot":"","sources":["ExternalSource.js"],"names":[],"mappings":"AAWA,+DAA+D;AAE/D;IAEE,yBAAiD;IAK/C;;;QAKE,6FAA6F;sBAAlF,OAAO,YAAY,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;MAkC1F;IAGH,6BAA6B;IAC7B,qCAMC;IAiDD;;;OAGG;IACH,mCAcC;IAED;;;OAGG;IACH,kCAsBC;IAED,eAAe;IACf,yBAIC;IAED,eAAe;IACf,mBAKC;IAED;;;OAGG;IACH,sBAKC;IAED,eAAe;IACf,kBAKC;IAED,eAAe;IACf,kBAeC;IAED,eAAe;IACf,oBA6BC;IALC,eAAe;IACf,uBAA6D;IAM/D,eAAe;IACf,sBAMC;IAED,eAAe;IACf,6BASC;CACF;;;;6BAnQa;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE;8BAPd,iCAAiC"}
1
+ {"version":3,"file":"ExternalSource.d.ts","sourceRoot":"","sources":["ExternalSource.js"],"names":[],"mappings":"AAWA,+DAA+D;AAE/D;IAEE,yBAAiD;IAK/C;;;QAKE,6FAA6F;sBAAlF,OAAO,YAAY,EAAE,eAAe,CAAC,uBAAuB,CAAC,CAAC,eAAe,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;MAkC1F;IAGH,6BAA6B;IAC7B,qCAMC;IAgDD;;;OAGG;IACH,mCAcC;IAED;;;OAGG;IACH,kCAsBC;IAED,eAAe;IACf,yBAIC;IAED,eAAe;IACf,mBAKC;IAED;;;OAGG;IACH,sBAKC;IAED,eAAe;IACf,kBAKC;IAED,eAAe;IACf,kBAeC;IAED,eAAe;IACf,oBA6BC;IALC,eAAe;IACf,uBAA6D;IAM/D,eAAe;IACf,sBAMC;IAED,eAAe;IACf,6BASC;CACF;;;;6BAlQa;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE;8BAPd,iCAAiC"}
@@ -78,7 +78,6 @@ export class ExternalSource extends UploaderBlock {
78
78
  if (!externalSourceType) {
79
79
  this.modalManager.close(this.$['*currentActivity']);
80
80
  this.$['*currentActivity'] = null;
81
- // this.setOrAddState('*modalActive', false);
82
81
  console.error(`Param "externalSourceType" is required for activity "${this.activityType}"`);
83
82
  return;
84
83
  }
@@ -1 +1 @@
1
- {"version":3,"file":"FileItem.d.ts","sourceRoot":"","sources":["FileItem.js"],"names":[],"mappings":"AAoBA;IAIE,eAAe;IACf,mBAAuB;IACvB;;;OAGG;IACH,eAAc;IACd,eAAe;IACf,wBAAwB;IACxB,eAAe;IACf,gCAA4E;IAC5E,eAAe;IACf,iCAA0E;IAE1E,eAAe;IACf,sBAAsB;IAKpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+BC;IAGH,eASC;IAED;;;OAGG;IACH,0BAcC;IAXC,wCAA0C;IAa5C,eAAe;IACf,wBAgBC;IAED,eAAe;IACf,2BA2CC;IAED;;;;OAIG;IACH,kBAUC;IAED;;MAaQ;IAER;;;OAGG;IACH,uBAmDC;IA6CD,wEAAwE;IACxE,oBADY,CAAC,oBAAoB,CAAC,CAAC,MAAM,oBAAoB,CAAC,QA0B7D;IAaC,eAAe;IACf,kBAEE;IAWJ;;;MAEC;IAED;;;OAGG;IACH,uBAEC;IAED,wBAsFC;CACF;;;;;8BAtc6B,iCAAiC;AAS/D;;;;;GAKG"}
1
+ {"version":3,"file":"FileItem.d.ts","sourceRoot":"","sources":["FileItem.js"],"names":[],"mappings":"AAoBA;IAIE,eAAe;IACf,mBAAuB;IACvB;;;OAGG;IACH,eAAc;IACd,eAAe;IACf,wBAAwB;IACxB,eAAe;IACf,gCAA4E;IAC5E,eAAe;IACf,iCAA0E;IAE1E,eAAe;IACf,sBAAsB;IAKpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+BC;IAGH,eASC;IAED;;;OAGG;IACH,0BAcC;IAXC,wCAA0C;IAa5C,eAAe;IACf,wBAgBC;IAED,eAAe;IACf,2BA2CC;IAED;;;;OAIG;IACH,kBAUC;IAED;;MAaQ;IAER;;;OAGG;IACH,uBAmDC;IA+CD,wEAAwE;IACxE,oBADY,CAAC,oBAAoB,CAAC,CAAC,MAAM,oBAAoB,CAAC,QA0B7D;IAaC,eAAe;IACf,kBAEE;IAWJ;;;MAEC;IAED;;;OAGG;IACH,uBAEC;IAED,wBAsFC;CACF;;;;;8BAxc6B,iCAAiC;AAS/D;;;;;GAKG"}
@@ -273,9 +273,11 @@ export class FileItem extends UploaderBlock {
273
273
  });
274
274
 
275
275
  this.subConfigValue('useCloudImageEditor', () => this._debouncedCalculateState());
276
- this.subConfigValue('displayUploadList', (mode) => {
276
+ this.subConfigValue('filesViewMode', (mode) => {
277
277
  if (mode === 'grid') {
278
- this.subConfigValue('enableFileName', (value) => (this.$.isFileName = !value));
278
+ this.subConfigValue('gridShowFileNames', (value) => (this.$.isFileName = !value));
279
+ } else {
280
+ this.$.isFileName = false;
279
281
  }
280
282
 
281
283
  this.setAttribute('mode', mode);
@@ -491,7 +493,11 @@ FileItem.template = /* HTML */ `
491
493
  <uc-icon name="upload"></uc-icon>
492
494
  </button>
493
495
  </div>
494
- <uc-progress-bar class="uc-progress-bar" set="value: progressValue; visible: progressVisible;"> </uc-progress-bar>
496
+ <uc-progress-bar
497
+ class="uc-progress-bar"
498
+ set="value: progressValue; visible: progressVisible; @hasFileName: !isFileName"
499
+ >
500
+ </uc-progress-bar>
495
501
  </div>
496
502
  `;
497
503
  FileItem.activeInstances = new Set();
@@ -202,3 +202,27 @@ uc-file-item[mode='grid'] .uc-file-actions {
202
202
  uc-file-item[mode='grid'] button {
203
203
  background-color: var(--uc-background);
204
204
  }
205
+
206
+ uc-file-item[mode='grid'] button:hover {
207
+ background-color: var(--uc-muted);
208
+ }
209
+
210
+ uc-file-item[mode='grid'] .uc-progress-bar {
211
+ width: initial;
212
+ height: 4px !important;
213
+ opacity: 1;
214
+ top: initial !important;
215
+ bottom: var(--uc-padding);
216
+ left: var(--uc-padding);
217
+ right: var(--uc-padding);
218
+ z-index: 1;
219
+ }
220
+
221
+ uc-file-item[mode='grid'] .uc-progress-bar[hasfilename] {
222
+ bottom: calc(var(--uc-padding) + var(--uc-font-size));
223
+ }
224
+
225
+ uc-file-item[mode='grid'] .uc-progress-bar .uc-progress {
226
+ background-color: rgba(255, 255, 255, 80%) !important;
227
+ width: 100% !important;
228
+ }
@@ -41,6 +41,7 @@ uc-progress-bar .uc-fake-progress {
41
41
  display 1s;
42
42
  /* stylelint-disable-next-line property-no-unknown */
43
43
  transition-behavior: allow-discrete;
44
+ z-index: 1;
44
45
  }
45
46
 
46
47
  uc-progress-bar .uc-fake-progress--hidden {
@@ -1,6 +1,6 @@
1
1
  // @ts-check
2
2
  import { UploaderBlock } from '../../abstract/UploaderBlock.js';
3
- import { asBoolean } from '../Config/normalizeConfigValue.js';
3
+ import { asBoolean } from '../Config/validatorsType.js';
4
4
 
5
5
  export class SimpleBtn extends UploaderBlock {
6
6
  static styleAttrs = [...super.styleAttrs, 'uc-simple-btn'];
@@ -1,3 +1,4 @@
1
+ /** @typedef {'grid' | 'list'} FilesViewMode */
1
2
  /**
2
3
  * @typedef {{
3
4
  * total: number;
@@ -48,6 +49,7 @@ export class UploadList extends UploaderBlock {
48
49
  export namespace UploadList {
49
50
  let template: string;
50
51
  }
52
+ export type FilesViewMode = 'grid' | 'list';
51
53
  export type Summary = {
52
54
  total: number;
53
55
  succeed: number;
@@ -1 +1 @@
1
- {"version":3,"file":"UploadList.d.ts","sourceRoot":"","sources":["UploadList.js"],"names":[],"mappings":"AAMA;;;;;;;GAOG;AAEH;IAKE,4BAAoD;IAKlD;;;;;;;;;;;;;;;;;;;;;;;;;;MA0BC;IAGH,eAAe;IACf,yCASQ;IAER,eAAe;IACf,4BAuCC;IAED;;;OAGG;IACH,uBAmBC;CAwEF;;;;sBApMY;IACZ,KAAS,EAAE,MAAM,CAAC;IAClB,OAAW,EAAE,MAAM,CAAC;IACpB,SAAa,EAAE,MAAM,CAAC;IACtB,MAAU,EAAE,MAAM,CAAC;CAChB;8BAV0B,iCAAiC"}
1
+ {"version":3,"file":"UploadList.d.ts","sourceRoot":"","sources":["UploadList.js"],"names":[],"mappings":"AAMA,+CAA+C;AAE/C;;;;;;;GAOG;AAEH;IAKE,4BAAoD;IAKlD;;;;;;;;;;;;;;;;;;;;;;;;;;MA0BC;IAGH,eAAe;IACf,yCASQ;IAER,eAAe;IACf,4BAuCC;IAED;;;OAGG;IACH,uBAmBC;CAwEF;;;;4BAvMa,MAAM,GAAG,MAAM;sBAGhB;IACZ,KAAS,EAAE,MAAM,CAAC;IAClB,OAAW,EAAE,MAAM,CAAC;IACpB,SAAa,EAAE,MAAM,CAAC;IACtB,MAAU,EAAE,MAAM,CAAC;CAChB;8BAZ0B,iCAAiC"}
@@ -4,6 +4,8 @@ import { UploaderBlock } from '../../abstract/UploaderBlock.js';
4
4
  import { EventType } from '../UploadCtxProvider/EventEmitter.js';
5
5
  import { throttle } from '../utils/throttle.js';
6
6
 
7
+ /** @typedef {'grid' | 'list'} FilesViewMode */
8
+
7
9
  /**
8
10
  * @typedef {{
9
11
  * total: number;
@@ -149,7 +151,7 @@ export class UploadList extends UploaderBlock {
149
151
  }
150
152
  });
151
153
 
152
- this.subConfigValue('displayUploadList', (mode) => {
154
+ this.subConfigValue('filesViewMode', (mode) => {
153
155
  this.setAttribute('mode', mode);
154
156
  });
155
157
 
@@ -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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4IE;AACF;;;;;;;;EAuCE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;EAuCE;AACF;;;;;;;EA4GE;AACF;;;;;;;EAaE;AACF;;;;;;;EAME;AACF;;;;;;;;;;;;;;;;EAeE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkEE;AACF;;;;;;;EAWE;AACF;;;;;;;EAWE;AACF;;;;;;;EASE;AACF;;;;;;EAKE;AACF;;;;;;;EAWE;AACF;;;;;;;EAME;AACF;;;;;;;EAWE;AACF;;;;;;;EA2IE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0EE;;;;;;;;;;;;;AAaF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoFE;AACF;;;;;;EAKE;AACF;;;;;;EAKE;AACF;;;;;;;EAME;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;EAWE;AACF;;;;;;EAwBE;AACF;;;;;;;EAUE;AACF;;;;;;;;EAWE;AACF,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;;;;;;;;;;;;EAWE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmEE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EE;AACK,yCAAiC;AACjC,qCAA6B;AAC7B,6CAAqC;AACrC,oCAA4B"}
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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA4IE;AACF;;;;;;;;EAuCE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;EAuCE;AACF;;;;;;;EA4GE;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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwFE;AACF;;;;;;EAKE;AACF;;;;;;EAKE;AACF;;;;;;;EAME;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;EAWE;AACF;;;;;;EAwBE;AACF;;;;;;;EAUE;AACF;;;;;;;;EAWE;AACF,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;;;;;;;;;;;;EAWE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmEE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuGE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA+CE;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2EE;AACK,yCAAiC;AACjC,qCAA6B;AAC7B,6CAAqC;AACrC,oCAA4B"}