@progress/kendo-angular-upload 11.0.0-develop.96 → 11.0.0-develop.97

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.
@@ -5,6 +5,7 @@
5
5
  import { ElementRef, Renderer2 } from '@angular/core';
6
6
  import { LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { DropZoneBase } from './dropzone-base';
8
+ import { SVGIcon } from '@progress/kendo-svg-icons';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
10
11
  * Represents the [Kendo UI UploadDropZone component for Angular]({% slug overview_upload %}).
@@ -20,7 +21,7 @@ export declare class UploadDropZoneComponent extends DropZoneBase {
20
21
  zoneId: string;
21
22
  /**
22
23
  * Defines the name for an existing icon in a Kendo UI theme.
23
- * The icon is rendered inside the DropZone by a `span.k-icon` element.
24
+ * The icon is rendered inside the DropZone.
24
25
  */
25
26
  icon: string;
26
27
  /**
@@ -29,8 +30,15 @@ export declare class UploadDropZoneComponent extends DropZoneBase {
29
30
  * Allows the usage of custom icons.
30
31
  */
31
32
  iconClass: string;
33
+ /**
34
+ * Defines an SVGIcon to be rendered inside the DropZone.
35
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
36
+ */
37
+ set svgIcon(icon: SVGIcon);
38
+ get svgIcon(): SVGIcon;
32
39
  private direction;
33
40
  private localizationChangeSubscription;
41
+ private _svgIcon;
34
42
  constructor(element: ElementRef, renderer: Renderer2, localization: LocalizationService);
35
43
  /**
36
44
  * @hidden
@@ -42,5 +50,5 @@ export declare class UploadDropZoneComponent extends DropZoneBase {
42
50
  get iconClasses(): string;
43
51
  ngOnDestroy(): void;
44
52
  static ɵfac: i0.ɵɵFactoryDeclaration<UploadDropZoneComponent, never>;
45
- static ɵcmp: i0.ɵɵComponentDeclaration<UploadDropZoneComponent, "kendo-uploaddropzone", ["kendoUploadDropZone"], { "zoneId": "zoneId"; "icon": "icon"; "iconClass": "iconClass"; }, {}, never, ["*"]>;
53
+ static ɵcmp: i0.ɵɵComponentDeclaration<UploadDropZoneComponent, "kendo-uploaddropzone", ["kendoUploadDropZone"], { "zoneId": "zoneId"; "icon": "icon"; "iconClass": "iconClass"; "svgIcon": "svgIcon"; }, {}, never, ["*"]>;
46
54
  }
@@ -212,9 +212,12 @@ export const isFocusable = (element, checkVisibility = true) => {
212
212
  * @hidden
213
213
  */
214
214
  export const getFileGroupCssClass = (fileExtension) => {
215
- const initial = 'k-i-file';
215
+ const initial = 'file';
216
216
  for (const group in fileGroupMap) {
217
217
  if (fileGroupMap[group].indexOf(fileExtension) >= 0) {
218
+ if (group === 'discImage') {
219
+ return `${initial}-disc-image`;
220
+ }
218
221
  return `${initial}-${group}`;
219
222
  }
220
223
  }
@@ -2,14 +2,15 @@
2
2
  * Copyright © 2023 Progress Software Corporation. All rights reserved.
3
3
  * Licensed under commercial license. See LICENSE.md in the project root for more information
4
4
  *-------------------------------------------------------------------------------------------*/
5
- import { Component, ElementRef, HostBinding, Input, Renderer2 } from '@angular/core';
5
+ import { Component, ElementRef, HostBinding, Input, isDevMode, Renderer2 } from '@angular/core';
6
6
  import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
7
7
  import { DropZoneBase } from './dropzone-base';
8
+ import { uploadIcon } from '@progress/kendo-svg-icons';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "@progress/kendo-angular-l10n";
10
- import * as i2 from "./localization/localized-messages.directive";
11
- import * as i3 from "./dropzone-external.directive";
12
- import * as i4 from "@angular/common";
11
+ import * as i2 from "@progress/kendo-angular-icons";
12
+ import * as i3 from "./localization/localized-messages.directive";
13
+ import * as i4 from "./dropzone-external.directive";
13
14
  /**
14
15
  * Represents the [Kendo UI UploadDropZone component for Angular]({% slug overview_upload %}).
15
16
  */
@@ -18,6 +19,7 @@ export class UploadDropZoneComponent extends DropZoneBase {
18
19
  super(element, renderer, 'k-external-dropzone-hover');
19
20
  this.localization = localization;
20
21
  this.hostClass = true;
22
+ this._svgIcon = uploadIcon;
21
23
  this.localizationChangeSubscription = this.localization.changes.subscribe(({ rtl }) => {
22
24
  this.direction = rtl ? 'rtl' : 'ltr';
23
25
  });
@@ -25,6 +27,19 @@ export class UploadDropZoneComponent extends DropZoneBase {
25
27
  get dirAttribute() {
26
28
  return this.direction;
27
29
  }
30
+ /**
31
+ * Defines an SVGIcon to be rendered inside the DropZone.
32
+ * The input can take either an [existing Kendo SVG icon](slug:svgicon_list) or a custom one.
33
+ */
34
+ set svgIcon(icon) {
35
+ if (isDevMode() && icon && this.icon && this.iconClass) {
36
+ throw new Error('Setting both icon/svgIcon and iconClass options at the same time is not supported.');
37
+ }
38
+ this._svgIcon = icon;
39
+ }
40
+ get svgIcon() {
41
+ return this._svgIcon;
42
+ }
28
43
  /**
29
44
  * @hidden
30
45
  */
@@ -36,12 +51,11 @@ export class UploadDropZoneComponent extends DropZoneBase {
36
51
  */
37
52
  get iconClasses() {
38
53
  if (this.icon) {
39
- return `k-icon k-i-${this.icon}`;
54
+ return `${this.icon}`;
40
55
  }
41
- if (this.iconClass) {
42
- return `${this.iconClass}`;
56
+ if (!this.icon && !this.iconClass) {
57
+ return 'upload';
43
58
  }
44
- return 'k-icon k-i-upload';
45
59
  }
46
60
  ngOnDestroy() {
47
61
  if (this.localizationChangeSubscription) {
@@ -50,26 +64,29 @@ export class UploadDropZoneComponent extends DropZoneBase {
50
64
  }
51
65
  }
52
66
  UploadDropZoneComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadDropZoneComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
53
- UploadDropZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UploadDropZoneComponent, selector: "kendo-uploaddropzone", inputs: { zoneId: "zoneId", icon: "icon", iconClass: "iconClass" }, host: { properties: { "class.k-external-dropzone": "this.hostClass", "attr.dir": "this.dirAttribute" } }, providers: [
67
+ UploadDropZoneComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: UploadDropZoneComponent, 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: [
54
68
  LocalizationService,
55
69
  {
56
70
  provide: L10N_PREFIX,
57
71
  useValue: 'kendo.uploaddropzone'
58
72
  }
59
73
  ], exportAs: ["kendoUploadDropZone"], usesInheritance: true, ngImport: i0, template: `
60
- <ng-container kendoUploadDropZoneLocalizedMessages
61
- i18n-externalDropFilesHere='kendo.uploaddropzone.externalDropFilesHere|Sets the external drop-zone hint'
62
- externalDropFilesHere='Drag and drop files here to upload'
63
- >
64
- </ng-container>
65
- <div class='k-dropzone-inner' [kendoUploadDropZone]="zoneId">
66
- <span [ngClass]="iconClasses"></span>
67
- <span class="k-dropzone-hint">{{ textFor('externalDropFilesHere') }}</span>
68
- <span class="k-dropzone-note">
69
- <ng-content></ng-content>
70
- </span>
71
- </div>
72
- `, isInline: true, directives: [{ type: i2.LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { type: i3.UploadDropZoneDirective, selector: "[kendoUploadDropZone], [kendoFileSelectDropZone]", inputs: ["kendoUploadDropZone"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
74
+ <ng-container kendoUploadDropZoneLocalizedMessages
75
+ i18n-externalDropFilesHere='kendo.uploaddropzone.externalDropFilesHere|Sets the external drop-zone hint'
76
+ externalDropFilesHere='Drag and drop files here to upload'>
77
+ </ng-container>
78
+ <div class='k-dropzone-inner' [kendoUploadDropZone]="zoneId">
79
+ <kendo-icon-wrapper
80
+ [name]="iconClasses"
81
+ [customFontClass]="iconClass"
82
+ [svgIcon]="svgIcon"
83
+ ></kendo-icon-wrapper>
84
+ <span class="k-dropzone-hint">{{ textFor('externalDropFilesHere') }}</span>
85
+ <span class="k-dropzone-note">
86
+ <ng-content></ng-content>
87
+ </span>
88
+ </div>
89
+ `, isInline: true, components: [{ type: i2.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i3.LocalizedMessagesDirective, selector: "\n [kendoUploadLocalizedMessages],\n [kendoFileSelectLocalizedMessages],\n [kendoUploadDropZoneLocalizedMessages]\n " }, { type: i4.UploadDropZoneDirective, selector: "[kendoUploadDropZone], [kendoFileSelectDropZone]", inputs: ["kendoUploadDropZone"] }] });
73
90
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: UploadDropZoneComponent, decorators: [{
74
91
  type: Component,
75
92
  args: [{
@@ -83,19 +100,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
83
100
  ],
84
101
  selector: 'kendo-uploaddropzone',
85
102
  template: `
86
- <ng-container kendoUploadDropZoneLocalizedMessages
87
- i18n-externalDropFilesHere='kendo.uploaddropzone.externalDropFilesHere|Sets the external drop-zone hint'
88
- externalDropFilesHere='Drag and drop files here to upload'
89
- >
90
- </ng-container>
91
- <div class='k-dropzone-inner' [kendoUploadDropZone]="zoneId">
92
- <span [ngClass]="iconClasses"></span>
93
- <span class="k-dropzone-hint">{{ textFor('externalDropFilesHere') }}</span>
94
- <span class="k-dropzone-note">
95
- <ng-content></ng-content>
96
- </span>
97
- </div>
98
- `
103
+ <ng-container kendoUploadDropZoneLocalizedMessages
104
+ i18n-externalDropFilesHere='kendo.uploaddropzone.externalDropFilesHere|Sets the external drop-zone hint'
105
+ externalDropFilesHere='Drag and drop files here to upload'>
106
+ </ng-container>
107
+ <div class='k-dropzone-inner' [kendoUploadDropZone]="zoneId">
108
+ <kendo-icon-wrapper
109
+ [name]="iconClasses"
110
+ [customFontClass]="iconClass"
111
+ [svgIcon]="svgIcon"
112
+ ></kendo-icon-wrapper>
113
+ <span class="k-dropzone-hint">{{ textFor('externalDropFilesHere') }}</span>
114
+ <span class="k-dropzone-note">
115
+ <ng-content></ng-content>
116
+ </span>
117
+ </div>
118
+ `
99
119
  }]
100
120
  }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.LocalizationService }]; }, propDecorators: { hostClass: [{
101
121
  type: HostBinding,
@@ -109,4 +129,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
109
129
  type: Input
110
130
  }], iconClass: [{
111
131
  type: Input
132
+ }], svgIcon: [{
133
+ type: Input
112
134
  }] } });
@@ -4,6 +4,7 @@
4
4
  *-------------------------------------------------------------------------------------------*/
5
5
  import { NgModule } from '@angular/core';
6
6
  import { FileSelectComponent } from './fileselect.component';
7
+ import { IconsModule } from '@progress/kendo-angular-icons';
7
8
  import { SharedModule, PUBLIC_DIRECTIVES } from './shared.module';
8
9
  import * as i0 from "@angular/core";
9
10
  import * as i1 from "./templates/file-template.directive";
@@ -20,8 +21,8 @@ const FILESELECT_DECLARATIONS = [
20
21
  export class FileSelectModule {
21
22
  }
22
23
  FileSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
- FileSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileSelectModule, declarations: [FileSelectComponent], imports: [SharedModule], exports: [i1.FileTemplateDirective, i2.FileInfoTemplateDirective, i3.CustomMessagesComponent, i4.UploadDropZoneDirective, i5.UploadDropZoneComponent, FileSelectComponent] });
24
- FileSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileSelectModule, imports: [[SharedModule]] });
24
+ FileSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileSelectModule, declarations: [FileSelectComponent], imports: [SharedModule, IconsModule], exports: [i1.FileTemplateDirective, i2.FileInfoTemplateDirective, i3.CustomMessagesComponent, i4.UploadDropZoneDirective, i5.UploadDropZoneComponent, FileSelectComponent] });
25
+ FileSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileSelectModule, imports: [[SharedModule, IconsModule]] });
25
26
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileSelectModule, decorators: [{
26
27
  type: NgModule,
27
28
  args: [{
@@ -30,6 +31,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
30
31
  PUBLIC_DIRECTIVES,
31
32
  FILESELECT_DECLARATIONS
32
33
  ],
33
- imports: [SharedModule]
34
+ imports: [SharedModule, IconsModule]
34
35
  }]
35
36
  }] });
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-upload',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1673446147,
12
+ publishDate: 1673459179,
13
13
  version: '',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -7,11 +7,13 @@ import { FileState } from '../types';
7
7
  import { UploadService } from '../upload.service';
8
8
  import { LocalizationService } from '@progress/kendo-angular-l10n';
9
9
  import { NavigationService } from './../navigation.service';
10
+ import { arrowRotateCwSmallIcon, cancelIcon, pauseSmIcon, playSmIcon, xIcon } from '@progress/kendo-svg-icons';
10
11
  import * as i0 from "@angular/core";
11
12
  import * as i1 from "../upload.service";
12
13
  import * as i2 from "@progress/kendo-angular-l10n";
13
14
  import * as i3 from "./../navigation.service";
14
- import * as i4 from "@angular/common";
15
+ import * as i4 from "@progress/kendo-angular-icons";
16
+ import * as i5 from "@angular/common";
15
17
  /**
16
18
  * @hidden
17
19
  */
@@ -23,6 +25,11 @@ export class FileListItemActionButtonComponent {
23
25
  this.actionFocused = false;
24
26
  this.retryFocused = false;
25
27
  this.pauseResumeFocused = false;
28
+ this.retrySVGIcon = arrowRotateCwSmallIcon;
29
+ this.playSVGIcon = playSmIcon;
30
+ this.pauseSVGIcon = pauseSmIcon;
31
+ this.cancelSVGIcon = cancelIcon;
32
+ this.deleteSVGIcon = xIcon;
26
33
  }
27
34
  onFocus(type) {
28
35
  if (type === 'action') {
@@ -118,106 +125,132 @@ export class FileListItemActionButtonComponent {
118
125
  }
119
126
  FileListItemActionButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileListItemActionButtonComponent, deps: [{ token: i1.UploadService }, { token: i2.LocalizationService }, { token: i3.NavigationService }], target: i0.ɵɵFactoryTarget.Component });
120
127
  FileListItemActionButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.11", type: FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: { file: "file", disabled: "disabled", progress: "progress" }, ngImport: i0, template: `
121
- <span class="k-upload-actions">
128
+ <span class="k-upload-actions">
122
129
  <span class="k-upload-pct" *ngIf="isUploading || isPaused">{{progress}}%</span>
123
130
 
124
- <button type="button" *ngIf="isFailed" class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
125
- [ngClass]="{ 'k-focus': this.retryFocused }"
126
- [attr.tabIndex]="-1"
127
- (focus)="onFocus('retry')"
128
- (blur)="onBlur('retry')"
129
- (click)="onRetryClick()">
130
- <span class="k-icon k-button-icon k-retry k-i-refresh-sm"
131
- [attr.aria-label]="retryButtonTitle"
132
- [attr.title]="retryButtonTitle">
133
- </span>
131
+ <button
132
+ *ngIf="isFailed"
133
+ type="button"
134
+ class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
135
+ [ngClass]="{ 'k-focus': this.retryFocused }"
136
+ [attr.tabIndex]="-1"
137
+
138
+ (focus)="onFocus('retry')"
139
+ (blur)="onBlur('retry')"
140
+ (click)="onRetryClick()"
141
+ >
142
+ <kendo-icon-wrapper
143
+ name="refresh-sm"
144
+ [svgIcon]="retrySVGIcon"
145
+ innerCssClass="k-retry"
146
+ [attr.aria-label]="retryButtonTitle"
147
+ [attr.title]="retryButtonTitle"
148
+ ></kendo-icon-wrapper>
134
149
  </button>
135
150
 
136
- <button *ngIf="isResumable" type="button" class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
137
- [ngClass]="{ 'k-focus': this.pauseResumeFocused }"
138
- [attr.tabIndex]="-1"
139
- (focus)="onFocus('pauseResume')"
140
- (blur)="onBlur('pauseResume')"
141
- (click)="onPauseResumeClick()">
142
- <span class="k-icon k-button-icon"
143
- [ngClass]="{
144
- 'k-i-play-sm': isPaused,
145
- 'k-i-pause-sm': !isPaused
146
- }"
147
- [attr.aria-label]='pauseResumeButtonTitle'
148
- [attr.title]='pauseResumeButtonTitle'>
149
- </span>
151
+ <button
152
+ *ngIf="isResumable"
153
+ type="button"
154
+ class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
155
+ [ngClass]="{ 'k-focus': this.pauseResumeFocused }"
156
+ [attr.tabIndex]="-1"
157
+ (focus)="onFocus('pauseResume')"
158
+ (blur)="onBlur('pauseResume')"
159
+ (click)="onPauseResumeClick()"
160
+ >
161
+ <kendo-icon-wrapper
162
+ [name]="isPaused ? 'play-sm' : 'pause-sm'"
163
+ [svgIcon]="isPaused ? playSVGIcon : pauseSVGIcon"
164
+ [attr.aria-label]='pauseResumeButtonTitle'
165
+ [attr.title]='pauseResumeButtonTitle'
166
+ ></kendo-icon-wrapper>
150
167
  </button>
151
168
 
152
- <button type="button" *ngIf="isActionButtonVisible" class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
153
- [ngClass]="{ 'k-focus': this.actionFocused }"
154
- [attr.tabIndex]="-1"
155
- (focus)="onFocus('action')"
156
- (blur)="onBlur('action')"
157
- (click)="onRemoveCancelClick($event)">
158
- <span class="k-icon k-button-icon"
159
- [ngClass]="{
160
- 'k-i-cancel': isUploading,
161
- 'k-delete k-i-x': !isUploading
162
- }"
163
- [attr.aria-label]='actionButtonTitle'
164
- [attr.title]='actionButtonTitle'>
165
- </span>
169
+ <button
170
+ *ngIf="isActionButtonVisible"
171
+ class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
172
+ type="button"
173
+ [attr.tabIndex]="-1"
174
+ (focus)="onFocus('action')"
175
+ (blur)="onBlur('action')"
176
+ [ngClass]="{ 'k-focus': this.actionFocused }"
177
+ (click)="onRemoveCancelClick($event)"
178
+ >
179
+ <kendo-icon-wrapper
180
+ [name]="isUploading ? 'cancel' : 'x'"
181
+ [svgIcon]="isUploading ? cancelSVGIcon : deleteSVGIcon"
182
+ [innerCssClass]="!isUploading ? 'k-delete' : ''"
183
+ [attr.aria-label]='actionButtonTitle'
184
+ [attr.title]='actionButtonTitle'
185
+ ></kendo-icon-wrapper>
166
186
  </button>
167
- </span>
168
- `, isInline: true, directives: [{ type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
187
+ </span>
188
+ `, isInline: true, components: [{ type: i4.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
169
189
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImport: i0, type: FileListItemActionButtonComponent, decorators: [{
170
190
  type: Component,
171
191
  args: [{
172
192
  selector: 'kendo-upload-file-list-item-action-button',
173
193
  template: `
174
- <span class="k-upload-actions">
194
+ <span class="k-upload-actions">
175
195
  <span class="k-upload-pct" *ngIf="isUploading || isPaused">{{progress}}%</span>
176
196
 
177
- <button type="button" *ngIf="isFailed" class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
178
- [ngClass]="{ 'k-focus': this.retryFocused }"
179
- [attr.tabIndex]="-1"
180
- (focus)="onFocus('retry')"
181
- (blur)="onBlur('retry')"
182
- (click)="onRetryClick()">
183
- <span class="k-icon k-button-icon k-retry k-i-refresh-sm"
184
- [attr.aria-label]="retryButtonTitle"
185
- [attr.title]="retryButtonTitle">
186
- </span>
197
+ <button
198
+ *ngIf="isFailed"
199
+ type="button"
200
+ class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
201
+ [ngClass]="{ 'k-focus': this.retryFocused }"
202
+ [attr.tabIndex]="-1"
203
+
204
+ (focus)="onFocus('retry')"
205
+ (blur)="onBlur('retry')"
206
+ (click)="onRetryClick()"
207
+ >
208
+ <kendo-icon-wrapper
209
+ name="refresh-sm"
210
+ [svgIcon]="retrySVGIcon"
211
+ innerCssClass="k-retry"
212
+ [attr.aria-label]="retryButtonTitle"
213
+ [attr.title]="retryButtonTitle"
214
+ ></kendo-icon-wrapper>
187
215
  </button>
188
216
 
189
- <button *ngIf="isResumable" type="button" class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
190
- [ngClass]="{ 'k-focus': this.pauseResumeFocused }"
191
- [attr.tabIndex]="-1"
192
- (focus)="onFocus('pauseResume')"
193
- (blur)="onBlur('pauseResume')"
194
- (click)="onPauseResumeClick()">
195
- <span class="k-icon k-button-icon"
196
- [ngClass]="{
197
- 'k-i-play-sm': isPaused,
198
- 'k-i-pause-sm': !isPaused
199
- }"
200
- [attr.aria-label]='pauseResumeButtonTitle'
201
- [attr.title]='pauseResumeButtonTitle'>
202
- </span>
217
+ <button
218
+ *ngIf="isResumable"
219
+ type="button"
220
+ class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
221
+ [ngClass]="{ 'k-focus': this.pauseResumeFocused }"
222
+ [attr.tabIndex]="-1"
223
+ (focus)="onFocus('pauseResume')"
224
+ (blur)="onBlur('pauseResume')"
225
+ (click)="onPauseResumeClick()"
226
+ >
227
+ <kendo-icon-wrapper
228
+ [name]="isPaused ? 'play-sm' : 'pause-sm'"
229
+ [svgIcon]="isPaused ? playSVGIcon : pauseSVGIcon"
230
+ [attr.aria-label]='pauseResumeButtonTitle'
231
+ [attr.title]='pauseResumeButtonTitle'
232
+ ></kendo-icon-wrapper>
203
233
  </button>
204
234
 
205
- <button type="button" *ngIf="isActionButtonVisible" class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
206
- [ngClass]="{ 'k-focus': this.actionFocused }"
207
- [attr.tabIndex]="-1"
208
- (focus)="onFocus('action')"
209
- (blur)="onBlur('action')"
210
- (click)="onRemoveCancelClick($event)">
211
- <span class="k-icon k-button-icon"
212
- [ngClass]="{
213
- 'k-i-cancel': isUploading,
214
- 'k-delete k-i-x': !isUploading
215
- }"
216
- [attr.aria-label]='actionButtonTitle'
217
- [attr.title]='actionButtonTitle'>
218
- </span>
235
+ <button
236
+ *ngIf="isActionButtonVisible"
237
+ class="k-button k-icon-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-upload-action"
238
+ type="button"
239
+ [attr.tabIndex]="-1"
240
+ (focus)="onFocus('action')"
241
+ (blur)="onBlur('action')"
242
+ [ngClass]="{ 'k-focus': this.actionFocused }"
243
+ (click)="onRemoveCancelClick($event)"
244
+ >
245
+ <kendo-icon-wrapper
246
+ [name]="isUploading ? 'cancel' : 'x'"
247
+ [svgIcon]="isUploading ? cancelSVGIcon : deleteSVGIcon"
248
+ [innerCssClass]="!isUploading ? 'k-delete' : ''"
249
+ [attr.aria-label]='actionButtonTitle'
250
+ [attr.title]='actionButtonTitle'
251
+ ></kendo-icon-wrapper>
219
252
  </button>
220
- </span>
253
+ </span>
221
254
  `
222
255
  }]
223
256
  }], ctorParameters: function () { return [{ type: i1.UploadService }, { type: i2.LocalizationService }, { type: i3.NavigationService }]; }, propDecorators: { file: [{
@@ -10,14 +10,16 @@ import { UploadService } from '../upload.service';
10
10
  import { isPresent } from '../common/util';
11
11
  import { FileInfoTemplateDirective } from '../templates/file-info-template.directive';
12
12
  import { animate, state, style, transition, trigger } from '@angular/animations';
13
+ import { copyIcon } from '@progress/kendo-svg-icons';
13
14
  import * as i0 from "@angular/core";
14
15
  import * as i1 from "@progress/kendo-angular-l10n";
15
16
  import * as i2 from "../upload.service";
16
17
  import * as i3 from "@progress/kendo-angular-progressbar";
17
- import * as i4 from "./file-list-item-action-button.component";
18
- import * as i5 from "@angular/common";
19
- import * as i6 from "@progress/kendo-angular-buttons";
20
- import * as i7 from "../templates/template-context.directive";
18
+ import * as i4 from "@progress/kendo-angular-icons";
19
+ import * as i5 from "./file-list-item-action-button.component";
20
+ import * as i6 from "@angular/common";
21
+ import * as i7 from "@progress/kendo-angular-buttons";
22
+ import * as i8 from "../templates/template-context.directive";
21
23
  /**
22
24
  * @hidden
23
25
  */
@@ -25,6 +27,7 @@ export class FileListMultipleItemsComponent extends FileListItemBase {
25
27
  constructor(localization, uploadService) {
26
28
  super(uploadService);
27
29
  this.localization = localization;
30
+ this.copySVGIcon = copyIcon;
28
31
  this.subscribeUploadProgress((args) => {
29
32
  if (args.files[0].uid === this.files[0].uid) {
30
33
  this.progressComplete = args.percentComplete;
@@ -72,7 +75,12 @@ FileListMultipleItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
72
75
  >
73
76
  </kendo-progressbar>
74
77
  <span class="k-file-icon-wrapper">
75
- <span class="k-file-icon k-icon k-i-copy"></span>
78
+ <kendo-icon-wrapper
79
+ name="copy"
80
+ [svgIcon]="copySVGIcon"
81
+ innerCssClass="k-file-icon"
82
+ >
83
+ </kendo-icon-wrapper>
76
84
  </span>
77
85
  <span class="k-multiple-files-wrapper">
78
86
  <ng-container *ngIf="!fileInfoTemplate">
@@ -102,7 +110,7 @@ FileListMultipleItemsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
102
110
  [disabled]='disabled'
103
111
  [progress]='progressComplete'>
104
112
  </kendo-upload-file-list-item-action-button>
105
- `, isInline: true, components: [{ type: i3.ProgressBarComponent, selector: "kendo-progressbar", inputs: ["label", "progressCssStyle", "progressCssClass", "emptyCssStyle", "emptyCssClass", "animation"], outputs: ["animationEnd"], exportAs: ["kendoProgressBar"] }, { type: i4.FileListItemActionButtonComponent, selector: "kendo-upload-file-list-item-action-button", inputs: ["file", "disabled", "progress"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i6.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }, { type: i7.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }], animations: [
113
+ `, 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: i5.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: i8.TemplateContextDirective, selector: "[templateContext]", inputs: ["templateContext"] }], animations: [
106
114
  trigger('progressState', [
107
115
  state('active', style({ opacity: 1 })),
108
116
  state('inactive', style({ opacity: 0 })),
@@ -132,7 +140,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.11", ngImpo
132
140
  >
133
141
  </kendo-progressbar>
134
142
  <span class="k-file-icon-wrapper">
135
- <span class="k-file-icon k-icon k-i-copy"></span>
143
+ <kendo-icon-wrapper
144
+ name="copy"
145
+ [svgIcon]="copySVGIcon"
146
+ innerCssClass="k-file-icon"
147
+ >
148
+ </kendo-icon-wrapper>
136
149
  </span>
137
150
  <span class="k-multiple-files-wrapper">
138
151
  <ng-container *ngIf="!fileInfoTemplate">