@progress/kendo-angular-upload 17.0.0-develop.9 → 17.0.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.
Files changed (87) hide show
  1. package/common/action-buttons-layout.d.ts +1 -1
  2. package/common/base.d.ts +1 -1
  3. package/dropzone-external.directive.d.ts +1 -1
  4. package/dropzone-internal.directive.d.ts +1 -1
  5. package/dropzone.component.d.ts +1 -1
  6. package/{esm2020 → esm2022}/common/base.mjs +96 -67
  7. package/{esm2020 → esm2022}/dropzone-base.mjs +13 -9
  8. package/{esm2020 → esm2022}/dropzone-external.directive.mjs +16 -5
  9. package/{esm2020 → esm2022}/dropzone-internal.directive.mjs +14 -6
  10. package/{esm2020 → esm2022}/dropzone.component.mjs +38 -19
  11. package/{esm2020 → esm2022}/dropzone.service.mjs +3 -3
  12. package/{esm2020 → esm2022}/events/cancel-event.mjs +4 -0
  13. package/{esm2020 → esm2022}/events/error-event.mjs +12 -0
  14. package/{esm2020 → esm2022}/events/pause-event.mjs +4 -0
  15. package/{esm2020 → esm2022}/events/preventable-event.mjs +1 -3
  16. package/{esm2020 → esm2022}/events/remove-event.mjs +12 -0
  17. package/{esm2020 → esm2022}/events/resume-event.mjs +4 -0
  18. package/{esm2020 → esm2022}/events/select-event.mjs +4 -0
  19. package/{esm2020 → esm2022}/events/success-event.mjs +12 -0
  20. package/{esm2020 → esm2022}/events/upload-event.mjs +35 -0
  21. package/{esm2020 → esm2022}/events/upload-progress-event.mjs +8 -0
  22. package/{esm2020 → esm2022}/file-select.directive.mjs +17 -8
  23. package/{esm2020 → esm2022}/fileselect.component.mjs +60 -42
  24. package/{esm2020 → esm2022}/fileselect.module.mjs +8 -8
  25. package/{esm2020 → esm2022}/localization/custom-messages.component.mjs +12 -11
  26. package/{esm2020 → esm2022}/localization/localized-messages.directive.mjs +9 -8
  27. package/esm2022/localization/messages.mjs +143 -0
  28. package/{esm2020 → esm2022}/navigation.service.mjs +17 -14
  29. package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
  30. package/{esm2020 → esm2022}/rendering/file-list-item-action-button.component.mjs +15 -9
  31. package/{esm2020 → esm2022}/rendering/file-list-item-base.mjs +7 -4
  32. package/{esm2020 → esm2022}/rendering/file-list-item.mjs +10 -5
  33. package/{esm2020 → esm2022}/rendering/file-list-multiple-items.component.mjs +18 -13
  34. package/{esm2020 → esm2022}/rendering/file-list-single-item.component.mjs +16 -12
  35. package/{esm2020 → esm2022}/rendering/file-list.component.mjs +14 -5
  36. package/{esm2020 → esm2022}/rendering/upload-action-buttons.component.mjs +17 -10
  37. package/{esm2020 → esm2022}/rendering/upload-status-total.component.mjs +14 -8
  38. package/esm2022/templates/file-info-template.directive.mjs +40 -0
  39. package/esm2022/templates/file-template.directive.mjs +40 -0
  40. package/{esm2020 → esm2022}/types/chunk-map.mjs +1 -0
  41. package/{esm2020 → esm2022}/types/file-map.mjs +1 -0
  42. package/{esm2020 → esm2022}/upload.component.mjs +113 -95
  43. package/{esm2020 → esm2022}/upload.module.mjs +8 -8
  44. package/{esm2020 → esm2022}/upload.service.mjs +50 -49
  45. package/{esm2020 → esm2022}/uploads.module.mjs +8 -8
  46. package/{fesm2020 → fesm2022}/progress-kendo-angular-upload.mjs +822 -442
  47. package/file-select.directive.d.ts +1 -1
  48. package/fileselect.component.d.ts +1 -1
  49. package/localization/messages.d.ts +1 -1
  50. package/package.json +16 -22
  51. package/rendering/file-list-item-action-button.component.d.ts +1 -1
  52. package/rendering/file-list-item.d.ts +1 -1
  53. package/rendering/file-list-multiple-items.component.d.ts +1 -1
  54. package/rendering/file-list-single-item.component.d.ts +1 -1
  55. package/rendering/file-list.component.d.ts +1 -1
  56. package/rendering/upload-action-buttons.component.d.ts +1 -1
  57. package/rendering/upload-status-total.component.d.ts +1 -1
  58. package/schematics/ngAdd/index.js +4 -4
  59. package/templates/file-info-template.directive.d.ts +17 -1
  60. package/templates/file-template.directive.d.ts +17 -1
  61. package/types/direction.d.ts +1 -1
  62. package/types/operation-type.d.ts +1 -1
  63. package/upload.component.d.ts +1 -1
  64. package/upload.service.d.ts +1 -1
  65. package/esm2020/localization/messages.mjs +0 -59
  66. package/esm2020/templates/file-info-template.directive.mjs +0 -23
  67. package/esm2020/templates/file-template.directive.mjs +0 -23
  68. package/fesm2015/progress-kendo-angular-upload.mjs +0 -4808
  69. /package/{esm2020 → esm2022}/common/action-buttons-layout.mjs +0 -0
  70. /package/{esm2020 → esm2022}/common/util.mjs +0 -0
  71. /package/{esm2020 → esm2022}/common/validation-util.mjs +0 -0
  72. /package/{esm2020 → esm2022}/directives.mjs +0 -0
  73. /package/{esm2020 → esm2022}/events/clear-event.mjs +0 -0
  74. /package/{esm2020 → esm2022}/events.mjs +0 -0
  75. /package/{esm2020 → esm2022}/index.mjs +0 -0
  76. /package/{esm2020 → esm2022}/progress-kendo-angular-upload.mjs +0 -0
  77. /package/{esm2020 → esm2022}/types/async-settings.mjs +0 -0
  78. /package/{esm2020 → esm2022}/types/chunk-info.mjs +0 -0
  79. /package/{esm2020 → esm2022}/types/chunk-metadata.mjs +0 -0
  80. /package/{esm2020 → esm2022}/types/chunk-settings.mjs +0 -0
  81. /package/{esm2020 → esm2022}/types/direction.mjs +0 -0
  82. /package/{esm2020 → esm2022}/types/file-groups.mjs +0 -0
  83. /package/{esm2020 → esm2022}/types/file-info.mjs +0 -0
  84. /package/{esm2020 → esm2022}/types/file-restrictions.mjs +0 -0
  85. /package/{esm2020 → esm2022}/types/file-state.mjs +0 -0
  86. /package/{esm2020 → esm2022}/types/operation-type.mjs +0 -0
  87. /package/{esm2020 → esm2022}/types.mjs +0 -0
@@ -56,6 +56,7 @@ var FileState;
56
56
  * @hidden
57
57
  */
58
58
  class FileMap {
59
+ _files;
59
60
  constructor() {
60
61
  this._files = {};
61
62
  }
@@ -218,6 +219,10 @@ class FileMap {
218
219
  * ```
219
220
  */
220
221
  class CancelEvent {
222
+ /**
223
+ * The list of the files that were going to be uploaded.
224
+ */
225
+ files;
221
226
  /**
222
227
  * @hidden
223
228
  * Constructs the event arguments for the `cancel` event.
@@ -232,9 +237,7 @@ class CancelEvent {
232
237
  * @hidden
233
238
  */
234
239
  class PreventableEvent {
235
- constructor() {
236
- this.prevented = false;
237
- }
240
+ prevented = false;
238
241
  /**
239
242
  * Prevents the default action for a specified event.
240
243
  * In this way, the source component suppresses the built-in behavior that follows the event.
@@ -312,6 +315,18 @@ class ClearEvent extends PreventableEvent {
312
315
  * ```
313
316
  */
314
317
  class ErrorEvent {
318
+ /**
319
+ * The list of the files that failed to be uploaded or removed.
320
+ */
321
+ files;
322
+ /**
323
+ * The operation type (`upload` or `remove`).
324
+ */
325
+ operation;
326
+ /**
327
+ * The response object returned by the server.
328
+ */
329
+ response;
315
330
  /**
316
331
  * @hidden
317
332
  * Constructs the event arguments for the `error` event.
@@ -355,6 +370,10 @@ class ErrorEvent {
355
370
  *
356
371
  */
357
372
  class PauseEvent {
373
+ /**
374
+ * The file that is going to be paused.
375
+ */
376
+ file;
358
377
  /**
359
378
  * @hidden
360
379
  * Constructs the event arguments for the `pause` event.
@@ -391,6 +410,18 @@ class PauseEvent {
391
410
  * ```
392
411
  */
393
412
  class RemoveEvent extends PreventableEvent {
413
+ /**
414
+ * An optional object that is sent to the `remove` handler in the form of a key/value pair.
415
+ */
416
+ data;
417
+ /**
418
+ * The list of the files that will be removed.
419
+ */
420
+ files;
421
+ /**
422
+ * The headers of the request.
423
+ */
424
+ headers;
394
425
  /**
395
426
  * @hidden
396
427
  * Constructs the event arguments for the `remove` event.
@@ -432,6 +463,10 @@ class RemoveEvent extends PreventableEvent {
432
463
  *
433
464
  */
434
465
  class ResumeEvent {
466
+ /**
467
+ * The file that is going to be resumed.
468
+ */
469
+ file;
435
470
  /**
436
471
  * @hidden
437
472
  * Constructs the event arguments for the `resume` event.
@@ -468,6 +503,10 @@ class ResumeEvent {
468
503
  * ```
469
504
  */
470
505
  class SelectEvent extends PreventableEvent {
506
+ /**
507
+ * The list of the selected files.
508
+ */
509
+ files;
471
510
  /**
472
511
  * @hidden
473
512
  * Constructs the event arguments for the `select` event.
@@ -505,6 +544,18 @@ class SelectEvent extends PreventableEvent {
505
544
  * ```
506
545
  */
507
546
  class SuccessEvent extends PreventableEvent {
547
+ /**
548
+ * The list of the files that were uploaded or removed.
549
+ */
550
+ files;
551
+ /**
552
+ * The operation type (`upload` or `remove`).
553
+ */
554
+ operation;
555
+ /**
556
+ * The response object returned by the server.
557
+ */
558
+ response;
508
559
  /**
509
560
  * @hidden
510
561
  * Constructs the event arguments for the `success` event.
@@ -546,6 +597,41 @@ class SuccessEvent extends PreventableEvent {
546
597
  * ```
547
598
  */
548
599
  class UploadEvent extends PreventableEvent {
600
+ /**
601
+ * The optional object that is sent to the `upload` handler in the form of key/value pair.
602
+ *
603
+ * ```ts-no-run
604
+ * @Component({
605
+ * selector: 'my-upload',
606
+ * template: `
607
+ * <kendo-upload
608
+ * [saveUrl]="uploadSaveUrl"
609
+ * [removeUrl]="uploadRemoveUrl"
610
+ * (upload)="uploadEventHandler($event)">
611
+ * </kendo-upload>
612
+ * `
613
+ * })
614
+ * export class UploadComponent {
615
+ * uploadSaveUrl = 'saveUrl'; // should represent an actual API endpoint
616
+ * uploadRemoveUrl = 'removeUrl'; // should represent an actual API endpoint
617
+ *
618
+ * uploadEventHandler(e: UploadEvent) {
619
+ * e.data = {
620
+ * description: 'File description'
621
+ * };
622
+ * }
623
+ * }
624
+ * ```
625
+ */
626
+ data;
627
+ /**
628
+ * The list of the files that will be uploaded.
629
+ */
630
+ files;
631
+ /**
632
+ * The headers of the request.
633
+ */
634
+ headers;
549
635
  /**
550
636
  * @hidden
551
637
  * Constructs the event arguments for the `upload` event.
@@ -585,6 +671,14 @@ class UploadEvent extends PreventableEvent {
585
671
  * ```
586
672
  */
587
673
  class UploadProgressEvent {
674
+ /**
675
+ * The list of files that are being uploaded.
676
+ */
677
+ files;
678
+ /**
679
+ * The portion that has been uploaded.
680
+ */
681
+ percentComplete;
588
682
  /**
589
683
  * @hidden
590
684
  * Constructs the event arguments for the `uploadprogress` event.
@@ -880,6 +974,7 @@ const isPresent = (value) => value !== null && value !== undefined;
880
974
  * @hidden
881
975
  */
882
976
  class ChunkMap {
977
+ _files;
883
978
  constructor() {
884
979
  this._files = {};
885
980
  }
@@ -911,54 +1006,55 @@ class ChunkMap {
911
1006
  * @hidden
912
1007
  */
913
1008
  class UploadService {
1009
+ http;
1010
+ cancelEvent = new EventEmitter();
1011
+ clearEvent = new EventEmitter();
1012
+ completeEvent = new EventEmitter();
1013
+ errorEvent = new EventEmitter();
1014
+ pauseEvent = new EventEmitter();
1015
+ removeEvent = new EventEmitter();
1016
+ resumeEvent = new EventEmitter();
1017
+ selectEvent = new EventEmitter();
1018
+ successEvent = new EventEmitter();
1019
+ uploadEvent = new EventEmitter();
1020
+ uploadProgressEvent = new EventEmitter();
1021
+ /**
1022
+ * Required for the `ControlValueAccessor` integration
1023
+ */
1024
+ changeEvent = new EventEmitter();
1025
+ /**
1026
+ * Default async settings
1027
+ */
1028
+ async = {
1029
+ autoUpload: true,
1030
+ batch: false,
1031
+ chunk: false,
1032
+ concurrent: true,
1033
+ removeField: "fileNames",
1034
+ removeHeaders: new HttpHeaders(),
1035
+ removeMethod: "POST",
1036
+ removeUrl: "",
1037
+ responseType: "json",
1038
+ saveField: "files",
1039
+ saveHeaders: new HttpHeaders(),
1040
+ saveMethod: "POST",
1041
+ saveUrl: "",
1042
+ withCredentials: true
1043
+ };
1044
+ /**
1045
+ * Default chunk settings
1046
+ */
1047
+ chunk = {
1048
+ autoRetryAfter: 100,
1049
+ size: 1024 * 1024,
1050
+ maxAutoRetries: 1,
1051
+ resumable: true
1052
+ };
1053
+ component = 'Upload';
1054
+ chunkMap = new ChunkMap();
1055
+ fileList = new FileMap();
914
1056
  constructor(http) {
915
1057
  this.http = http;
916
- this.cancelEvent = new EventEmitter();
917
- this.clearEvent = new EventEmitter();
918
- this.completeEvent = new EventEmitter();
919
- this.errorEvent = new EventEmitter();
920
- this.pauseEvent = new EventEmitter();
921
- this.removeEvent = new EventEmitter();
922
- this.resumeEvent = new EventEmitter();
923
- this.selectEvent = new EventEmitter();
924
- this.successEvent = new EventEmitter();
925
- this.uploadEvent = new EventEmitter();
926
- this.uploadProgressEvent = new EventEmitter();
927
- /**
928
- * Required for the `ControlValueAccessor` integration
929
- */
930
- this.changeEvent = new EventEmitter();
931
- /**
932
- * Default async settings
933
- */
934
- this.async = {
935
- autoUpload: true,
936
- batch: false,
937
- chunk: false,
938
- concurrent: true,
939
- removeField: "fileNames",
940
- removeHeaders: new HttpHeaders(),
941
- removeMethod: "POST",
942
- removeUrl: "",
943
- responseType: "json",
944
- saveField: "files",
945
- saveHeaders: new HttpHeaders(),
946
- saveMethod: "POST",
947
- saveUrl: "",
948
- withCredentials: true
949
- };
950
- /**
951
- * Default chunk settings
952
- */
953
- this.chunk = {
954
- autoRetryAfter: 100,
955
- size: 1024 * 1024,
956
- maxAutoRetries: 1,
957
- resumable: true
958
- };
959
- this.component = 'Upload';
960
- this.chunkMap = new ChunkMap();
961
- this.fileList = new FileMap();
962
1058
  }
963
1059
  get files() {
964
1060
  return this.fileList;
@@ -1316,10 +1412,10 @@ class UploadService {
1316
1412
  }
1317
1413
  return false;
1318
1414
  }
1415
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1416
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadService });
1319
1417
  }
1320
- UploadService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadService, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
1321
- UploadService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadService });
1322
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadService, decorators: [{
1418
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadService, decorators: [{
1323
1419
  type: Injectable
1324
1420
  }], ctorParameters: function () { return [{ type: i1.HttpClient }]; } });
1325
1421
 
@@ -1327,20 +1423,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1327
1423
  * @hidden
1328
1424
  */
1329
1425
  class NavigationService {
1426
+ uploadService;
1427
+ zone;
1428
+ onActionButtonFocus = new EventEmitter();
1429
+ onFileAction = new EventEmitter();
1430
+ onFileFocus = new EventEmitter();
1431
+ onTabOut = new EventEmitter();
1432
+ onWrapperFocus = new EventEmitter();
1433
+ onSelectButtonFocus = new EventEmitter();
1434
+ actionButtonsVisible = false;
1435
+ fileListVisible = false;
1436
+ focused = false;
1437
+ keyBindings;
1438
+ focusedFileIndex = 0;
1439
+ _focusedIndex = -1;
1330
1440
  constructor(uploadService, zone) {
1331
1441
  this.uploadService = uploadService;
1332
1442
  this.zone = zone;
1333
- this.onActionButtonFocus = new EventEmitter();
1334
- this.onFileAction = new EventEmitter();
1335
- this.onFileFocus = new EventEmitter();
1336
- this.onTabOut = new EventEmitter();
1337
- this.onWrapperFocus = new EventEmitter();
1338
- this.onSelectButtonFocus = new EventEmitter();
1339
- this.actionButtonsVisible = false;
1340
- this.fileListVisible = false;
1341
- this.focused = false;
1342
- this.focusedFileIndex = 0;
1343
- this._focusedIndex = -1;
1344
1443
  }
1345
1444
  action(event) {
1346
1445
  const key = event.keyCode;
@@ -1455,10 +1554,10 @@ class NavigationService {
1455
1554
  const fileCount = this.uploadService.files.count;
1456
1555
  return this.actionButtonsVisible ? fileCount + 1 : fileCount - 1;
1457
1556
  }
1557
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, deps: [{ token: UploadService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1558
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService });
1458
1559
  }
1459
- NavigationService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, deps: [{ token: UploadService }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable });
1460
- NavigationService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService });
1461
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: NavigationService, decorators: [{
1560
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NavigationService, decorators: [{
1462
1561
  type: Injectable
1463
1562
  }], ctorParameters: function () { return [{ type: UploadService }, { type: i0.NgZone }]; } });
1464
1563
 
@@ -1487,10 +1586,10 @@ class DropZoneService {
1487
1586
  has(id) {
1488
1587
  return id in components;
1489
1588
  }
1589
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropZoneService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1590
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropZoneService });
1490
1591
  }
1491
- DropZoneService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropZoneService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1492
- DropZoneService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropZoneService });
1493
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropZoneService, decorators: [{
1592
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropZoneService, decorators: [{
1494
1593
  type: Injectable
1495
1594
  }] });
1496
1595
 
@@ -1558,22 +1657,39 @@ const packageMetadata = {
1558
1657
  name: '@progress/kendo-angular-upload',
1559
1658
  productName: 'Kendo UI for Angular',
1560
1659
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
1561
- publishDate: 1729174367,
1562
- version: '17.0.0-develop.9',
1660
+ publishDate: 1731413934,
1661
+ version: '17.0.0',
1563
1662
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
1564
1663
  };
1565
1664
 
1566
1665
  /**
1567
- * Used to customize the rendering of the files in the list ([see example]({% slug templates_upload %}#toc-file-template)).
1666
+ * Used to customize the rendering of the files in the list. ([See example.](slug:templates_upload#toc-file-template))
1667
+ *
1668
+ * The following context variables are available in the template:
1669
+ *
1670
+ * * `let-files`&mdash;Provides a reference to the files which are associated with the current item.
1671
+ * * `let-state`&mdash;Gets a reference to the current state of each file. If the [`batch`](slug:api_upload_uploadcomponent#toc-batch) option of the Upload is set to `true`, the field reflects the state of the whole batch.
1672
+ * * `#myUpload="kendoUpload"` or `#myFileSelect="kendoFileSelect"`&mdash;Provides a reference to the instance of the Upload/FileSelect component. It is exported as `kendoUpload`/`kendoFileSelect` by using the [`exportAs`](https://angular.io/api/core/Component) metadata property.
1673
+ *
1674
+ * @example
1675
+ * ```html
1676
+ * <kendo-upload #myUpload="kendoUpload" ... >
1677
+ * <ng-template kendoUploadFileTemplate let-files let-state>
1678
+ * <div>Name: {{ files[0].name }} Size: {{ files[0].size }} bytes</div>
1679
+ * ...
1680
+ * </ng-template>
1681
+ * </kendo-upload>
1682
+ * ```
1568
1683
  */
1569
1684
  class FileTemplateDirective {
1685
+ templateRef;
1570
1686
  constructor(templateRef) {
1571
1687
  this.templateRef = templateRef;
1572
1688
  }
1689
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1690
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FileTemplateDirective, isStandalone: true, selector: "[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]", ngImport: i0 });
1573
1691
  }
1574
- FileTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1575
- FileTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FileTemplateDirective, isStandalone: true, selector: "[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]", ngImport: i0 });
1576
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileTemplateDirective, decorators: [{
1692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileTemplateDirective, decorators: [{
1577
1693
  type: Directive,
1578
1694
  args: [{
1579
1695
  selector: '[kendoUploadFileTemplate], [kendoFileSelectFileTemplate]',
@@ -1582,16 +1698,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1582
1698
  }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
1583
1699
 
1584
1700
  /**
1585
- * Used to customize the rendering of the file info section in the list. All other elements of the default template, such as file icon, action buttons, upload progress etc. will be preserved in place. ([see example]({% slug templates_upload %}#toc-file-info-template)).
1701
+ * Used to customize the rendering of the file info section in the list. All other elements of the default template, such as file icon, action buttons, upload progress etc. will be preserved in place. ([See example.](slug:templates_upload#toc-file-info-template))
1702
+ *
1703
+ * The following context variables are available in the template:
1704
+ *
1705
+ * * `let-files`&mdash;Provides a reference to the files which are associated with the current item.
1706
+ * * `let-state`&mdash;Gets a reference to the current state of each file. If the [`batch`](slug:api_upload_uploadcomponent#toc-batch) option of the Upload is set to `true`, the field reflects the state of the whole batch.
1707
+ * * `#myUpload="kendoUpload"` or `#myFileSelect="kendoFileSelect"`&mdash;Provides a reference to the instance of the Upload/FileSelect component. It is exported as `kendoUpload`/`kendoFileSelect` by using the [`exportAs`](https://angular.io/api/core/Component) metadata property.
1708
+ *
1709
+ * @example
1710
+ * ```html
1711
+ * <kendo-upload #myUpload="kendoUpload" ... >
1712
+ * <ng-template kendoUploadFileInfoTemplate let-files let-state>
1713
+ * <div>Name: {{ files[0].name }}</div>
1714
+ * ...
1715
+ * </ng-template>
1716
+ * </kendo-upload>
1717
+ * ```
1586
1718
  */
1587
1719
  class FileInfoTemplateDirective {
1720
+ templateRef;
1588
1721
  constructor(templateRef) {
1589
1722
  this.templateRef = templateRef;
1590
1723
  }
1724
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileInfoTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1725
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FileInfoTemplateDirective, isStandalone: true, selector: "[kendoUploadFileInfoTemplate], [kendoFileSelectFileInfoTemplate]", ngImport: i0 });
1591
1726
  }
1592
- FileInfoTemplateDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileInfoTemplateDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
1593
- FileInfoTemplateDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FileInfoTemplateDirective, isStandalone: true, selector: "[kendoUploadFileInfoTemplate], [kendoFileSelectFileInfoTemplate]", ngImport: i0 });
1594
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileInfoTemplateDirective, decorators: [{
1727
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileInfoTemplateDirective, decorators: [{
1595
1728
  type: Directive,
1596
1729
  args: [{
1597
1730
  selector: '[kendoUploadFileInfoTemplate], [kendoFileSelectFileInfoTemplate]',
@@ -1603,70 +1736,49 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1603
1736
  * @hidden
1604
1737
  */
1605
1738
  class UploadFileSelectBase {
1606
- constructor(uploadService, navigation, cdr, injector, zone) {
1607
- this.uploadService = uploadService;
1608
- this.navigation = navigation;
1609
- this.cdr = cdr;
1610
- this.injector = injector;
1611
- this.zone = zone;
1612
- /**
1613
- * Disables the component.
1614
- *
1615
- * @default false
1616
- */
1617
- this.disabled = false;
1618
- /**
1619
- * Enables the selection of multiple files
1620
- * If set to `false`, only one file can be selected at a time.
1621
- * @default true
1622
- */
1623
- this.multiple = true;
1624
- /**
1625
- * Toggles the visibility of the file list.
1626
- * @default true
1627
- */
1628
- this.showFileList = true;
1629
- /**
1630
- * Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
1631
- * @default 0
1632
- */
1633
- this.tabindex = 0;
1634
- /**
1635
- * @hidden
1636
- */
1637
- this.focusableId = `k-${guid()}`;
1638
- /**
1639
- * @hidden
1640
- */
1641
- this.hostDefaultClasses = true;
1642
- /**
1643
- * Fires when the user navigates outside the component.
1644
- */
1645
- this.onBlur = new EventEmitter();
1646
- /**
1647
- * Fires when the component is focused.
1648
- */
1649
- this.onFocus = new EventEmitter();
1650
- /**
1651
- * Fires when files are selected. If prevented, the selected files will not be added to the list.
1652
- */
1653
- this.select = new EventEmitter();
1654
- /**
1655
- * Fires when a file is about to be removed. If prevented, the file will remain in the list.
1656
- */
1657
- this.remove = new EventEmitter();
1658
- /**
1659
- * @hidden
1660
- */
1661
- this._restrictions = {
1662
- allowedExtensions: [],
1663
- maxFileSize: 0,
1664
- minFileSize: 0
1665
- };
1666
- this.onTouchedCallback = (_) => { };
1667
- this.onChangeCallback = (_) => { };
1668
- this.fileList = this.uploadService.files;
1669
- }
1739
+ uploadService;
1740
+ navigation;
1741
+ cdr;
1742
+ injector;
1743
+ zone;
1744
+ /**
1745
+ * @hidden
1746
+ */
1747
+ fileTemplate;
1748
+ /**
1749
+ * @hidden
1750
+ */
1751
+ fileInfoTemplate;
1752
+ /**
1753
+ * @hidden
1754
+ */
1755
+ fileSelectButton;
1756
+ /**
1757
+ * Sets the `accept` attribute of the internal `input` element of the component.
1758
+ */
1759
+ accept;
1760
+ /**
1761
+ * Disables the component.
1762
+ *
1763
+ * @default false
1764
+ */
1765
+ disabled = false;
1766
+ /**
1767
+ * Enables the selection of multiple files
1768
+ * If set to `false`, only one file can be selected at a time.
1769
+ * @default true
1770
+ */
1771
+ multiple = true;
1772
+ /**
1773
+ * Toggles the visibility of the file list.
1774
+ * @default true
1775
+ */
1776
+ showFileList = true;
1777
+ /**
1778
+ * Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the component.
1779
+ * @default 0
1780
+ */
1781
+ tabindex = 0;
1670
1782
  /**
1671
1783
  * Sets the restrictions for selected files.
1672
1784
  */
@@ -1677,12 +1789,60 @@ class UploadFileSelectBase {
1677
1789
  get restrictions() {
1678
1790
  return this._restrictions;
1679
1791
  }
1792
+ /**
1793
+ * Specifies the id of the external drop zone to associate with the component.
1794
+ */
1795
+ zoneId;
1796
+ /**
1797
+ * @hidden
1798
+ */
1799
+ focusableId = `k-${guid()}`;
1800
+ /**
1801
+ * @hidden
1802
+ */
1803
+ hostDefaultClasses = true;
1680
1804
  /**
1681
1805
  * @hidden
1682
1806
  */
1683
1807
  get hostDisabledClass() {
1684
1808
  return this.disabled;
1685
1809
  }
1810
+ /**
1811
+ * Fires when the user navigates outside the component.
1812
+ */
1813
+ onBlur = new EventEmitter();
1814
+ /**
1815
+ * Fires when the component is focused.
1816
+ */
1817
+ onFocus = new EventEmitter();
1818
+ /**
1819
+ * Fires when files are selected. If prevented, the selected files will not be added to the list.
1820
+ */
1821
+ select = new EventEmitter();
1822
+ /**
1823
+ * Fires when a file is about to be removed. If prevented, the file will remain in the list.
1824
+ */
1825
+ remove = new EventEmitter();
1826
+ /**
1827
+ * @hidden
1828
+ */
1829
+ _restrictions = {
1830
+ allowedExtensions: [],
1831
+ maxFileSize: 0,
1832
+ minFileSize: 0
1833
+ };
1834
+ /**
1835
+ * @hidden
1836
+ */
1837
+ fileList;
1838
+ constructor(uploadService, navigation, cdr, injector, zone) {
1839
+ this.uploadService = uploadService;
1840
+ this.navigation = navigation;
1841
+ this.cdr = cdr;
1842
+ this.injector = injector;
1843
+ this.zone = zone;
1844
+ this.fileList = this.uploadService.files;
1845
+ }
1686
1846
  /**
1687
1847
  * @hidden
1688
1848
  */
@@ -1724,6 +1884,8 @@ class UploadFileSelectBase {
1724
1884
  }
1725
1885
  this.cdr.markForCheck();
1726
1886
  }
1887
+ onTouchedCallback = (_) => { };
1888
+ onChangeCallback = (_) => { };
1727
1889
  /**
1728
1890
  * @hidden
1729
1891
  */
@@ -1784,10 +1946,10 @@ class UploadFileSelectBase {
1784
1946
  blurComponent() {
1785
1947
  this.blur();
1786
1948
  }
1949
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadFileSelectBase, deps: [{ token: UploadService }, { token: NavigationService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
1950
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UploadFileSelectBase, inputs: { accept: "accept", disabled: "disabled", multiple: "multiple", showFileList: "showFileList", tabindex: "tabindex", restrictions: "restrictions", zoneId: "zoneId", focusableId: "focusableId" }, outputs: { onBlur: "blur", onFocus: "focus", select: "select", remove: "remove" }, host: { properties: { "class.k-upload": "this.hostDefaultClasses", "class.k-disabled": "this.hostDisabledClass" } }, queries: [{ propertyName: "fileTemplate", first: true, predicate: FileTemplateDirective, descendants: true }, { propertyName: "fileInfoTemplate", first: true, predicate: FileInfoTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "fileSelectButton", first: true, predicate: ["fileSelectButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0 });
1787
1951
  }
1788
- UploadFileSelectBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadFileSelectBase, deps: [{ token: UploadService }, { token: NavigationService }, { token: i0.ChangeDetectorRef }, { token: i0.Injector }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Directive });
1789
- UploadFileSelectBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: UploadFileSelectBase, inputs: { accept: "accept", disabled: "disabled", multiple: "multiple", showFileList: "showFileList", tabindex: "tabindex", restrictions: "restrictions", zoneId: "zoneId", focusableId: "focusableId" }, outputs: { onBlur: "blur", onFocus: "focus", select: "select", remove: "remove" }, host: { properties: { "class.k-upload": "this.hostDefaultClasses", "class.k-disabled": "this.hostDisabledClass" } }, queries: [{ propertyName: "fileTemplate", first: true, predicate: FileTemplateDirective, descendants: true }, { propertyName: "fileInfoTemplate", first: true, predicate: FileInfoTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "fileSelectButton", first: true, predicate: ["fileSelectButton"], descendants: true, read: ElementRef, static: true }], ngImport: i0 });
1790
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadFileSelectBase, decorators: [{
1952
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadFileSelectBase, decorators: [{
1791
1953
  type: Directive,
1792
1954
  args: [{}]
1793
1955
  }], ctorParameters: function () { return [{ type: UploadService }, { type: NavigationService }, { type: i0.ChangeDetectorRef }, { type: i0.Injector }, { type: i0.NgZone }]; }, propDecorators: { fileTemplate: [{
@@ -1838,12 +2000,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1838
2000
  * @hidden
1839
2001
  */
1840
2002
  class UploadActionButtonsComponent {
1841
- constructor(uploadService, localization, navigation) {
1842
- this.uploadService = uploadService;
1843
- this.localization = localization;
1844
- this.navigation = navigation;
1845
- this.hostDefaultClass = true;
1846
- }
2003
+ uploadService;
2004
+ localization;
2005
+ navigation;
2006
+ disabled;
2007
+ actionsLayout;
2008
+ clearButton;
2009
+ uploadButton;
2010
+ hostDefaultClass = true;
1847
2011
  get actionButtonsEndClassName() {
1848
2012
  return this.actionsLayout === 'end';
1849
2013
  }
@@ -1856,6 +2020,11 @@ class UploadActionButtonsComponent {
1856
2020
  get actionButtonsCenterClassName() {
1857
2021
  return this.actionsLayout === 'center';
1858
2022
  }
2023
+ constructor(uploadService, localization, navigation) {
2024
+ this.uploadService = uploadService;
2025
+ this.localization = localization;
2026
+ this.navigation = navigation;
2027
+ }
1859
2028
  onUploadButtonFocus() {
1860
2029
  if (!this.navigation.focused) {
1861
2030
  this.navigation.focusedIndex = this.navigation.lastIndex;
@@ -1884,9 +2053,8 @@ class UploadActionButtonsComponent {
1884
2053
  textFor(key) {
1885
2054
  return this.localization.get(key);
1886
2055
  }
1887
- }
1888
- UploadActionButtonsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadActionButtonsComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
1889
- UploadActionButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UploadActionButtonsComponent, isStandalone: true, selector: "kendo-upload-action-buttons", inputs: { disabled: "disabled", actionsLayout: "actionsLayout" }, host: { properties: { "class.k-actions": "this.hostDefaultClass", "class.k-actions-end": "this.actionButtonsEndClassName", "class.k-actions-stretched": "this.actionButtonsStretchedClassName", "class.k-actions-start": "this.actionButtonsStartClassName", "class.k-actions-center": "this.actionButtonsCenterClassName" } }, viewQueries: [{ propertyName: "clearButton", first: true, predicate: ["clearButton"], descendants: true, static: true }, { propertyName: "uploadButton", first: true, predicate: ["uploadButton"], descendants: true, static: true }], ngImport: i0, template: `
2056
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadActionButtonsComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
2057
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploadActionButtonsComponent, isStandalone: true, selector: "kendo-upload-action-buttons", inputs: { disabled: "disabled", actionsLayout: "actionsLayout" }, host: { properties: { "class.k-actions": "this.hostDefaultClass", "class.k-actions-end": "this.actionButtonsEndClassName", "class.k-actions-stretched": "this.actionButtonsStretchedClassName", "class.k-actions-start": "this.actionButtonsStartClassName", "class.k-actions-center": "this.actionButtonsCenterClassName" } }, viewQueries: [{ propertyName: "clearButton", first: true, predicate: ["clearButton"], descendants: true, static: true }, { propertyName: "uploadButton", first: true, predicate: ["uploadButton"], descendants: true, static: true }], ngImport: i0, template: `
1890
2058
  <button #clearButton role="button" class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-clear-selected"
1891
2059
  (click)="onClearButtonClick($event)">
1892
2060
  {{textFor('clearSelectedFiles')}}
@@ -1897,7 +2065,8 @@ UploadActionButtonsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14
1897
2065
  {{textFor('uploadSelectedFiles')}}
1898
2066
  </button>
1899
2067
  `, isInline: true });
1900
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadActionButtonsComponent, decorators: [{
2068
+ }
2069
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadActionButtonsComponent, decorators: [{
1901
2070
  type: Component,
1902
2071
  args: [{
1903
2072
  selector: 'kendo-upload-action-buttons',
@@ -1945,11 +2114,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
1945
2114
  * @hidden
1946
2115
  */
1947
2116
  class FileListItemDirective {
2117
+ navigationService;
2118
+ uploadService;
2119
+ files;
2120
+ index;
2121
+ fileClass = true;
2122
+ focused = false;
2123
+ element;
1948
2124
  constructor(el, navigationService, uploadService) {
1949
2125
  this.navigationService = navigationService;
1950
2126
  this.uploadService = uploadService;
1951
- this.fileClass = true;
1952
- this.focused = false;
1953
2127
  this.element = el;
1954
2128
  }
1955
2129
  focus() {
@@ -1992,10 +2166,10 @@ class FileListItemDirective {
1992
2166
  this.navigationService.focusedIndex = this.navigationService.focusedFileIndex = this.index;
1993
2167
  }
1994
2168
  }
2169
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListItemDirective, deps: [{ token: i0.ElementRef }, { token: NavigationService }, { token: UploadService }], target: i0.ɵɵFactoryTarget.Directive });
2170
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FileListItemDirective, isStandalone: true, selector: "[kendoUploadFileListItem]", inputs: { files: "files", index: "index" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()", "click": "onClick($event)" }, properties: { "class.k-file": "this.fileClass", "attr.data-uid": "this.uidAttribute", "attr.tabIndex": "this.tabIndex", "class.k-file-error": "this.kFileError", "class.k-file-invalid": "this.kFileInvalid", "class.k-file-progress": "this.kFileProgress", "class.k-file-success": "this.kFileSuccess", "class.k-focus": "this.kStateFocused" } }, ngImport: i0 });
1995
2171
  }
1996
- FileListItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListItemDirective, deps: [{ token: i0.ElementRef }, { token: NavigationService }, { token: UploadService }], target: i0.ɵɵFactoryTarget.Directive });
1997
- FileListItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FileListItemDirective, isStandalone: true, selector: "[kendoUploadFileListItem]", inputs: { files: "files", index: "index" }, host: { listeners: { "focus": "onFocus()", "blur": "onBlur()", "click": "onClick($event)" }, properties: { "class.k-file": "this.fileClass", "attr.data-uid": "this.uidAttribute", "attr.tabIndex": "this.tabIndex", "class.k-file-error": "this.kFileError", "class.k-file-invalid": "this.kFileInvalid", "class.k-file-progress": "this.kFileProgress", "class.k-file-success": "this.kFileSuccess", "class.k-focus": "this.kStateFocused" } }, ngImport: i0 });
1998
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListItemDirective, decorators: [{
2172
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListItemDirective, decorators: [{
1999
2173
  type: Directive,
2000
2174
  args: [{
2001
2175
  selector: '[kendoUploadFileListItem]',
@@ -2044,9 +2218,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2044
2218
  * @hidden
2045
2219
  */
2046
2220
  class FileListItemBase {
2221
+ uploadService;
2222
+ progressComplete = 0;
2223
+ localization;
2224
+ uploadProgressSubscription;
2047
2225
  constructor(uploadService) {
2048
2226
  this.uploadService = uploadService;
2049
- this.progressComplete = 0;
2050
2227
  }
2051
2228
  subscribeUploadProgress(uploadProgressHandler) {
2052
2229
  this.uploadProgressSubscription = this.uploadService.uploadProgressEvent.subscribe(uploadProgressHandler);
@@ -2073,10 +2250,10 @@ class FileListItemBase {
2073
2250
  textFor(key) {
2074
2251
  return this.localization.get(key);
2075
2252
  }
2253
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListItemBase, deps: [{ token: UploadService }], target: i0.ɵɵFactoryTarget.Component });
2254
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileListItemBase, selector: "ng-component", ngImport: i0, template: '', isInline: true });
2076
2255
  }
2077
- FileListItemBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListItemBase, deps: [{ token: UploadService }], target: i0.ɵɵFactoryTarget.Component });
2078
- FileListItemBase.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FileListItemBase, selector: "ng-component", ngImport: i0, template: '', isInline: true });
2079
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListItemBase, decorators: [{
2256
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListItemBase, decorators: [{
2080
2257
  type: Component,
2081
2258
  args: [{ template: '' }]
2082
2259
  }], ctorParameters: function () { return [{ type: UploadService }]; } });
@@ -2085,15 +2262,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2085
2262
  * @hidden
2086
2263
  */
2087
2264
  class FileListItemActionButtonComponent {
2265
+ uploadService;
2266
+ localization;
2267
+ navigation;
2268
+ file;
2269
+ disabled;
2270
+ progress;
2271
+ retrySVGIcon = arrowRotateCwSmallIcon;
2272
+ playSVGIcon = playSmIcon;
2273
+ pauseSVGIcon = pauseSmIcon;
2274
+ cancelSVGIcon = cancelIcon;
2275
+ deleteSVGIcon = xIcon;
2088
2276
  constructor(uploadService, localization, navigation) {
2089
2277
  this.uploadService = uploadService;
2090
2278
  this.localization = localization;
2091
2279
  this.navigation = navigation;
2092
- this.retrySVGIcon = arrowRotateCwSmallIcon;
2093
- this.playSVGIcon = playSmIcon;
2094
- this.pauseSVGIcon = pauseSmIcon;
2095
- this.cancelSVGIcon = cancelIcon;
2096
- this.deleteSVGIcon = xIcon;
2097
2280
  }
2098
2281
  onRetryClick() {
2099
2282
  if (this.disabled) {
@@ -2164,9 +2347,8 @@ class FileListItemActionButtonComponent {
2164
2347
  }
2165
2348
  return true;
2166
2349
  }
2167
- }
2168
- FileListItemActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListItemActionButtonComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
2169
- FileListItemActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FileListItemActionButtonComponent, isStandalone: true, selector: "kendo-upload-file-list-item-action-button", inputs: { file: "file", disabled: "disabled", progress: "progress" }, ngImport: i0, template: `
2350
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListItemActionButtonComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
2351
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileListItemActionButtonComponent, isStandalone: true, selector: "kendo-upload-file-list-item-action-button", inputs: { file: "file", disabled: "disabled", progress: "progress" }, ngImport: i0, template: `
2170
2352
  <span class="k-upload-actions">
2171
2353
  <span class="k-upload-pct" *ngIf="isUploading || isPaused">{{progress}}%</span>
2172
2354
 
@@ -2216,7 +2398,8 @@ FileListItemActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion
2216
2398
  ></button>
2217
2399
  </span>
2218
2400
  `, isInline: true, dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }] });
2219
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListItemActionButtonComponent, decorators: [{
2401
+ }
2402
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListItemActionButtonComponent, decorators: [{
2220
2403
  type: Component,
2221
2404
  args: [{
2222
2405
  selector: 'kendo-upload-file-list-item-action-button',
@@ -2285,10 +2468,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2285
2468
  * @hidden
2286
2469
  */
2287
2470
  class FileListMultipleItemsComponent extends FileListItemBase {
2471
+ localization;
2472
+ disabled;
2473
+ files;
2474
+ fileInfoTemplate;
2475
+ filesHaveErrors;
2476
+ copySVGIcon = copyIcon;
2288
2477
  constructor(localization, uploadService) {
2289
2478
  super(uploadService);
2290
2479
  this.localization = localization;
2291
- this.copySVGIcon = copyIcon;
2292
2480
  this.subscribeUploadProgress((args) => {
2293
2481
  if (args.files[0].uid === this.files[0].uid) {
2294
2482
  this.progressComplete = args.percentComplete;
@@ -2326,9 +2514,8 @@ class FileListMultipleItemsComponent extends FileListItemBase {
2326
2514
  get isUploadFailed() {
2327
2515
  return this.files[0].state === FileState.Failed;
2328
2516
  }
2329
- }
2330
- FileListMultipleItemsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListMultipleItemsComponent, deps: [{ token: i1$1.LocalizationService }, { token: UploadService }], target: i0.ɵɵFactoryTarget.Component });
2331
- FileListMultipleItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FileListMultipleItemsComponent, isStandalone: true, selector: "kendo-upload-file-list-multiple-items", inputs: { disabled: "disabled", files: "files", fileInfoTemplate: "fileInfoTemplate" }, usesInheritance: true, ngImport: i0, template: `
2517
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListMultipleItemsComponent, deps: [{ token: i1$1.LocalizationService }, { token: UploadService }], target: i0.ɵɵFactoryTarget.Component });
2518
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileListMultipleItemsComponent, isStandalone: true, selector: "kendo-upload-file-list-multiple-items", inputs: { disabled: "disabled", files: "files", fileInfoTemplate: "fileInfoTemplate" }, usesInheritance: true, ngImport: i0, template: `
2332
2519
  <kendo-progressbar
2333
2520
  [@progressState]="showProgress"
2334
2521
  [value]="progressComplete"
@@ -2374,15 +2561,16 @@ FileListMultipleItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2374
2561
  [progress]='progressComplete'>
2375
2562
  </kendo-upload-file-list-item-action-button>
2376
2563
  `, isInline: true, dependencies: [{ kind: "component", type: ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], animations: [
2377
- trigger('progressState', [
2378
- state('active', style({ opacity: 1 })),
2379
- state('inactive', style({ opacity: 0 })),
2380
- transition('void => active', style({ opacity: 0 })),
2381
- transition('inactive => active', style({ opacity: 1 })),
2382
- transition('active => inactive', animate('1s 2s ease-out'))
2383
- ])
2384
- ] });
2385
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListMultipleItemsComponent, decorators: [{
2564
+ trigger('progressState', [
2565
+ state('active', style({ opacity: 1 })),
2566
+ state('inactive', style({ opacity: 0 })),
2567
+ transition('void => active', style({ opacity: 0 })),
2568
+ transition('inactive => active', style({ opacity: 1 })),
2569
+ transition('active => inactive', animate('1s 2s ease-out'))
2570
+ ])
2571
+ ] });
2572
+ }
2573
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListMultipleItemsComponent, decorators: [{
2386
2574
  type: Component,
2387
2575
  args: [{
2388
2576
  animations: [
@@ -2456,6 +2644,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2456
2644
  * @hidden
2457
2645
  */
2458
2646
  class FileListSingleItemComponent extends FileListItemBase {
2647
+ localization;
2648
+ disabled;
2649
+ file;
2650
+ fileInfoTemplate;
2459
2651
  constructor(localization, uploadService) {
2460
2652
  super(uploadService);
2461
2653
  this.localization = localization;
@@ -2505,9 +2697,8 @@ class FileListSingleItemComponent extends FileListItemBase {
2505
2697
  get isNotYetUploaded() {
2506
2698
  return !this.isUploadFailed && !this.isUploadSuccessful;
2507
2699
  }
2508
- }
2509
- FileListSingleItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListSingleItemComponent, deps: [{ token: i1$1.LocalizationService }, { token: UploadService }], target: i0.ɵɵFactoryTarget.Component });
2510
- FileListSingleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FileListSingleItemComponent, isStandalone: true, selector: "kendo-upload-file-list-single-item", inputs: { disabled: "disabled", file: "file", fileInfoTemplate: "fileInfoTemplate" }, usesInheritance: true, ngImport: i0, template: `
2700
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListSingleItemComponent, deps: [{ token: i1$1.LocalizationService }, { token: UploadService }], target: i0.ɵɵFactoryTarget.Component });
2701
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileListSingleItemComponent, isStandalone: true, selector: "kendo-upload-file-list-single-item", inputs: { disabled: "disabled", file: "file", fileInfoTemplate: "fileInfoTemplate" }, usesInheritance: true, ngImport: i0, template: `
2511
2702
  <kendo-progressbar
2512
2703
  [@progressState]="showProgress"
2513
2704
  [value]="progressComplete"
@@ -2545,15 +2736,16 @@ FileListSingleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
2545
2736
  [progress]='progressComplete'>
2546
2737
  </kendo-upload-file-list-item-action-button>
2547
2738
  `, isInline: true, dependencies: [{ kind: "component", type: ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], animations: [
2548
- trigger('progressState', [
2549
- state('active', style({ opacity: 1 })),
2550
- state('inactive', style({ opacity: 0 })),
2551
- transition('void => active', style({ opacity: 0 })),
2552
- transition('inactive => active', style({ opacity: 1 })),
2553
- transition('active => inactive', animate('1s 2s ease-out'))
2554
- ])
2555
- ] });
2556
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListSingleItemComponent, decorators: [{
2739
+ trigger('progressState', [
2740
+ state('active', style({ opacity: 1 })),
2741
+ state('inactive', style({ opacity: 0 })),
2742
+ transition('void => active', style({ opacity: 0 })),
2743
+ transition('inactive => active', style({ opacity: 1 })),
2744
+ transition('active => inactive', animate('1s 2s ease-out'))
2745
+ ])
2746
+ ] });
2747
+ }
2748
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListSingleItemComponent, decorators: [{
2557
2749
  type: Component,
2558
2750
  args: [{
2559
2751
  animations: [
@@ -2620,10 +2812,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2620
2812
  * @hidden
2621
2813
  */
2622
2814
  class FileListComponent {
2815
+ uploadService;
2816
+ navigation;
2817
+ disabled;
2818
+ fileList;
2819
+ fileTemplate;
2820
+ fileInfoTemplate;
2821
+ fileListItems;
2822
+ fileListRole = 'list';
2823
+ focusSubscription;
2824
+ actionSubscription;
2623
2825
  constructor(uploadService, navigation) {
2624
2826
  this.uploadService = uploadService;
2625
2827
  this.navigation = navigation;
2626
- this.fileListRole = 'list';
2627
2828
  this.onItemFocus();
2628
2829
  this.onItemAction();
2629
2830
  }
@@ -2689,9 +2890,8 @@ class FileListComponent {
2689
2890
  this.focusSubscription.unsubscribe();
2690
2891
  this.actionSubscription.unsubscribe();
2691
2892
  }
2692
- }
2693
- FileListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListComponent, deps: [{ token: UploadService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
2694
- FileListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FileListComponent, isStandalone: true, selector: "[kendo-upload-file-list]", inputs: { disabled: "disabled", fileList: "fileList", fileTemplate: "fileTemplate", fileInfoTemplate: "fileInfoTemplate" }, host: { properties: { "attr.role": "this.fileListRole" } }, viewQueries: [{ propertyName: "fileListItems", predicate: FileListItemDirective, descendants: true }], ngImport: i0, template: `
2893
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListComponent, deps: [{ token: UploadService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
2894
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileListComponent, isStandalone: true, selector: "[kendo-upload-file-list]", inputs: { disabled: "disabled", fileList: "fileList", fileTemplate: "fileTemplate", fileInfoTemplate: "fileInfoTemplate" }, host: { properties: { "attr.role": "this.fileListRole" } }, viewQueries: [{ propertyName: "fileListItems", predicate: FileListItemDirective, descendants: true }], ngImport: i0, template: `
2695
2895
  <ng-template ngFor
2696
2896
  [ngForOf]="fileList"
2697
2897
  let-files
@@ -2718,7 +2918,8 @@ FileListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", vers
2718
2918
  </li>
2719
2919
  </ng-template>
2720
2920
  `, isInline: true, dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: FileListItemDirective, selector: "[kendoUploadFileListItem]", inputs: ["files", "index"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FileListSingleItemComponent, selector: "kendo-upload-file-list-single-item", inputs: ["disabled", "file", "fileInfoTemplate"] }, { kind: "component", type: FileListMultipleItemsComponent, selector: "kendo-upload-file-list-multiple-items", inputs: ["disabled", "files", "fileInfoTemplate"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
2721
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileListComponent, decorators: [{
2921
+ }
2922
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileListComponent, decorators: [{
2722
2923
  type: Component,
2723
2924
  args: [{
2724
2925
  selector: '[kendo-upload-file-list]',
@@ -2772,12 +2973,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2772
2973
  * @hidden
2773
2974
  */
2774
2975
  class UploadStatusTotalComponent {
2976
+ localization;
2977
+ fileList;
2978
+ isFailed;
2979
+ isPaused;
2980
+ isUploading;
2981
+ statusText;
2982
+ checkmarkIcon = checkIcon;
2983
+ exceptionSVGIcon = exclamationCircleIcon;
2984
+ uploadSVGIcon = uploadIcon;
2985
+ pauseSVGIcon = pauseSmIcon;
2775
2986
  constructor(localization) {
2776
2987
  this.localization = localization;
2777
- this.checkmarkIcon = checkIcon;
2778
- this.exceptionSVGIcon = exclamationCircleIcon;
2779
- this.uploadSVGIcon = uploadIcon;
2780
- this.pauseSVGIcon = pauseSmIcon;
2781
2988
  }
2782
2989
  get iconClass() {
2783
2990
  if (!this.isUploading && !this.isFailed) {
@@ -2819,9 +3026,8 @@ class UploadStatusTotalComponent {
2819
3026
  : this.localization.get('headerStatusUploaded');
2820
3027
  }
2821
3028
  }
2822
- }
2823
- UploadStatusTotalComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadStatusTotalComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
2824
- UploadStatusTotalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UploadStatusTotalComponent, isStandalone: true, selector: "kendo-upload-status-total", inputs: { fileList: "fileList" }, ngImport: i0, template: `
3029
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadStatusTotalComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3030
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploadStatusTotalComponent, isStandalone: true, selector: "kendo-upload-status-total", inputs: { fileList: "fileList" }, ngImport: i0, template: `
2825
3031
  <kendo-icon-wrapper
2826
3032
  [name]="iconClass"
2827
3033
  [svgIcon]="SVGIconClass"
@@ -2829,7 +3035,8 @@ UploadStatusTotalComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0
2829
3035
  </kendo-icon-wrapper>
2830
3036
  {{statusText}}
2831
3037
  `, isInline: true, dependencies: [{ kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
2832
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadStatusTotalComponent, decorators: [{
3038
+ }
3039
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadStatusTotalComponent, decorators: [{
2833
3040
  type: Component,
2834
3041
  args: [{
2835
3042
  selector: 'kendo-upload-status-total',
@@ -2852,16 +3059,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2852
3059
  * @hidden
2853
3060
  */
2854
3061
  class FileSelectDirective {
3062
+ uploadService;
3063
+ navigation;
3064
+ dir;
3065
+ disabled;
3066
+ multiple;
3067
+ restrictions;
3068
+ accept;
3069
+ required;
3070
+ type = "file";
3071
+ autocomplete = "off";
3072
+ tabIndex = -1;
3073
+ ariaHidden = true;
3074
+ element;
2855
3075
  constructor(uploadService, navigation, el) {
2856
3076
  this.uploadService = uploadService;
2857
3077
  this.navigation = navigation;
2858
- this.type = "file";
2859
- this.autocomplete = "off";
2860
- this.tabIndex = -1;
2861
- this.ariaHidden = true;
2862
- this.classNames = true;
2863
3078
  this.element = el;
2864
3079
  }
3080
+ classNames = true;
2865
3081
  get nameAttribute() {
2866
3082
  return this.uploadService.async.saveField;
2867
3083
  }
@@ -2905,10 +3121,10 @@ class FileSelectDirective {
2905
3121
  this.navigation.focusedIndex = -1;
2906
3122
  });
2907
3123
  }
3124
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSelectDirective, deps: [{ token: UploadService }, { token: NavigationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
3125
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: FileSelectDirective, isStandalone: true, selector: "[kendoFileSelect]", inputs: { dir: "dir", disabled: "disabled", multiple: "multiple", restrictions: "restrictions", accept: "accept", required: "required" }, host: { listeners: { "change": "onInputChange($event)" }, properties: { "attr.type": "this.type", "attr.autocomplete": "this.autocomplete", "attr.tabindex": "this.tabIndex", "attr.aria-hidden": "this.ariaHidden", "class.k-hidden": "this.classNames", "attr.name": "this.nameAttribute", "attr.multiple": "this.multipleAttribute", "attr.dir": "this.dirAttribute", "attr.disabled": "this.disabledAttribute", "attr.accept": "this.acceptAttribute", "attr.required": "this.requiredAttribute" } }, ngImport: i0 });
2908
3126
  }
2909
- FileSelectDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileSelectDirective, deps: [{ token: UploadService }, { token: NavigationService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
2910
- FileSelectDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: FileSelectDirective, isStandalone: true, selector: "[kendoFileSelect]", inputs: { dir: "dir", disabled: "disabled", multiple: "multiple", restrictions: "restrictions", accept: "accept", required: "required" }, host: { listeners: { "change": "onInputChange($event)" }, properties: { "attr.type": "this.type", "attr.autocomplete": "this.autocomplete", "attr.tabindex": "this.tabIndex", "attr.aria-hidden": "this.ariaHidden", "class.k-hidden": "this.classNames", "attr.name": "this.nameAttribute", "attr.multiple": "this.multipleAttribute", "attr.dir": "this.dirAttribute", "attr.disabled": "this.disabledAttribute", "attr.accept": "this.acceptAttribute", "attr.required": "this.requiredAttribute" } }, ngImport: i0 });
2911
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileSelectDirective, decorators: [{
3127
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSelectDirective, decorators: [{
2912
3128
  type: Directive,
2913
3129
  args: [{
2914
3130
  selector: '[kendoFileSelect]',
@@ -2968,12 +3184,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
2968
3184
  * @hidden
2969
3185
  */
2970
3186
  class DropZoneBase {
2971
- constructor(element, renderer, cssClass) {
2972
- this.element = element;
2973
- this.renderer = renderer;
2974
- this.hideIntervalElement = null;
2975
- this.hoverClass = cssClass;
2976
- }
3187
+ element;
3188
+ renderer;
3189
+ hoverClass;
3190
+ lastDragElement;
3191
+ hideIntervalElement = null;
2977
3192
  /**
2978
3193
  * @hidden
2979
3194
  */
@@ -2999,6 +3214,11 @@ class DropZoneBase {
2999
3214
  this.lastDragElement = new Date();
3000
3215
  return false;
3001
3216
  }
3217
+ constructor(element, renderer, cssClass) {
3218
+ this.element = element;
3219
+ this.renderer = renderer;
3220
+ this.hoverClass = cssClass;
3221
+ }
3002
3222
  calculateTimeDiff(prevEvent) {
3003
3223
  return new Date().getTime() - prevEvent.getTime();
3004
3224
  }
@@ -3008,10 +3228,10 @@ class DropZoneBase {
3008
3228
  removeClass(className) {
3009
3229
  this.renderer.removeClass(this.element.nativeElement, className);
3010
3230
  }
3231
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropZoneBase, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: 'hoverClass' }], target: i0.ɵɵFactoryTarget.Directive });
3232
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DropZoneBase, host: { listeners: { "dragenter": "onElementDragEnterListener()", "dragover": "onElementDragOverListener()" } }, ngImport: i0 });
3011
3233
  }
3012
- DropZoneBase.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropZoneBase, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: 'hoverClass' }], target: i0.ɵɵFactoryTarget.Directive });
3013
- DropZoneBase.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DropZoneBase, host: { listeners: { "dragenter": "onElementDragEnterListener()", "dragover": "onElementDragOverListener()" } }, ngImport: i0 });
3014
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropZoneBase, decorators: [{
3234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropZoneBase, decorators: [{
3015
3235
  type: Directive
3016
3236
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: undefined, decorators: [{
3017
3237
  type: Inject,
@@ -3028,13 +3248,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3028
3248
  * @hidden
3029
3249
  */
3030
3250
  class DropZoneInternalDirective extends DropZoneBase {
3251
+ ngZone;
3252
+ uploadService;
3253
+ disabled;
3254
+ multiple;
3255
+ restrictions;
3256
+ initialClassName = true;
3257
+ unsubscribeDocumentDragEnter;
3258
+ unsubscribeDocumentDragOver;
3259
+ lastDragDocument;
3260
+ hideIntervalDocument = null;
3261
+ activeClass = 'k-dropzone-active';
3031
3262
  constructor(element, renderer, ngZone, uploadService) {
3032
3263
  super(element, renderer, 'k-hover');
3033
3264
  this.ngZone = ngZone;
3034
3265
  this.uploadService = uploadService;
3035
- this.initialClassName = true;
3036
- this.hideIntervalDocument = null;
3037
- this.activeClass = 'k-dropzone-active';
3038
3266
  this.ngZone.runOutsideAngular(() => {
3039
3267
  this.unsubscribeDocumentDragEnter = this.renderer.listen('document', 'dragenter', () => this.onDocumentDragEnter());
3040
3268
  this.unsubscribeDocumentDragOver = this.renderer.listen('document', 'dragover', () => this.onDocumentDragOver());
@@ -3086,10 +3314,10 @@ class DropZoneInternalDirective extends DropZoneBase {
3086
3314
  }
3087
3315
  return false;
3088
3316
  }
3317
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropZoneInternalDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: UploadService }], target: i0.ɵɵFactoryTarget.Directive });
3318
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DropZoneInternalDirective, isStandalone: true, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: { disabled: "disabled", multiple: "multiple", restrictions: "restrictions" }, host: { listeners: { "drop": "onDropListener($event)" }, properties: { "class.k-dropzone": "this.initialClassName", "class.k-upload-dropzone": "this.initialClassName" } }, usesInheritance: true, ngImport: i0 });
3089
3319
  }
3090
- DropZoneInternalDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropZoneInternalDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: UploadService }], target: i0.ɵɵFactoryTarget.Directive });
3091
- DropZoneInternalDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: DropZoneInternalDirective, isStandalone: true, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: { disabled: "disabled", multiple: "multiple", restrictions: "restrictions" }, host: { listeners: { "drop": "onDropListener($event)" }, properties: { "class.k-dropzone": "this.initialClassName", "class.k-upload-dropzone": "this.initialClassName" } }, usesInheritance: true, ngImport: i0 });
3092
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: DropZoneInternalDirective, decorators: [{
3320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DropZoneInternalDirective, decorators: [{
3093
3321
  type: Directive,
3094
3322
  args: [{
3095
3323
  selector: `
@@ -3119,10 +3347,94 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3119
3347
  * @hidden
3120
3348
  */
3121
3349
  class Messages extends ComponentMessages {
3350
+ /**
3351
+ * Sets the text for the **Cancel** button.
3352
+ */
3353
+ cancel;
3354
+ /**
3355
+ * Sets the text for the **Clear** button.
3356
+ */
3357
+ clearSelectedFiles;
3358
+ /**
3359
+ * Sets the drop-zone hint.
3360
+ */
3361
+ dropFilesHere;
3362
+ /**
3363
+ * Sets the external drop-zone hint.
3364
+ */
3365
+ externalDropFilesHere;
3366
+ /**
3367
+ * Sets the status message for a batch of files.
3368
+ */
3369
+ filesBatchStatus;
3370
+ /**
3371
+ * Sets the status message for a batch of files after failed upload.
3372
+ */
3373
+ filesBatchStatusFailed;
3374
+ /**
3375
+ * Sets the status message for a batch of files after successful upload.
3376
+ */
3377
+ filesBatchStatusUploaded;
3378
+ /**
3379
+ * Sets the file status message after failed upload.
3380
+ */
3381
+ fileStatusFailed;
3382
+ /**
3383
+ * Sets the file status message after successful upload.
3384
+ */
3385
+ fileStatusUploaded;
3386
+ /**
3387
+ * Sets the header status message when the file upload is paused.
3388
+ */
3389
+ headerStatusPaused;
3390
+ /**
3391
+ * Sets the header status message after the file upload completes.
3392
+ */
3393
+ headerStatusUploaded;
3394
+ /**
3395
+ * Sets the header status message during the upload of the file.
3396
+ */
3397
+ headerStatusUploading;
3398
+ /**
3399
+ * Sets the text for the invalid `allowedExtensions` restriction message.
3400
+ */
3401
+ invalidFileExtension;
3402
+ /**
3403
+ * Sets the text for the invalid `maxFileSize` restriction message.
3404
+ */
3405
+ invalidMaxFileSize;
3406
+ /**
3407
+ * Sets the text for the invalid `minFileSize` restriction message.
3408
+ */
3409
+ invalidMinFileSize;
3410
+ /**
3411
+ * Sets the text for the **Pause** button.
3412
+ */
3413
+ pause;
3414
+ /**
3415
+ * Sets the text for the **Remove** button.
3416
+ */
3417
+ remove;
3418
+ /**
3419
+ * Sets the text for the **Resume** button.
3420
+ */
3421
+ resume;
3422
+ /**
3423
+ * Sets the text for the **Retry** button.
3424
+ */
3425
+ retry;
3426
+ /**
3427
+ * Sets the text for the **Select** button.
3428
+ */
3429
+ select;
3430
+ /**
3431
+ * Sets the text for the **Upload files** button.
3432
+ */
3433
+ uploadSelectedFiles;
3434
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3435
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: Messages, inputs: { cancel: "cancel", clearSelectedFiles: "clearSelectedFiles", dropFilesHere: "dropFilesHere", externalDropFilesHere: "externalDropFilesHere", filesBatchStatus: "filesBatchStatus", filesBatchStatusFailed: "filesBatchStatusFailed", filesBatchStatusUploaded: "filesBatchStatusUploaded", fileStatusFailed: "fileStatusFailed", fileStatusUploaded: "fileStatusUploaded", headerStatusPaused: "headerStatusPaused", headerStatusUploaded: "headerStatusUploaded", headerStatusUploading: "headerStatusUploading", invalidFileExtension: "invalidFileExtension", invalidMaxFileSize: "invalidMaxFileSize", invalidMinFileSize: "invalidMinFileSize", pause: "pause", remove: "remove", resume: "resume", retry: "retry", select: "select", uploadSelectedFiles: "uploadSelectedFiles" }, usesInheritance: true, ngImport: i0 });
3122
3436
  }
3123
- Messages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
3124
- Messages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: Messages, inputs: { cancel: "cancel", clearSelectedFiles: "clearSelectedFiles", dropFilesHere: "dropFilesHere", externalDropFilesHere: "externalDropFilesHere", filesBatchStatus: "filesBatchStatus", filesBatchStatusFailed: "filesBatchStatusFailed", filesBatchStatusUploaded: "filesBatchStatusUploaded", fileStatusFailed: "fileStatusFailed", fileStatusUploaded: "fileStatusUploaded", headerStatusPaused: "headerStatusPaused", headerStatusUploaded: "headerStatusUploaded", headerStatusUploading: "headerStatusUploading", invalidFileExtension: "invalidFileExtension", invalidMaxFileSize: "invalidMaxFileSize", invalidMinFileSize: "invalidMinFileSize", pause: "pause", remove: "remove", resume: "resume", retry: "retry", select: "select", uploadSelectedFiles: "uploadSelectedFiles" }, usesInheritance: true, ngImport: i0 });
3125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: Messages, decorators: [{
3437
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: Messages, decorators: [{
3126
3438
  type: Directive
3127
3439
  }], propDecorators: { cancel: [{
3128
3440
  type: Input
@@ -3172,19 +3484,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
3172
3484
  * @hidden
3173
3485
  */
3174
3486
  class LocalizedMessagesDirective extends Messages {
3487
+ service;
3175
3488
  constructor(service) {
3176
3489
  super();
3177
3490
  this.service = service;
3178
3491
  }
3492
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3493
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: LocalizedMessagesDirective, isStandalone: true, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n ", providers: [
3494
+ {
3495
+ provide: Messages,
3496
+ useExisting: forwardRef(() => LocalizedMessagesDirective)
3497
+ }
3498
+ ], usesInheritance: true, ngImport: i0 });
3179
3499
  }
3180
- LocalizedMessagesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Directive });
3181
- LocalizedMessagesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: LocalizedMessagesDirective, isStandalone: true, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n ", providers: [
3182
- {
3183
- provide: Messages,
3184
- useExisting: forwardRef(() => LocalizedMessagesDirective)
3185
- }
3186
- ], usesInheritance: true, ngImport: i0 });
3187
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
3500
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: LocalizedMessagesDirective, decorators: [{
3188
3501
  type: Directive,
3189
3502
  args: [{
3190
3503
  providers: [
@@ -3217,83 +3530,14 @@ let idx$1 = 0;
3217
3530
  * Represents the [Kendo UI Upload component for Angular]({% slug overview_upload %}).
3218
3531
  */
3219
3532
  class UploadComponent extends UploadFileSelectBase {
3220
- constructor(uploadService, localization, navigation, dropZoneService, zone, renderer, cdr, wrapper, injector) {
3221
- super(uploadService, navigation, cdr, injector, zone);
3222
- this.uploadService = uploadService;
3223
- this.localization = localization;
3224
- this.navigation = navigation;
3225
- this.dropZoneService = dropZoneService;
3226
- this.zone = zone;
3227
- this.renderer = renderer;
3228
- this.cdr = cdr;
3229
- this.injector = injector;
3230
- /**
3231
- * Enables the chunk functionality of the Upload.
3232
- *
3233
- * @default false
3234
- */
3235
- this.chunkable = false;
3236
- /**
3237
- * Toggles the visibility of the file list.
3238
- * @default true
3239
- */
3240
- this.showFileList = true;
3241
- /**
3242
- * Specifies the possible layout of the action buttons.
3243
- */
3244
- this.actionsLayout = 'end';
3245
- /**
3246
- * Fires when the upload is canceled while in progress.
3247
- */
3248
- this.cancel = new EventEmitter();
3249
- /**
3250
- * Fires when the file list is about to be cleared. If prevented, the files will not be cleared.
3251
- */
3252
- this.clear = new EventEmitter();
3253
- /**
3254
- * Fires when all active uploads are completed either successfully or with errors.
3255
- */
3256
- this.complete = new EventEmitter();
3257
- /**
3258
- * Fires when an `upload` or `remove` operation has failed.
3259
- */
3260
- this.error = new EventEmitter();
3261
- /**
3262
- * Fires when the upload of a file has been paused.
3263
- */
3264
- this.pause = new EventEmitter();
3265
- /**
3266
- * Fires when the upload of a file has been resumed.
3267
- */
3268
- this.resume = new EventEmitter();
3269
- /**
3270
- * Fires when an `upload` or `remove` operation is successfully completed.
3271
- */
3272
- this.success = new EventEmitter();
3273
- /**
3274
- * Fires when one or more files are about to be uploaded. If prevented, the files will neither be uploaded, nor added to the file list.
3275
- */
3276
- this.upload = new EventEmitter();
3277
- /**
3278
- * Fires when one or more files are being uploaded.
3279
- */
3280
- this.uploadProgress = new EventEmitter();
3281
- /**
3282
- * Fires when the value of the component has changed as a result of a successful `upload`, `remove` or `clear` operation.
3283
- */
3284
- this.valueChange = new EventEmitter();
3285
- validatePackage(packageMetadata);
3286
- this.fileList = this.uploadService.files;
3287
- this.localizationChangeSubscription = localization.changes.subscribe(({ rtl }) => {
3288
- this.direction = rtl ? 'rtl' : 'ltr';
3289
- });
3290
- this.direction = localization.rtl ? 'rtl' : 'ltr';
3291
- this.navigation.computeKeys();
3292
- this.wrapper = wrapper.nativeElement;
3293
- this.subscribeBlur();
3294
- this.subscribeFocus();
3295
- this.attachEventHandlers();
3296
- }
3533
+ uploadService;
3534
+ localization;
3535
+ navigation;
3536
+ dropZoneService;
3537
+ zone;
3538
+ renderer;
3539
+ cdr;
3540
+ injector;
3297
3541
  /**
3298
3542
  * By default, the selected files are immediately uploaded
3299
3543
  * ([see example]({% slug fileprocessing_upload %}#toc-automatic-upload-of-files)).
@@ -3419,6 +3663,12 @@ class UploadComponent extends UploadFileSelectBase {
3419
3663
  get removeUrl() {
3420
3664
  return this.uploadService.async.removeUrl;
3421
3665
  }
3666
+ /**
3667
+ * Enables the chunk functionality of the Upload.
3668
+ *
3669
+ * @default false
3670
+ */
3671
+ chunkable = false;
3422
3672
  /**
3423
3673
  * Specifies if the selected files are uploaded simultaneously or one by one.
3424
3674
  *
@@ -3430,6 +3680,11 @@ class UploadComponent extends UploadFileSelectBase {
3430
3680
  get concurrent() {
3431
3681
  return this.uploadService.async.concurrent;
3432
3682
  }
3683
+ /**
3684
+ * Toggles the visibility of the file list.
3685
+ * @default true
3686
+ */
3687
+ showFileList = true;
3433
3688
  /**
3434
3689
  * @hidden
3435
3690
  */
@@ -3439,9 +3694,85 @@ class UploadComponent extends UploadFileSelectBase {
3439
3694
  get tabIndex() {
3440
3695
  return this.tabindex;
3441
3696
  }
3697
+ /**
3698
+ * Specifies the possible layout of the action buttons.
3699
+ */
3700
+ actionsLayout = 'end';
3701
+ fileSelectInput;
3702
+ /**
3703
+ * Fires when the upload is canceled while in progress.
3704
+ */
3705
+ cancel = new EventEmitter();
3706
+ /**
3707
+ * Fires when the file list is about to be cleared. If prevented, the files will not be cleared.
3708
+ */
3709
+ clear = new EventEmitter();
3710
+ /**
3711
+ * Fires when all active uploads are completed either successfully or with errors.
3712
+ */
3713
+ complete = new EventEmitter();
3714
+ /**
3715
+ * Fires when an `upload` or `remove` operation has failed.
3716
+ */
3717
+ error = new EventEmitter();
3718
+ /**
3719
+ * Fires when the upload of a file has been paused.
3720
+ */
3721
+ pause = new EventEmitter();
3722
+ /**
3723
+ * Fires when the upload of a file has been resumed.
3724
+ */
3725
+ resume = new EventEmitter();
3726
+ /**
3727
+ * Fires when an `upload` or `remove` operation is successfully completed.
3728
+ */
3729
+ success = new EventEmitter();
3730
+ /**
3731
+ * Fires when one or more files are about to be uploaded. If prevented, the files will neither be uploaded, nor added to the file list.
3732
+ */
3733
+ upload = new EventEmitter();
3734
+ /**
3735
+ * Fires when one or more files are being uploaded.
3736
+ */
3737
+ uploadProgress = new EventEmitter();
3738
+ /**
3739
+ * Fires when the value of the component has changed as a result of a successful `upload`, `remove` or `clear` operation.
3740
+ */
3741
+ valueChange = new EventEmitter();
3442
3742
  get dir() {
3443
3743
  return this.direction;
3444
3744
  }
3745
+ direction;
3746
+ wrapper;
3747
+ fileListId;
3748
+ documentClick; // eslint-disable-line @typescript-eslint/ban-types
3749
+ blurSubscription;
3750
+ wrapperFocusSubscription;
3751
+ selectButtonFocusSubscription;
3752
+ localizationChangeSubscription;
3753
+ subs;
3754
+ constructor(uploadService, localization, navigation, dropZoneService, zone, renderer, cdr, wrapper, injector) {
3755
+ super(uploadService, navigation, cdr, injector, zone);
3756
+ this.uploadService = uploadService;
3757
+ this.localization = localization;
3758
+ this.navigation = navigation;
3759
+ this.dropZoneService = dropZoneService;
3760
+ this.zone = zone;
3761
+ this.renderer = renderer;
3762
+ this.cdr = cdr;
3763
+ this.injector = injector;
3764
+ validatePackage(packageMetadata);
3765
+ this.fileList = this.uploadService.files;
3766
+ this.localizationChangeSubscription = localization.changes.subscribe(({ rtl }) => {
3767
+ this.direction = rtl ? 'rtl' : 'ltr';
3768
+ });
3769
+ this.direction = localization.rtl ? 'rtl' : 'ltr';
3770
+ this.navigation.computeKeys();
3771
+ this.wrapper = wrapper.nativeElement;
3772
+ this.subscribeBlur();
3773
+ this.subscribeFocus();
3774
+ this.attachEventHandlers();
3775
+ }
3445
3776
  ngOnInit() {
3446
3777
  this.verifySettings();
3447
3778
  const { buttonId, fileListId } = this.getIds();
@@ -3696,23 +4027,22 @@ class UploadComponent extends UploadFileSelectBase {
3696
4027
  this.uploadProgress.emit(args);
3697
4028
  }));
3698
4029
  }
3699
- }
3700
- UploadComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }, { token: DropZoneService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3701
- UploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UploadComponent, isStandalone: true, selector: "kendo-upload", inputs: { autoUpload: "autoUpload", batch: "batch", withCredentials: "withCredentials", saveField: "saveField", saveHeaders: "saveHeaders", saveMethod: "saveMethod", saveUrl: "saveUrl", responseType: "responseType", removeField: "removeField", removeHeaders: "removeHeaders", removeMethod: "removeMethod", removeUrl: "removeUrl", chunkable: "chunkable", concurrent: "concurrent", showFileList: "showFileList", tabIndex: "tabIndex", actionsLayout: "actionsLayout" }, outputs: { cancel: "cancel", clear: "clear", complete: "complete", error: "error", pause: "pause", resume: "resume", success: "success", upload: "upload", uploadProgress: "uploadProgress", valueChange: "valueChange" }, host: { properties: { "attr.dir": "this.dir" } }, providers: [
3702
- LocalizationService,
3703
- NavigationService,
3704
- UploadService,
3705
- DropZoneService,
3706
- UPLOAD_VALUE_ACCESSOR,
3707
- {
3708
- provide: L10N_PREFIX,
3709
- useValue: 'kendo.upload'
3710
- },
3711
- {
3712
- provide: KendoInput,
3713
- useExisting: forwardRef(() => UploadComponent)
3714
- }
3715
- ], viewQueries: [{ propertyName: "fileSelectInput", first: true, predicate: ["fileSelectInput"], descendants: true, static: true }], exportAs: ["kendoUpload"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
4030
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }, { token: DropZoneService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4031
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploadComponent, isStandalone: true, selector: "kendo-upload", inputs: { autoUpload: "autoUpload", batch: "batch", withCredentials: "withCredentials", saveField: "saveField", saveHeaders: "saveHeaders", saveMethod: "saveMethod", saveUrl: "saveUrl", responseType: "responseType", removeField: "removeField", removeHeaders: "removeHeaders", removeMethod: "removeMethod", removeUrl: "removeUrl", chunkable: "chunkable", concurrent: "concurrent", showFileList: "showFileList", tabIndex: "tabIndex", actionsLayout: "actionsLayout" }, outputs: { cancel: "cancel", clear: "clear", complete: "complete", error: "error", pause: "pause", resume: "resume", success: "success", upload: "upload", uploadProgress: "uploadProgress", valueChange: "valueChange" }, host: { properties: { "attr.dir": "this.dir" } }, providers: [
4032
+ LocalizationService,
4033
+ NavigationService,
4034
+ UploadService,
4035
+ DropZoneService,
4036
+ UPLOAD_VALUE_ACCESSOR,
4037
+ {
4038
+ provide: L10N_PREFIX,
4039
+ useValue: 'kendo.upload'
4040
+ },
4041
+ {
4042
+ provide: KendoInput,
4043
+ useExisting: forwardRef(() => UploadComponent)
4044
+ }
4045
+ ], viewQueries: [{ propertyName: "fileSelectInput", first: true, predicate: ["fileSelectInput"], descendants: true, static: true }], exportAs: ["kendoUpload"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
3716
4046
  <ng-container kendoUploadLocalizedMessages
3717
4047
  i18n-cancel="kendo.upload.cancel|The text for the Cancel button"
3718
4048
  cancel="Cancel"
@@ -3824,7 +4154,8 @@ UploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", versio
3824
4154
  [actionsLayout]="actionsLayout">
3825
4155
  </kendo-upload-action-buttons>
3826
4156
  `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { kind: "directive", type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions", "accept", "required"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UploadStatusTotalComponent, selector: "kendo-upload-status-total", inputs: ["fileList"] }, { kind: "component", type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }, { kind: "component", type: UploadActionButtonsComponent, selector: "kendo-upload-action-buttons", inputs: ["disabled", "actionsLayout"] }] });
3827
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadComponent, decorators: [{
4157
+ }
4158
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadComponent, decorators: [{
3828
4159
  type: Component,
3829
4160
  args: [{
3830
4161
  exportAs: 'kendoUpload',
@@ -4023,6 +4354,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4023
4354
  }] } });
4024
4355
 
4025
4356
  class UploadDropZoneDirective {
4357
+ dropZoneService;
4358
+ /**
4359
+ * Specifies the id of the drop zone used to associate it with
4360
+ * an existing Upload component.
4361
+ */
4362
+ zoneId;
4363
+ /**
4364
+ * Specifies the id of the drop zone used to associate it with
4365
+ * an existing FileSelect component.
4366
+ */
4367
+ fileSelectZoneId;
4026
4368
  constructor(dropZoneService) {
4027
4369
  this.dropZoneService = dropZoneService;
4028
4370
  }
@@ -4073,12 +4415,12 @@ class UploadDropZoneDirective {
4073
4415
  const id = this.zoneId || this.fileSelectZoneId;
4074
4416
  return this.dropZoneService.getComponents(id);
4075
4417
  }
4418
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadDropZoneDirective, deps: [{ token: DropZoneService }], target: i0.ɵɵFactoryTarget.Directive });
4419
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: UploadDropZoneDirective, isStandalone: true, selector: "[kendoUploadDropZone], [kendoFileSelectDropZone]", inputs: { zoneId: ["kendoUploadDropZone", "zoneId"], fileSelectZoneId: ["kendoFileSelectDropZone", "fileSelectZoneId"] }, host: { listeners: { "dragenter": "onElementDragEnter()", "dragover": "onElementDragOver()", "drop": "onDropListener($event)" } }, providers: [
4420
+ DropZoneService
4421
+ ], ngImport: i0 });
4076
4422
  }
4077
- UploadDropZoneDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadDropZoneDirective, deps: [{ token: DropZoneService }], target: i0.ɵɵFactoryTarget.Directive });
4078
- UploadDropZoneDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.10", type: UploadDropZoneDirective, isStandalone: true, selector: "[kendoUploadDropZone], [kendoFileSelectDropZone]", inputs: { zoneId: ["kendoUploadDropZone", "zoneId"], fileSelectZoneId: ["kendoFileSelectDropZone", "fileSelectZoneId"] }, host: { listeners: { "dragenter": "onElementDragEnter()", "dragover": "onElementDragOver()", "drop": "onDropListener($event)" } }, providers: [
4079
- DropZoneService
4080
- ], ngImport: i0 });
4081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadDropZoneDirective, decorators: [{
4423
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadDropZoneDirective, decorators: [{
4082
4424
  type: Directive,
4083
4425
  args: [{
4084
4426
  providers: [
@@ -4108,18 +4450,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4108
4450
  * Represents the [Kendo UI UploadDropZone component for Angular]({% slug overview_upload %}).
4109
4451
  */
4110
4452
  class UploadDropZoneComponent extends DropZoneBase {
4111
- constructor(element, renderer, localization) {
4112
- super(element, renderer, 'k-external-dropzone-hover');
4113
- this.localization = localization;
4114
- this.hostClass = true;
4115
- this._svgIcon = uploadIcon;
4116
- this.localizationChangeSubscription = this.localization.changes.subscribe(({ rtl }) => {
4117
- this.direction = rtl ? 'rtl' : 'ltr';
4118
- });
4119
- }
4453
+ localization;
4454
+ hostClass = true;
4120
4455
  get dirAttribute() {
4121
4456
  return this.direction;
4122
4457
  }
4458
+ /**
4459
+ * Defines the id of the component.
4460
+ * It is used to associate it with an existing Upload or FileSelect component.
4461
+ */
4462
+ zoneId;
4463
+ /**
4464
+ * Defines the name for an existing icon in a Kendo UI theme.
4465
+ * The icon is rendered inside the DropZone.
4466
+ */
4467
+ icon;
4468
+ /**
4469
+ * Defines a CSS class or multiple classes separated by spaces,
4470
+ * which are applied to a span element.
4471
+ * Allows the usage of custom icons.
4472
+ */
4473
+ iconClass;
4123
4474
  /**
4124
4475
  * Defines an SVGIcon to be rendered inside the DropZone.
4125
4476
  * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
@@ -4133,6 +4484,16 @@ class UploadDropZoneComponent extends DropZoneBase {
4133
4484
  get svgIcon() {
4134
4485
  return this._svgIcon;
4135
4486
  }
4487
+ direction;
4488
+ localizationChangeSubscription;
4489
+ _svgIcon = uploadIcon;
4490
+ constructor(element, renderer, localization) {
4491
+ super(element, renderer, 'k-external-dropzone-hover');
4492
+ this.localization = localization;
4493
+ this.localizationChangeSubscription = this.localization.changes.subscribe(({ rtl }) => {
4494
+ this.direction = rtl ? 'rtl' : 'ltr';
4495
+ });
4496
+ }
4136
4497
  /**
4137
4498
  * @hidden
4138
4499
  */
@@ -4155,15 +4516,14 @@ class UploadDropZoneComponent extends DropZoneBase {
4155
4516
  this.localizationChangeSubscription.unsubscribe();
4156
4517
  }
4157
4518
  }
4158
- }
4159
- UploadDropZoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadDropZoneComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4160
- UploadDropZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: UploadDropZoneComponent, isStandalone: true, selector: "kendo-uploaddropzone", inputs: { zoneId: "zoneId", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon" }, host: { properties: { "class.k-external-dropzone": "this.hostClass", "attr.dir": "this.dirAttribute" } }, providers: [
4161
- LocalizationService,
4162
- {
4163
- provide: L10N_PREFIX,
4164
- useValue: 'kendo.uploaddropzone'
4165
- }
4166
- ], exportAs: ["kendoUploadDropZone"], usesInheritance: true, ngImport: i0, template: `
4519
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadDropZoneComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4520
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploadDropZoneComponent, isStandalone: true, selector: "kendo-uploaddropzone", inputs: { zoneId: "zoneId", icon: "icon", iconClass: "iconClass", svgIcon: "svgIcon" }, host: { properties: { "class.k-external-dropzone": "this.hostClass", "attr.dir": "this.dirAttribute" } }, providers: [
4521
+ LocalizationService,
4522
+ {
4523
+ provide: L10N_PREFIX,
4524
+ useValue: 'kendo.uploaddropzone'
4525
+ }
4526
+ ], exportAs: ["kendoUploadDropZone"], usesInheritance: true, ngImport: i0, template: `
4167
4527
  <ng-container kendoUploadDropZoneLocalizedMessages
4168
4528
  i18n-externalDropFilesHere='kendo.uploaddropzone.externalDropFilesHere|Sets the external drop-zone hint'
4169
4529
  externalDropFilesHere='Drag and drop files here to upload'>
@@ -4182,7 +4542,8 @@ UploadDropZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
4182
4542
  </span>
4183
4543
  </div>
4184
4544
  `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { kind: "directive", type: UploadDropZoneDirective, selector: "[kendoUploadDropZone], [kendoFileSelectDropZone]", inputs: ["kendoUploadDropZone", "kendoFileSelectDropZone"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }] });
4185
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadDropZoneComponent, decorators: [{
4545
+ }
4546
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadDropZoneComponent, decorators: [{
4186
4547
  type: Component,
4187
4548
  args: [{
4188
4549
  exportAs: 'kendoUploadDropZone',
@@ -4242,6 +4603,48 @@ const FILESELECT_VALUE_ACCESSOR = {
4242
4603
  };
4243
4604
  let idx = 0;
4244
4605
  class FileSelectComponent extends UploadFileSelectBase {
4606
+ uploadService;
4607
+ localization;
4608
+ navigation;
4609
+ dropZoneService;
4610
+ ngZone;
4611
+ renderer;
4612
+ cdr;
4613
+ injector;
4614
+ fileSelectInput;
4615
+ get dir() {
4616
+ return this.direction;
4617
+ }
4618
+ /**
4619
+ * Sets the `name` attribute of the `input` element of the FileSelect.
4620
+ */
4621
+ set name(name) {
4622
+ this.uploadService.async.saveField = name;
4623
+ }
4624
+ get name() {
4625
+ return this.uploadService.async.saveField;
4626
+ }
4627
+ /**
4628
+ * Fires when the value of the component has changed as a result of a successful `select` or `remove` operation.
4629
+ */
4630
+ valueChange = new EventEmitter();
4631
+ /**
4632
+ * @hidden
4633
+ */
4634
+ _restrictions = {
4635
+ allowedExtensions: [],
4636
+ maxFileSize: 0,
4637
+ minFileSize: 0
4638
+ };
4639
+ direction;
4640
+ wrapper;
4641
+ fileListId;
4642
+ documentClick; // eslint-disable-line @typescript-eslint/ban-types
4643
+ blurSubscription;
4644
+ wrapperFocusSubscription;
4645
+ selectButtonFocusSubscription;
4646
+ localizationChangeSubscription;
4647
+ subs;
4245
4648
  constructor(uploadService, localization, navigation, dropZoneService, ngZone, renderer, cdr, wrapper, injector) {
4246
4649
  super(uploadService, navigation, cdr, injector, ngZone);
4247
4650
  this.uploadService = uploadService;
@@ -4252,18 +4655,6 @@ class FileSelectComponent extends UploadFileSelectBase {
4252
4655
  this.renderer = renderer;
4253
4656
  this.cdr = cdr;
4254
4657
  this.injector = injector;
4255
- /**
4256
- * Fires when the value of the component has changed as a result of a successful `select` or `remove` operation.
4257
- */
4258
- this.valueChange = new EventEmitter();
4259
- /**
4260
- * @hidden
4261
- */
4262
- this._restrictions = {
4263
- allowedExtensions: [],
4264
- maxFileSize: 0,
4265
- minFileSize: 0
4266
- };
4267
4658
  validatePackage(packageMetadata);
4268
4659
  this.wrapper = wrapper.nativeElement;
4269
4660
  this.direction = localization.rtl ? 'rtl' : 'ltr';
@@ -4276,18 +4667,6 @@ class FileSelectComponent extends UploadFileSelectBase {
4276
4667
  this.attachEventHandlers();
4277
4668
  this.setDefaultSettings();
4278
4669
  }
4279
- get dir() {
4280
- return this.direction;
4281
- }
4282
- /**
4283
- * Sets the `name` attribute of the `input` element of the FileSelect.
4284
- */
4285
- set name(name) {
4286
- this.uploadService.async.saveField = name;
4287
- }
4288
- get name() {
4289
- return this.uploadService.async.saveField;
4290
- }
4291
4670
  ngOnInit() {
4292
4671
  const { buttonId, fileListId } = this.getIds();
4293
4672
  this.focusableId = buttonId;
@@ -4447,23 +4826,22 @@ class FileSelectComponent extends UploadFileSelectBase {
4447
4826
  this.uploadService.async.autoUpload = false;
4448
4827
  this.uploadService.component = 'FileSelect';
4449
4828
  }
4450
- }
4451
- FileSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileSelectComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }, { token: DropZoneService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4452
- FileSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: FileSelectComponent, isStandalone: true, selector: "kendo-fileselect", inputs: { name: "name" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.dir": "this.dir" } }, providers: [
4453
- LocalizationService,
4454
- NavigationService,
4455
- UploadService,
4456
- DropZoneService,
4457
- FILESELECT_VALUE_ACCESSOR,
4458
- {
4459
- provide: L10N_PREFIX,
4460
- useValue: 'kendo.fileselect'
4461
- },
4462
- {
4463
- provide: KendoInput,
4464
- useExisting: forwardRef(() => FileSelectComponent)
4465
- }
4466
- ], viewQueries: [{ propertyName: "fileSelectInput", first: true, predicate: ["fileSelectInput"], descendants: true, static: true }], exportAs: ["kendoFileSelect"], usesInheritance: true, ngImport: i0, template: `
4829
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSelectComponent, deps: [{ token: UploadService }, { token: i1$1.LocalizationService }, { token: NavigationService }, { token: DropZoneService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
4830
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileSelectComponent, isStandalone: true, selector: "kendo-fileselect", inputs: { name: "name" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.dir": "this.dir" } }, providers: [
4831
+ LocalizationService,
4832
+ NavigationService,
4833
+ UploadService,
4834
+ DropZoneService,
4835
+ FILESELECT_VALUE_ACCESSOR,
4836
+ {
4837
+ provide: L10N_PREFIX,
4838
+ useValue: 'kendo.fileselect'
4839
+ },
4840
+ {
4841
+ provide: KendoInput,
4842
+ useExisting: forwardRef(() => FileSelectComponent)
4843
+ }
4844
+ ], viewQueries: [{ propertyName: "fileSelectInput", first: true, predicate: ["fileSelectInput"], descendants: true, static: true }], exportAs: ["kendoFileSelect"], usesInheritance: true, ngImport: i0, template: `
4467
4845
  <ng-container kendoFileSelectLocalizedMessages
4468
4846
  i18n-dropFilesHere="kendo.fileselect.dropFilesHere|The drop zone hint"
4469
4847
  dropFilesHere="Drop files here to select"
@@ -4526,7 +4904,8 @@ FileSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
4526
4904
  [id]="fileListId">
4527
4905
  </ul>
4528
4906
  `, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { kind: "directive", type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions", "accept", "required"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }] });
4529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileSelectComponent, decorators: [{
4907
+ }
4908
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSelectComponent, decorators: [{
4530
4909
  type: Component,
4531
4910
  args: [{
4532
4911
  exportAs: 'kendoFileSelect',
@@ -4638,22 +5017,23 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4638
5017
  * ```
4639
5018
  */
4640
5019
  class CustomMessagesComponent extends Messages {
5020
+ service;
5021
+ get override() {
5022
+ return true;
5023
+ }
4641
5024
  constructor(service) {
4642
5025
  super();
4643
5026
  this.service = service;
4644
5027
  }
4645
- get override() {
4646
- return true;
4647
- }
5028
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
5029
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-upload-messages, kendo-fileselect-messages, kendo-uploaddropzone-messages", providers: [
5030
+ {
5031
+ provide: Messages,
5032
+ useExisting: forwardRef(() => CustomMessagesComponent)
5033
+ }
5034
+ ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
4648
5035
  }
4649
- CustomMessagesComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, deps: [{ token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
4650
- CustomMessagesComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.10", type: CustomMessagesComponent, isStandalone: true, selector: "kendo-upload-messages, kendo-fileselect-messages, kendo-uploaddropzone-messages", providers: [
4651
- {
4652
- provide: Messages,
4653
- useExisting: forwardRef(() => CustomMessagesComponent)
4654
- }
4655
- ], usesInheritance: true, ngImport: i0, template: ``, isInline: true });
4656
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: CustomMessagesComponent, decorators: [{
5036
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomMessagesComponent, decorators: [{
4657
5037
  type: Component,
4658
5038
  args: [{
4659
5039
  providers: [
@@ -4705,15 +5085,15 @@ const KENDO_UPLOADS = [
4705
5085
  * Represents the [NgModule](https://angular.io/api/core/NgModule) definition for the FileSelect component.
4706
5086
  */
4707
5087
  class FileSelectModule {
5088
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5089
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FileSelectModule, imports: [FileSelectComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent], exports: [FileSelectComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent] });
5090
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSelectModule, providers: [
5091
+ IconsService,
5092
+ PopupService,
5093
+ ResizeBatchService
5094
+ ], imports: [FileSelectComponent, UploadDropZoneComponent] });
4708
5095
  }
4709
- FileSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4710
- FileSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: FileSelectModule, imports: [FileSelectComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent], exports: [FileSelectComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent] });
4711
- FileSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileSelectModule, providers: [
4712
- IconsService,
4713
- PopupService,
4714
- ResizeBatchService
4715
- ], imports: [FileSelectComponent, CustomMessagesComponent, UploadDropZoneComponent] });
4716
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: FileSelectModule, decorators: [{
5096
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileSelectModule, decorators: [{
4717
5097
  type: NgModule,
4718
5098
  args: [{
4719
5099
  exports: [...KENDO_FILESELECT],
@@ -4731,15 +5111,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4731
5111
  * Represents the [NgModule](https://angular.io/api/core/NgModule) definition for the Upload component.
4732
5112
  */
4733
5113
  class UploadModule {
5114
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5115
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UploadModule, imports: [UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent], exports: [UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent] });
5116
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadModule, providers: [
5117
+ IconsService,
5118
+ PopupService,
5119
+ ResizeBatchService
5120
+ ], imports: [UploadComponent, UploadStatusTotalComponent, UploadDropZoneComponent] });
4734
5121
  }
4735
- UploadModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4736
- UploadModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UploadModule, imports: [UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent], exports: [UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent] });
4737
- UploadModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadModule, providers: [
4738
- IconsService,
4739
- PopupService,
4740
- ResizeBatchService
4741
- ], imports: [UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, CustomMessagesComponent, UploadDropZoneComponent] });
4742
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadModule, decorators: [{
5122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadModule, decorators: [{
4743
5123
  type: NgModule,
4744
5124
  args: [{
4745
5125
  exports: [...KENDO_UPLOAD],
@@ -4779,15 +5159,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
4779
5159
  * ```
4780
5160
  */
4781
5161
  class UploadsModule {
5162
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
5163
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: UploadsModule, imports: [FileSelectComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent, UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent], exports: [FileSelectComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent, UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent] });
5164
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadsModule, providers: [
5165
+ IconsService,
5166
+ PopupService,
5167
+ ResizeBatchService
5168
+ ], imports: [FileSelectComponent, UploadDropZoneComponent, UploadComponent, UploadStatusTotalComponent, UploadDropZoneComponent] });
4782
5169
  }
4783
- UploadsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4784
- UploadsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.10", ngImport: i0, type: UploadsModule, imports: [FileSelectComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent, UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent], exports: [FileSelectComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent, UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, FileTemplateDirective, FileInfoTemplateDirective, CustomMessagesComponent, UploadDropZoneDirective, UploadDropZoneComponent] });
4785
- UploadsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadsModule, providers: [
4786
- IconsService,
4787
- PopupService,
4788
- ResizeBatchService
4789
- ], imports: [FileSelectComponent, CustomMessagesComponent, UploadDropZoneComponent, UploadComponent, UploadActionButtonsComponent, UploadStatusTotalComponent, CustomMessagesComponent, UploadDropZoneComponent] });
4790
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: UploadsModule, decorators: [{
5170
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploadsModule, decorators: [{
4791
5171
  type: NgModule,
4792
5172
  args: [{
4793
5173
  exports: [...KENDO_UPLOADS],