@progress/kendo-angular-upload 11.0.1-develop.5 → 11.1.0-develop.10

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.
@@ -14,7 +14,7 @@ import { ComponentMessages, LocalizationService, L10N_PREFIX } from '@progress/k
14
14
  import { fromEvent, merge } from 'rxjs';
15
15
  import { filter } from 'rxjs/operators';
16
16
  import { validatePackage } from '@progress/kendo-licensing';
17
- import * as i7 from '@progress/kendo-angular-buttons';
17
+ import * as i5 from '@progress/kendo-angular-buttons';
18
18
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
19
19
  import { trigger, state, style, transition, animate } from '@angular/animations';
20
20
  import * as i3 from '@progress/kendo-angular-progressbar';
@@ -1493,8 +1493,8 @@ const packageMetadata = {
1493
1493
  name: '@progress/kendo-angular-upload',
1494
1494
  productName: 'Kendo UI for Angular',
1495
1495
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
1496
- publishDate: 1674214364,
1497
- version: '11.0.1-develop.5',
1496
+ publishDate: 1675171602,
1497
+ version: '11.1.0-develop.10',
1498
1498
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
1499
1499
  };
1500
1500
 
@@ -1944,35 +1944,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
1944
1944
  type: Input
1945
1945
  }] } });
1946
1946
 
1947
- /**
1948
- * @hidden
1949
- */
1950
- class TemplateContextDirective {
1951
- constructor(viewContainerRef) {
1952
- this.viewContainerRef = viewContainerRef;
1953
- }
1954
- set templateContext(context) {
1955
- if (this.insertedViewRef) {
1956
- this.viewContainerRef.remove(this.viewContainerRef.indexOf(this.insertedViewRef));
1957
- this.insertedViewRef = undefined;
1958
- }
1959
- if (context.templateRef) {
1960
- this.insertedViewRef = this.viewContainerRef.createEmbeddedView(context.templateRef, context);
1961
- }
1962
- }
1963
- }
1964
- TemplateContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TemplateContextDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive });
1965
- TemplateContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.11", type: TemplateContextDirective, selector: "[templateContext]", inputs: { templateContext: "templateContext" }, ngImport: i0 });
1966
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: TemplateContextDirective, decorators: [{
1967
- type: Directive,
1968
- args: [{
1969
- // eslint-disable-next-line @angular-eslint/directive-selector
1970
- selector: '[templateContext]'
1971
- }]
1972
- }], ctorParameters: function () { return [{ type: i0.ViewContainerRef }]; }, propDecorators: { templateContext: [{
1973
- type: Input
1974
- }] } });
1975
-
1976
1947
  /**
1977
1948
  * @hidden
1978
1949
  */
@@ -2045,28 +2016,26 @@ FileListSingleItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
2045
2016
  </span>
2046
2017
  <span class="k-file-info">
2047
2018
  <ng-container *ngIf="!fileInfoTemplate">
2048
- <span class="k-file-name" [title]="file.name">{{ file.name }}</span>
2049
- <span [ngClass]="{
2050
- 'k-file-validation-message': file.validationErrors,
2051
- 'k-file-size': !file.validationErrors && isNotYetUploaded,
2052
- 'k-file-summary': isUploadSuccessful || isUploadFailed
2053
- }"
2054
- >{{fileStatusText}}</span>
2019
+ <span class="k-file-name" [title]="file.name">{{ file.name }}</span>
2020
+ <span [ngClass]="{
2021
+ 'k-file-validation-message': file.validationErrors,
2022
+ 'k-file-size': !file.validationErrors && isNotYetUploaded,
2023
+ 'k-file-summary': isUploadSuccessful || isUploadFailed
2024
+ }"
2025
+ >{{fileStatusText}}</span>
2055
2026
  </ng-container>
2056
- <ng-template *ngIf="fileInfoTemplate"
2057
- [templateContext]="{
2058
- templateRef: fileInfoTemplate.templateRef,
2059
- state: file.state,
2060
- $implicit: [file]
2061
- }">
2062
- </ng-template>
2027
+ <ng-container *ngIf="fileInfoTemplate" [ngTemplateOutlet]="fileInfoTemplate.templateRef" [ngTemplateOutletContext]="{
2028
+ templateRef: fileInfoTemplate.templateRef,
2029
+ state: file.state,
2030
+ $implicit: [file]
2031
+ }"></ng-container>
2063
2032
  </span>
2064
2033
  <kendo-upload-file-list-item-action-button
2065
2034
  [file]='file'
2066
2035
  [disabled]='disabled'
2067
2036
  [progress]='progressComplete'>
2068
2037
  </kendo-upload-file-list-item-action-button>
2069
- `, isInline: true, components: [{ type: i3.ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }], animations: [
2038
+ `, isInline: true, components: [{ type: i3.ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
2070
2039
  trigger('progressState', [
2071
2040
  state('active', style({ opacity: 1 })),
2072
2041
  state('inactive', style({ opacity: 0 })),
@@ -2105,21 +2074,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
2105
2074
  </span>
2106
2075
  <span class="k-file-info">
2107
2076
  <ng-container *ngIf="!fileInfoTemplate">
2108
- <span class="k-file-name" [title]="file.name">{{ file.name }}</span>
2109
- <span [ngClass]="{
2110
- 'k-file-validation-message': file.validationErrors,
2111
- 'k-file-size': !file.validationErrors && isNotYetUploaded,
2112
- 'k-file-summary': isUploadSuccessful || isUploadFailed
2113
- }"
2114
- >{{fileStatusText}}</span>
2077
+ <span class="k-file-name" [title]="file.name">{{ file.name }}</span>
2078
+ <span [ngClass]="{
2079
+ 'k-file-validation-message': file.validationErrors,
2080
+ 'k-file-size': !file.validationErrors && isNotYetUploaded,
2081
+ 'k-file-summary': isUploadSuccessful || isUploadFailed
2082
+ }"
2083
+ >{{fileStatusText}}</span>
2115
2084
  </ng-container>
2116
- <ng-template *ngIf="fileInfoTemplate"
2117
- [templateContext]="{
2118
- templateRef: fileInfoTemplate.templateRef,
2119
- state: file.state,
2120
- $implicit: [file]
2121
- }">
2122
- </ng-template>
2085
+ <ng-container *ngIf="fileInfoTemplate" [ngTemplateOutlet]="fileInfoTemplate.templateRef" [ngTemplateOutletContext]="{
2086
+ templateRef: fileInfoTemplate.templateRef,
2087
+ state: file.state,
2088
+ $implicit: [file]
2089
+ }"></ng-container>
2123
2090
  </span>
2124
2091
  <kendo-upload-file-list-item-action-button
2125
2092
  [file]='file'
@@ -2200,33 +2167,34 @@ FileListMultipleItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
2200
2167
  </span>
2201
2168
  <span class="k-multiple-files-wrapper">
2202
2169
  <ng-container *ngIf="!fileInfoTemplate">
2203
- <span *ngFor="let file of files" class="k-file-info">
2204
- <span [title]="file.name" class="k-file-name">
2205
- {{file.name}}
2170
+ <span *ngFor="let file of files" class="k-file-info">
2171
+ <span [title]="file.name" class="k-file-name">
2172
+ {{file.name}}
2173
+ </span>
2174
+ <span [ngClass]="{
2175
+ 'k-file-validation-message': file.validationErrors,
2176
+ 'k-file-size': !file.validationErrors
2177
+ }"
2178
+ >{{fileStatusText(file)}}</span>
2206
2179
  </span>
2207
- <span [ngClass]="{
2208
- 'k-file-validation-message': file.validationErrors,
2209
- 'k-file-size': !file.validationErrors
2210
- }"
2211
- >{{fileStatusText(file)}}</span>
2212
- </span>
2213
- <span class="k-file-summary"
2214
- >{{batchStatusText}}</span>
2180
+ <span class="k-file-summary"
2181
+ >{{batchStatusText}}</span>
2215
2182
  </ng-container>
2216
- <ng-template *ngIf="fileInfoTemplate"
2217
- [templateContext]="{
2218
- templateRef: fileInfoTemplate.templateRef,
2219
- state: files[0].state,
2220
- $implicit: files
2221
- }">
2222
- </ng-template>
2183
+ <ng-container
2184
+ *ngIf="fileInfoTemplate"
2185
+ [ngTemplateOutlet]="fileInfoTemplate.templateRef"
2186
+ [ngTemplateOutletContext]="{
2187
+ templateRef: fileInfoTemplate.templateRef,
2188
+ state: files[0].state,
2189
+ $implicit: files
2190
+ }"></ng-container>
2223
2191
  </span>
2224
2192
  <kendo-upload-file-list-item-action-button
2225
2193
  [file]='files[0]'
2226
2194
  [disabled]='disabled'
2227
2195
  [progress]='progressComplete'>
2228
2196
  </kendo-upload-file-list-item-action-button>
2229
- `, isInline: true, components: [{ type: i3.ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i7.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }], animations: [
2197
+ `, isInline: true, components: [{ type: i3.ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], directives: [{ type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], animations: [
2230
2198
  trigger('progressState', [
2231
2199
  state('active', style({ opacity: 1 })),
2232
2200
  state('inactive', style({ opacity: 0 })),
@@ -2265,26 +2233,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
2265
2233
  </span>
2266
2234
  <span class="k-multiple-files-wrapper">
2267
2235
  <ng-container *ngIf="!fileInfoTemplate">
2268
- <span *ngFor="let file of files" class="k-file-info">
2269
- <span [title]="file.name" class="k-file-name">
2270
- {{file.name}}
2236
+ <span *ngFor="let file of files" class="k-file-info">
2237
+ <span [title]="file.name" class="k-file-name">
2238
+ {{file.name}}
2239
+ </span>
2240
+ <span [ngClass]="{
2241
+ 'k-file-validation-message': file.validationErrors,
2242
+ 'k-file-size': !file.validationErrors
2243
+ }"
2244
+ >{{fileStatusText(file)}}</span>
2271
2245
  </span>
2272
- <span [ngClass]="{
2273
- 'k-file-validation-message': file.validationErrors,
2274
- 'k-file-size': !file.validationErrors
2275
- }"
2276
- >{{fileStatusText(file)}}</span>
2277
- </span>
2278
- <span class="k-file-summary"
2279
- >{{batchStatusText}}</span>
2246
+ <span class="k-file-summary"
2247
+ >{{batchStatusText}}</span>
2280
2248
  </ng-container>
2281
- <ng-template *ngIf="fileInfoTemplate"
2282
- [templateContext]="{
2283
- templateRef: fileInfoTemplate.templateRef,
2284
- state: files[0].state,
2285
- $implicit: files
2286
- }">
2287
- </ng-template>
2249
+ <ng-container
2250
+ *ngIf="fileInfoTemplate"
2251
+ [ngTemplateOutlet]="fileInfoTemplate.templateRef"
2252
+ [ngTemplateOutletContext]="{
2253
+ templateRef: fileInfoTemplate.templateRef,
2254
+ state: files[0].state,
2255
+ $implicit: files
2256
+ }"></ng-container>
2288
2257
  </span>
2289
2258
  <kendo-upload-file-list-item-action-button
2290
2259
  [file]='files[0]'
@@ -2356,66 +2325,62 @@ class FileListComponent {
2356
2325
  }
2357
2326
  FileListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileListComponent, deps: [{ token: UploadService }, { token: NavigationService }], target: i0.ɵɵFactoryTarget.Component });
2358
2327
  FileListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: { disabled: "disabled", fileList: "fileList", fileTemplate: "fileTemplate", fileInfoTemplate: "fileInfoTemplate" }, viewQueries: [{ propertyName: "fileListItems", predicate: FileListItemDirective, descendants: true }], ngImport: i0, template: `
2359
- <ng-template ngFor
2360
- [ngForOf]="fileList"
2361
- let-files
2362
- let-index="index">
2363
- <li kendoUploadFileListItem [files]='files' [index]='index'>
2364
- <kendo-upload-file-list-single-item
2365
- class='k-file-single'
2366
- *ngIf='files.length === 1 && !fileTemplate'
2367
- [disabled]='disabled'
2368
- [file]='files[0]'
2369
- [fileInfoTemplate]="fileInfoTemplate">
2370
- </kendo-upload-file-list-single-item>
2371
- <kendo-upload-file-list-multiple-items
2372
- class='k-file-multiple'
2373
- *ngIf='files.length > 1 && !fileTemplate'
2374
- [disabled]='disabled'
2375
- [files]='files'
2376
- [fileInfoTemplate]="fileInfoTemplate">
2377
- </kendo-upload-file-list-multiple-items>
2378
- <ng-template *ngIf="fileTemplate"
2379
- [templateContext]="{
2380
- templateRef: fileTemplate.templateRef,
2381
- state: files[0].state,
2382
- $implicit: files
2383
- }"></ng-template>
2384
- </li>
2385
- </ng-template>
2386
- `, isInline: true, components: [{ type: FileListSingleItemComponent, selector: "kendo-upload-file-list-single-item", inputs: ["disabled", "file", "fileInfoTemplate"] }, { type: FileListMultipleItemsComponent, selector: "kendo-upload-file-list-multiple-items", inputs: ["disabled", "files", "fileInfoTemplate"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: FileListItemDirective, selector: "[kendoUploadFileListItem]", inputs: ["files", "index"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }] });
2328
+ <ng-template ngFor
2329
+ [ngForOf]="fileList"
2330
+ let-files
2331
+ let-index="index">
2332
+ <li kendoUploadFileListItem [files]='files' [index]='index'>
2333
+ <kendo-upload-file-list-single-item
2334
+ class='k-file-single'
2335
+ *ngIf='files.length === 1 && !fileTemplate'
2336
+ [disabled]='disabled'
2337
+ [file]='files[0]'
2338
+ [fileInfoTemplate]="fileInfoTemplate"></kendo-upload-file-list-single-item>
2339
+ <kendo-upload-file-list-multiple-items
2340
+ class='k-file-multiple'
2341
+ *ngIf='files.length > 1 && !fileTemplate'
2342
+ [disabled]='disabled'
2343
+ [files]='files'
2344
+ [fileInfoTemplate]="fileInfoTemplate"></kendo-upload-file-list-multiple-items>
2345
+ <ng-container
2346
+ *ngIf="fileTemplate" [ngTemplateOutlet]="fileTemplate.templateRef" [ngTemplateOutletContext]="{
2347
+ templateRef: fileTemplate.templateRef,
2348
+ state: files[0].state,
2349
+ $implicit: files
2350
+ }"></ng-container>
2351
+ </li>
2352
+ </ng-template>
2353
+ `, isInline: true, components: [{ type: FileListSingleItemComponent, selector: "kendo-upload-file-list-single-item", inputs: ["disabled", "file", "fileInfoTemplate"] }, { type: FileListMultipleItemsComponent, selector: "kendo-upload-file-list-multiple-items", inputs: ["disabled", "files", "fileInfoTemplate"] }], directives: [{ type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: FileListItemDirective, selector: "[kendoUploadFileListItem]", inputs: ["files", "index"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
2387
2354
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileListComponent, decorators: [{
2388
2355
  type: Component,
2389
2356
  args: [{
2390
2357
  selector: '[kendo-upload-file-list]',
2391
2358
  template: `
2392
- <ng-template ngFor
2393
- [ngForOf]="fileList"
2394
- let-files
2395
- let-index="index">
2396
- <li kendoUploadFileListItem [files]='files' [index]='index'>
2397
- <kendo-upload-file-list-single-item
2398
- class='k-file-single'
2399
- *ngIf='files.length === 1 && !fileTemplate'
2400
- [disabled]='disabled'
2401
- [file]='files[0]'
2402
- [fileInfoTemplate]="fileInfoTemplate">
2403
- </kendo-upload-file-list-single-item>
2404
- <kendo-upload-file-list-multiple-items
2405
- class='k-file-multiple'
2406
- *ngIf='files.length > 1 && !fileTemplate'
2407
- [disabled]='disabled'
2408
- [files]='files'
2409
- [fileInfoTemplate]="fileInfoTemplate">
2410
- </kendo-upload-file-list-multiple-items>
2411
- <ng-template *ngIf="fileTemplate"
2412
- [templateContext]="{
2413
- templateRef: fileTemplate.templateRef,
2414
- state: files[0].state,
2415
- $implicit: files
2416
- }"></ng-template>
2417
- </li>
2418
- </ng-template>
2359
+ <ng-template ngFor
2360
+ [ngForOf]="fileList"
2361
+ let-files
2362
+ let-index="index">
2363
+ <li kendoUploadFileListItem [files]='files' [index]='index'>
2364
+ <kendo-upload-file-list-single-item
2365
+ class='k-file-single'
2366
+ *ngIf='files.length === 1 && !fileTemplate'
2367
+ [disabled]='disabled'
2368
+ [file]='files[0]'
2369
+ [fileInfoTemplate]="fileInfoTemplate"></kendo-upload-file-list-single-item>
2370
+ <kendo-upload-file-list-multiple-items
2371
+ class='k-file-multiple'
2372
+ *ngIf='files.length > 1 && !fileTemplate'
2373
+ [disabled]='disabled'
2374
+ [files]='files'
2375
+ [fileInfoTemplate]="fileInfoTemplate"></kendo-upload-file-list-multiple-items>
2376
+ <ng-container
2377
+ *ngIf="fileTemplate" [ngTemplateOutlet]="fileTemplate.templateRef" [ngTemplateOutletContext]="{
2378
+ templateRef: fileTemplate.templateRef,
2379
+ state: files[0].state,
2380
+ $implicit: files
2381
+ }"></ng-container>
2382
+ </li>
2383
+ </ng-template>
2419
2384
  `
2420
2385
  }]
2421
2386
  }], ctorParameters: function () { return [{ type: UploadService }, { type: NavigationService }]; }, propDecorators: { disabled: [{
@@ -2927,7 +2892,9 @@ class FileSelectComponent {
2927
2892
  return this.direction;
2928
2893
  }
2929
2894
  ngOnInit() {
2930
- this.renderer.removeAttribute(this.wrapper, "tabindex");
2895
+ const { buttonId, inputId } = this.getIds();
2896
+ this.focusableId = buttonId;
2897
+ this.inputElementId = inputId;
2931
2898
  if (this.zoneId) {
2932
2899
  this.dropZoneService.addComponent(this, this.zoneId);
2933
2900
  }
@@ -2941,14 +2908,6 @@ class FileSelectComponent {
2941
2908
  this.subs.add(this.renderer.listen(this.wrapper, 'keydown', event => this.handleKeydown(event)));
2942
2909
  });
2943
2910
  }
2944
- ngAfterViewInit() {
2945
- const { buttonId, inputId } = this.getIds();
2946
- const button = this.fileSelectButton.nativeElement;
2947
- const input = this.fileSelectInput.nativeElement;
2948
- this.renderer.setAttribute(button, 'id', buttonId);
2949
- this.renderer.setAttribute(button, 'aria-controls', inputId);
2950
- this.renderer.setAttribute(input, 'id', inputId);
2951
- }
2952
2911
  /**
2953
2912
  * @hidden
2954
2913
  */
@@ -3197,7 +3156,8 @@ FileSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
3197
3156
  role="button"
3198
3157
  [id]="focusableId"
3199
3158
  [attr.aria-label]="textFor('select')"
3200
- [attr.tabindex]="selectButtonTabIndex"
3159
+ [attr.tabindex]="tabindex"
3160
+ [attr.aria-controls]="inputElementId"
3201
3161
  (focus)="onFileSelectButtonFocus($event)"
3202
3162
  (blur)="onFileSelectButtonBlur($event)"
3203
3163
  >
@@ -3206,6 +3166,7 @@ FileSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
3206
3166
  <input
3207
3167
  #fileSelectInput
3208
3168
  kendoFileSelect
3169
+ [id]="inputElementId"
3209
3170
  [attr.accept]="accept ? accept : null"
3210
3171
  [attr.aria-hidden]="true"
3211
3172
  [dir]="direction"
@@ -3224,7 +3185,7 @@ FileSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
3224
3185
  [fileTemplate]="fileTemplate"
3225
3186
  [fileInfoTemplate]="fileInfoTemplate">
3226
3187
  </ul>
3227
- `, isInline: true, components: [{ type: i7.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3188
+ `, isInline: true, components: [{ type: i5.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3228
3189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileSelectComponent, decorators: [{
3229
3190
  type: Component,
3230
3191
  args: [{
@@ -3278,7 +3239,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
3278
3239
  role="button"
3279
3240
  [id]="focusableId"
3280
3241
  [attr.aria-label]="textFor('select')"
3281
- [attr.tabindex]="selectButtonTabIndex"
3242
+ [attr.tabindex]="tabindex"
3243
+ [attr.aria-controls]="inputElementId"
3282
3244
  (focus)="onFileSelectButtonFocus($event)"
3283
3245
  (blur)="onFileSelectButtonBlur($event)"
3284
3246
  >
@@ -3287,6 +3249,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
3287
3249
  <input
3288
3250
  #fileSelectInput
3289
3251
  kendoFileSelect
3252
+ [id]="inputElementId"
3290
3253
  [attr.accept]="accept ? accept : null"
3291
3254
  [attr.aria-hidden]="true"
3292
3255
  [dir]="direction"
@@ -3327,10 +3290,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
3327
3290
  type: Input
3328
3291
  }], fileTemplate: [{
3329
3292
  type: ContentChild,
3330
- args: [FileTemplateDirective, { static: false }]
3293
+ args: [FileTemplateDirective]
3331
3294
  }], fileInfoTemplate: [{
3332
3295
  type: ContentChild,
3333
- args: [FileInfoTemplateDirective, { static: false }]
3296
+ args: [FileInfoTemplateDirective]
3334
3297
  }], fileSelectInput: [{
3335
3298
  type: ViewChild,
3336
3299
  args: ['fileSelectInput', { static: true }]
@@ -3907,7 +3870,9 @@ class UploadComponent {
3907
3870
  }
3908
3871
  ngOnInit() {
3909
3872
  this.verifySettings();
3910
- this.renderer.removeAttribute(this.wrapper, "tabindex");
3873
+ const { buttonId, inputId } = this.getIds();
3874
+ this.focusableId = buttonId;
3875
+ this.inputElementId = inputId;
3911
3876
  this.uploadService.setChunkSettings(this.chunkable);
3912
3877
  if (this.zoneId) {
3913
3878
  this.dropZoneService.addComponent(this, this.zoneId);
@@ -3924,14 +3889,6 @@ class UploadComponent {
3924
3889
  this.subs.add(this.renderer.listen(this.wrapper, 'keydown', event => this.handleKeydown(event)));
3925
3890
  });
3926
3891
  }
3927
- ngAfterViewInit() {
3928
- const { buttonId, inputId } = this.getIds();
3929
- const button = this.fileSelectButton.nativeElement;
3930
- const input = this.fileSelectInput.nativeElement;
3931
- this.renderer.setAttribute(button, 'id', buttonId);
3932
- this.renderer.setAttribute(button, 'aria-controls', inputId);
3933
- this.renderer.setAttribute(input, 'id', inputId);
3934
- }
3935
3892
  ngOnChanges(changes) {
3936
3893
  if (isChanged("chunkable", changes)) {
3937
3894
  const newChunkable = changes.chunkable.currentValue;
@@ -4000,12 +3957,6 @@ class UploadComponent {
4000
3957
  setDisabledState(isDisabled) {
4001
3958
  this.disabled = isDisabled;
4002
3959
  }
4003
- /**
4004
- * @hidden
4005
- */
4006
- get selectButtonTabIndex() {
4007
- return this.disabled ? undefined : this.tabIndex;
4008
- }
4009
3960
  /**
4010
3961
  * @hidden
4011
3962
  */
@@ -4275,71 +4226,71 @@ UploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
4275
4226
  }
4276
4227
  ], queries: [{ propertyName: "fileTemplate", first: true, predicate: FileTemplateDirective, descendants: true }, { propertyName: "fileInfoTemplate", first: true, predicate: FileInfoTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "fileSelectInput", first: true, predicate: ["fileSelectInput"], descendants: true, static: true }, { propertyName: "fileSelectButton", first: true, predicate: ["fileSelectButton"], descendants: true, read: ElementRef, static: true }], exportAs: ["kendoUpload"], usesOnChanges: true, ngImport: i0, template: `
4277
4228
  <ng-container kendoUploadLocalizedMessages
4278
- i18n-cancel="kendo.upload.cancel|The text for the Cancel button"
4279
- cancel="Cancel"
4229
+ i18n-cancel="kendo.upload.cancel|The text for the Cancel button"
4230
+ cancel="Cancel"
4280
4231
 
4281
- i18n-clearSelectedFiles="kendo.upload.clearSelectedFiles|The text for the Clear button"
4282
- clearSelectedFiles="Clear"
4232
+ i18n-clearSelectedFiles="kendo.upload.clearSelectedFiles|The text for the Clear button"
4233
+ clearSelectedFiles="Clear"
4283
4234
 
4284
- i18n-dropFilesHere="kendo.upload.dropFilesHere|The drop zone hint"
4285
- dropFilesHere="Drop files here to upload"
4235
+ i18n-dropFilesHere="kendo.upload.dropFilesHere|The drop zone hint"
4236
+ dropFilesHere="Drop files here to upload"
4286
4237
 
4287
- i18n-filesBatchStatus="kendo.upload.filesBatchStatus|The status message for a batch of files"
4288
- filesBatchStatus="files"
4238
+ i18n-filesBatchStatus="kendo.upload.filesBatchStatus|The status message for a batch of files"
4239
+ filesBatchStatus="files"
4289
4240
 
4290
- i18n-filesBatchStatusFailed="kendo.upload.filesBatchStatusFailed|The status message for a batch of files after failed upload"
4291
- filesBatchStatusFailed="files failed to upload."
4241
+ i18n-filesBatchStatusFailed="kendo.upload.filesBatchStatusFailed|The status message for a batch of files after failed upload"
4242
+ filesBatchStatusFailed="files failed to upload."
4292
4243
 
4293
- i18n-filesBatchStatusUploaded="kendo.upload.filesBatchStatusUploaded|The status message for a batch of files after successful upload"
4294
- filesBatchStatusUploaded="files successfully uploaded."
4244
+ i18n-filesBatchStatusUploaded="kendo.upload.filesBatchStatusUploaded|The status message for a batch of files after successful upload"
4245
+ filesBatchStatusUploaded="files successfully uploaded."
4295
4246
 
4296
- i18n-fileStatusFailed="kendo.upload.fileStatusFailed|The file status message after failed upload"
4297
- fileStatusFailed="File failed to upload."
4247
+ i18n-fileStatusFailed="kendo.upload.fileStatusFailed|The file status message after failed upload"
4248
+ fileStatusFailed="File failed to upload."
4298
4249
 
4299
- i18n-fileStatusUploaded="kendo.upload.fileStatusUploaded|The file status message after successful upload"
4300
- fileStatusUploaded="File successfully uploaded."
4250
+ i18n-fileStatusUploaded="kendo.upload.fileStatusUploaded|The file status message after successful upload"
4251
+ fileStatusUploaded="File successfully uploaded."
4301
4252
 
4302
- i18n-headerStatusPaused="kendo.upload.headerStatusPaused|The header status message when the file upload is paused"
4303
- headerStatusPaused="Paused"
4253
+ i18n-headerStatusPaused="kendo.upload.headerStatusPaused|The header status message when the file upload is paused"
4254
+ headerStatusPaused="Paused"
4304
4255
 
4305
- i18n-headerStatusUploaded="kendo.upload.headerStatusUploaded|The header status message after file upload completion"
4306
- headerStatusUploaded="Done"
4256
+ i18n-headerStatusUploaded="kendo.upload.headerStatusUploaded|The header status message after file upload completion"
4257
+ headerStatusUploaded="Done"
4307
4258
 
4308
- i18n-headerStatusUploading="kendo.upload.headerStatusUploading|The header status message during file upload"
4309
- headerStatusUploading="Uploading..."
4259
+ i18n-headerStatusUploading="kendo.upload.headerStatusUploading|The header status message during file upload"
4260
+ headerStatusUploading="Uploading..."
4310
4261
 
4311
- i18n-invalidFileExtension="kendo.upload.invalidFileExtension|The text for the invalid allowed extensions restriction message"
4312
- invalidFileExtension="File type not allowed."
4262
+ i18n-invalidFileExtension="kendo.upload.invalidFileExtension|The text for the invalid allowed extensions restriction message"
4263
+ invalidFileExtension="File type not allowed."
4313
4264
 
4314
- i18n-invalidMaxFileSize="kendo.upload.invalidMaxFileSize|The text for the invalid max file size restriction message"
4315
- invalidMaxFileSize="File size too large."
4265
+ i18n-invalidMaxFileSize="kendo.upload.invalidMaxFileSize|The text for the invalid max file size restriction message"
4266
+ invalidMaxFileSize="File size too large."
4316
4267
 
4317
- i18n-invalidMinFileSize="kendo.upload.invalidMinFileSize|The text for the invalid min file size restriction message"
4318
- invalidMinFileSize="File size too small."
4268
+ i18n-invalidMinFileSize="kendo.upload.invalidMinFileSize|The text for the invalid min file size restriction message"
4269
+ invalidMinFileSize="File size too small."
4319
4270
 
4320
- i18n-pause="kendo.upload.pause|The text for the Pause button"
4321
- pause="Pause"
4271
+ i18n-pause="kendo.upload.pause|The text for the Pause button"
4272
+ pause="Pause"
4322
4273
 
4323
- i18n-remove="kendo.upload.remove|The text for the Remove button"
4324
- remove="Remove"
4274
+ i18n-remove="kendo.upload.remove|The text for the Remove button"
4275
+ remove="Remove"
4325
4276
 
4326
- i18n-resume="kendo.upload.resume|The text for the Resume button"
4327
- resume="Resume"
4277
+ i18n-resume="kendo.upload.resume|The text for the Resume button"
4278
+ resume="Resume"
4328
4279
 
4329
- i18n-retry="kendo.upload.retry|The text for the Retry button"
4330
- retry="Retry"
4280
+ i18n-retry="kendo.upload.retry|The text for the Retry button"
4281
+ retry="Retry"
4331
4282
 
4332
- i18n-select="kendo.upload.select|The text for the Select button"
4333
- select="Select files..."
4283
+ i18n-select="kendo.upload.select|The text for the Select button"
4284
+ select="Select files..."
4334
4285
 
4335
- i18n-uploadSelectedFiles="kendo.upload.uploadSelectedFiles|The text for the Upload files button"
4336
- uploadSelectedFiles="Upload"
4286
+ i18n-uploadSelectedFiles="kendo.upload.uploadSelectedFiles|The text for the Upload files button"
4287
+ uploadSelectedFiles="Upload"
4337
4288
  >
4338
4289
  </ng-container>
4339
4290
  <div kendoUploadInternalDropZone
4340
- [restrictions]="restrictions"
4341
- [multiple]="multiple"
4342
- [disabled]="disabled"
4291
+ [restrictions]="restrictions"
4292
+ [multiple]="multiple"
4293
+ [disabled]="disabled"
4343
4294
  >
4344
4295
  <div class="k-upload-button-wrap">
4345
4296
  <button
@@ -4349,7 +4300,8 @@ UploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
4349
4300
  role="button"
4350
4301
  [id]="focusableId"
4351
4302
  [attr.aria-label]="textFor('select')"
4352
- [attr.tabindex]="selectButtonTabIndex"
4303
+ [attr.tabindex]="tabindex"
4304
+ [attr.aria-controls]="inputElementId"
4353
4305
  (focus)="onFileSelectButtonFocus($event)"
4354
4306
  (blur)="onFileSelectButtonBlur($event)"
4355
4307
  >
@@ -4358,6 +4310,7 @@ UploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
4358
4310
  <input
4359
4311
  #fileSelectInput
4360
4312
  kendoFileSelect
4313
+ [id]="inputElementId"
4361
4314
  [attr.accept]="accept ? accept : null"
4362
4315
  [attr.aria-hidden]="true"
4363
4316
  [dir]="direction"
@@ -4367,8 +4320,8 @@ UploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
4367
4320
  />
4368
4321
  </div>
4369
4322
  <kendo-upload-status-total *ngIf="showTotalStatus"
4370
- class="k-upload-status"
4371
- [fileList]="fileList">
4323
+ class="k-upload-status"
4324
+ [fileList]="fileList">
4372
4325
  </kendo-upload-status-total>
4373
4326
  <div class="k-dropzone-hint">{{textFor('dropFilesHere')}}</div>
4374
4327
  </div>
@@ -4380,11 +4333,11 @@ UploadComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", versio
4380
4333
  [fileInfoTemplate]="fileInfoTemplate">
4381
4334
  </ul>
4382
4335
  <kendo-upload-action-buttons
4383
- *ngIf="showActionButtons"
4384
- [disabled]="disabled"
4385
- [actionsLayout]="actionsLayout">
4336
+ *ngIf="showActionButtons"
4337
+ [disabled]="disabled"
4338
+ [actionsLayout]="actionsLayout">
4386
4339
  </kendo-upload-action-buttons>
4387
- `, isInline: true, components: [{ type: i7.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: UploadStatusTotalComponent, selector: "kendo-upload-status-total", inputs: ["fileList"] }, { type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }, { type: UploadActionButtonsComponent, selector: "kendo-upload-action-buttons", inputs: ["disabled", "actionsLayout"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4340
+ `, isInline: true, components: [{ type: i5.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: UploadStatusTotalComponent, selector: "kendo-upload-status-total", inputs: ["fileList"] }, { type: FileListComponent, selector: "[kendo-upload-file-list]", inputs: ["disabled", "fileList", "fileTemplate", "fileInfoTemplate"] }, { type: UploadActionButtonsComponent, selector: "kendo-upload-action-buttons", inputs: ["disabled", "actionsLayout"] }], directives: [{ type: LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { type: DropZoneInternalDirective, selector: "\n [kendoUploadInternalDropZone],\n [kendoFileSelectInternalDropZone]\n ", inputs: ["disabled", "multiple", "restrictions"] }, { type: FileSelectDirective, selector: "[kendoFileSelect]", inputs: ["dir", "disabled", "multiple", "restrictions"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
4388
4341
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadComponent, decorators: [{
4389
4342
  type: Component,
4390
4343
  args: [{
@@ -4407,71 +4360,71 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
4407
4360
  selector: 'kendo-upload',
4408
4361
  template: `
4409
4362
  <ng-container kendoUploadLocalizedMessages
4410
- i18n-cancel="kendo.upload.cancel|The text for the Cancel button"
4411
- cancel="Cancel"
4363
+ i18n-cancel="kendo.upload.cancel|The text for the Cancel button"
4364
+ cancel="Cancel"
4412
4365
 
4413
- i18n-clearSelectedFiles="kendo.upload.clearSelectedFiles|The text for the Clear button"
4414
- clearSelectedFiles="Clear"
4366
+ i18n-clearSelectedFiles="kendo.upload.clearSelectedFiles|The text for the Clear button"
4367
+ clearSelectedFiles="Clear"
4415
4368
 
4416
- i18n-dropFilesHere="kendo.upload.dropFilesHere|The drop zone hint"
4417
- dropFilesHere="Drop files here to upload"
4369
+ i18n-dropFilesHere="kendo.upload.dropFilesHere|The drop zone hint"
4370
+ dropFilesHere="Drop files here to upload"
4418
4371
 
4419
- i18n-filesBatchStatus="kendo.upload.filesBatchStatus|The status message for a batch of files"
4420
- filesBatchStatus="files"
4372
+ i18n-filesBatchStatus="kendo.upload.filesBatchStatus|The status message for a batch of files"
4373
+ filesBatchStatus="files"
4421
4374
 
4422
- i18n-filesBatchStatusFailed="kendo.upload.filesBatchStatusFailed|The status message for a batch of files after failed upload"
4423
- filesBatchStatusFailed="files failed to upload."
4375
+ i18n-filesBatchStatusFailed="kendo.upload.filesBatchStatusFailed|The status message for a batch of files after failed upload"
4376
+ filesBatchStatusFailed="files failed to upload."
4424
4377
 
4425
- i18n-filesBatchStatusUploaded="kendo.upload.filesBatchStatusUploaded|The status message for a batch of files after successful upload"
4426
- filesBatchStatusUploaded="files successfully uploaded."
4378
+ i18n-filesBatchStatusUploaded="kendo.upload.filesBatchStatusUploaded|The status message for a batch of files after successful upload"
4379
+ filesBatchStatusUploaded="files successfully uploaded."
4427
4380
 
4428
- i18n-fileStatusFailed="kendo.upload.fileStatusFailed|The file status message after failed upload"
4429
- fileStatusFailed="File failed to upload."
4381
+ i18n-fileStatusFailed="kendo.upload.fileStatusFailed|The file status message after failed upload"
4382
+ fileStatusFailed="File failed to upload."
4430
4383
 
4431
- i18n-fileStatusUploaded="kendo.upload.fileStatusUploaded|The file status message after successful upload"
4432
- fileStatusUploaded="File successfully uploaded."
4384
+ i18n-fileStatusUploaded="kendo.upload.fileStatusUploaded|The file status message after successful upload"
4385
+ fileStatusUploaded="File successfully uploaded."
4433
4386
 
4434
- i18n-headerStatusPaused="kendo.upload.headerStatusPaused|The header status message when the file upload is paused"
4435
- headerStatusPaused="Paused"
4387
+ i18n-headerStatusPaused="kendo.upload.headerStatusPaused|The header status message when the file upload is paused"
4388
+ headerStatusPaused="Paused"
4436
4389
 
4437
- i18n-headerStatusUploaded="kendo.upload.headerStatusUploaded|The header status message after file upload completion"
4438
- headerStatusUploaded="Done"
4390
+ i18n-headerStatusUploaded="kendo.upload.headerStatusUploaded|The header status message after file upload completion"
4391
+ headerStatusUploaded="Done"
4439
4392
 
4440
- i18n-headerStatusUploading="kendo.upload.headerStatusUploading|The header status message during file upload"
4441
- headerStatusUploading="Uploading..."
4393
+ i18n-headerStatusUploading="kendo.upload.headerStatusUploading|The header status message during file upload"
4394
+ headerStatusUploading="Uploading..."
4442
4395
 
4443
- i18n-invalidFileExtension="kendo.upload.invalidFileExtension|The text for the invalid allowed extensions restriction message"
4444
- invalidFileExtension="File type not allowed."
4396
+ i18n-invalidFileExtension="kendo.upload.invalidFileExtension|The text for the invalid allowed extensions restriction message"
4397
+ invalidFileExtension="File type not allowed."
4445
4398
 
4446
- i18n-invalidMaxFileSize="kendo.upload.invalidMaxFileSize|The text for the invalid max file size restriction message"
4447
- invalidMaxFileSize="File size too large."
4399
+ i18n-invalidMaxFileSize="kendo.upload.invalidMaxFileSize|The text for the invalid max file size restriction message"
4400
+ invalidMaxFileSize="File size too large."
4448
4401
 
4449
- i18n-invalidMinFileSize="kendo.upload.invalidMinFileSize|The text for the invalid min file size restriction message"
4450
- invalidMinFileSize="File size too small."
4402
+ i18n-invalidMinFileSize="kendo.upload.invalidMinFileSize|The text for the invalid min file size restriction message"
4403
+ invalidMinFileSize="File size too small."
4451
4404
 
4452
- i18n-pause="kendo.upload.pause|The text for the Pause button"
4453
- pause="Pause"
4405
+ i18n-pause="kendo.upload.pause|The text for the Pause button"
4406
+ pause="Pause"
4454
4407
 
4455
- i18n-remove="kendo.upload.remove|The text for the Remove button"
4456
- remove="Remove"
4408
+ i18n-remove="kendo.upload.remove|The text for the Remove button"
4409
+ remove="Remove"
4457
4410
 
4458
- i18n-resume="kendo.upload.resume|The text for the Resume button"
4459
- resume="Resume"
4411
+ i18n-resume="kendo.upload.resume|The text for the Resume button"
4412
+ resume="Resume"
4460
4413
 
4461
- i18n-retry="kendo.upload.retry|The text for the Retry button"
4462
- retry="Retry"
4414
+ i18n-retry="kendo.upload.retry|The text for the Retry button"
4415
+ retry="Retry"
4463
4416
 
4464
- i18n-select="kendo.upload.select|The text for the Select button"
4465
- select="Select files..."
4417
+ i18n-select="kendo.upload.select|The text for the Select button"
4418
+ select="Select files..."
4466
4419
 
4467
- i18n-uploadSelectedFiles="kendo.upload.uploadSelectedFiles|The text for the Upload files button"
4468
- uploadSelectedFiles="Upload"
4420
+ i18n-uploadSelectedFiles="kendo.upload.uploadSelectedFiles|The text for the Upload files button"
4421
+ uploadSelectedFiles="Upload"
4469
4422
  >
4470
4423
  </ng-container>
4471
4424
  <div kendoUploadInternalDropZone
4472
- [restrictions]="restrictions"
4473
- [multiple]="multiple"
4474
- [disabled]="disabled"
4425
+ [restrictions]="restrictions"
4426
+ [multiple]="multiple"
4427
+ [disabled]="disabled"
4475
4428
  >
4476
4429
  <div class="k-upload-button-wrap">
4477
4430
  <button
@@ -4481,7 +4434,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
4481
4434
  role="button"
4482
4435
  [id]="focusableId"
4483
4436
  [attr.aria-label]="textFor('select')"
4484
- [attr.tabindex]="selectButtonTabIndex"
4437
+ [attr.tabindex]="tabindex"
4438
+ [attr.aria-controls]="inputElementId"
4485
4439
  (focus)="onFileSelectButtonFocus($event)"
4486
4440
  (blur)="onFileSelectButtonBlur($event)"
4487
4441
  >
@@ -4490,6 +4444,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
4490
4444
  <input
4491
4445
  #fileSelectInput
4492
4446
  kendoFileSelect
4447
+ [id]="inputElementId"
4493
4448
  [attr.accept]="accept ? accept : null"
4494
4449
  [attr.aria-hidden]="true"
4495
4450
  [dir]="direction"
@@ -4499,8 +4454,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
4499
4454
  />
4500
4455
  </div>
4501
4456
  <kendo-upload-status-total *ngIf="showTotalStatus"
4502
- class="k-upload-status"
4503
- [fileList]="fileList">
4457
+ class="k-upload-status"
4458
+ [fileList]="fileList">
4504
4459
  </kendo-upload-status-total>
4505
4460
  <div class="k-dropzone-hint">{{textFor('dropFilesHere')}}</div>
4506
4461
  </div>
@@ -4512,11 +4467,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
4512
4467
  [fileInfoTemplate]="fileInfoTemplate">
4513
4468
  </ul>
4514
4469
  <kendo-upload-action-buttons
4515
- *ngIf="showActionButtons"
4516
- [disabled]="disabled"
4517
- [actionsLayout]="actionsLayout">
4470
+ *ngIf="showActionButtons"
4471
+ [disabled]="disabled"
4472
+ [actionsLayout]="actionsLayout">
4518
4473
  </kendo-upload-action-buttons>
4519
- `
4474
+ `
4520
4475
  }]
4521
4476
  }], ctorParameters: function () { return [{ type: UploadService }, { type: i1$1.LocalizationService }, { type: NavigationService }, { type: DropZoneService }, { type: i0.NgZone }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: i0.ElementRef }]; }, propDecorators: { autoUpload: [{
4522
4477
  type: Input
@@ -4569,10 +4524,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
4569
4524
  type: Input
4570
4525
  }], fileTemplate: [{
4571
4526
  type: ContentChild,
4572
- args: [FileTemplateDirective, { static: false }]
4527
+ args: [FileTemplateDirective]
4573
4528
  }], fileInfoTemplate: [{
4574
4529
  type: ContentChild,
4575
- args: [FileInfoTemplateDirective, { static: false }]
4530
+ args: [FileInfoTemplateDirective]
4576
4531
  }], fileSelectInput: [{
4577
4532
  type: ViewChild,
4578
4533
  args: ['fileSelectInput', { static: true }]
@@ -4830,8 +4785,7 @@ const SHARED_DECLARATIONS = [
4830
4785
  FileListMultipleItemsComponent,
4831
4786
  FileListSingleItemComponent,
4832
4787
  FileSelectDirective,
4833
- LocalizedMessagesDirective,
4834
- TemplateContextDirective
4788
+ LocalizedMessagesDirective
4835
4789
  ];
4836
4790
  /**
4837
4791
  * @hidden
@@ -4860,8 +4814,7 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
4860
4814
  FileListMultipleItemsComponent,
4861
4815
  FileListSingleItemComponent,
4862
4816
  FileSelectDirective,
4863
- LocalizedMessagesDirective,
4864
- TemplateContextDirective], imports: [CommonModule, ButtonsModule, ProgressBarModule, IconsModule], exports: [FileTemplateDirective,
4817
+ LocalizedMessagesDirective], imports: [CommonModule, ButtonsModule, ProgressBarModule, IconsModule], exports: [FileTemplateDirective,
4865
4818
  FileInfoTemplateDirective,
4866
4819
  CustomMessagesComponent,
4867
4820
  UploadDropZoneDirective,
@@ -4872,8 +4825,7 @@ SharedModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "
4872
4825
  FileListMultipleItemsComponent,
4873
4826
  FileListSingleItemComponent,
4874
4827
  FileSelectDirective,
4875
- LocalizedMessagesDirective,
4876
- TemplateContextDirective, CommonModule,
4828
+ LocalizedMessagesDirective, CommonModule,
4877
4829
  ButtonsModule] });
4878
4830
  SharedModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: SharedModule, imports: [[CommonModule, ButtonsModule, ProgressBarModule, IconsModule], CommonModule,
4879
4831
  ButtonsModule] });
@@ -4992,5 +4944,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
4992
4944
  * Generated bundle index. Do not edit.
4993
4945
  */
4994
4946
 
4995
- export { CancelEvent, ClearEvent, CustomMessagesComponent, ErrorEvent, FileInfoTemplateDirective, FileListComponent, FileListItemActionButtonComponent, FileListItemBase, FileListMultipleItemsComponent, FileListSingleItemComponent, FileMap, FileSelectComponent, FileSelectDirective, FileSelectModule, FileState, FileTemplateDirective, NavigationService, PauseEvent, RemoveEvent, ResumeEvent, SelectEvent, SuccessEvent, TemplateContextDirective, UploadActionButtonsComponent, UploadComponent, UploadDropZoneComponent, UploadDropZoneDirective, UploadEvent, UploadModule, UploadProgressEvent, UploadService, UploadStatusTotalComponent, UploadsModule, validateFiles };
4947
+ export { CancelEvent, ClearEvent, CustomMessagesComponent, ErrorEvent, FileInfoTemplateDirective, FileListComponent, FileListItemActionButtonComponent, FileListItemBase, FileListMultipleItemsComponent, FileListSingleItemComponent, FileMap, FileSelectComponent, FileSelectDirective, FileSelectModule, FileState, FileTemplateDirective, NavigationService, PauseEvent, RemoveEvent, ResumeEvent, SelectEvent, SuccessEvent, UploadActionButtonsComponent, UploadComponent, UploadDropZoneComponent, UploadDropZoneDirective, UploadEvent, UploadModule, UploadProgressEvent, UploadService, UploadStatusTotalComponent, UploadsModule, validateFiles };
4996
4948